一.插入语句
方式一:
语法:insert into 表名(列名,…) values(值1,…)
示例1:插入的值的类型要与列的类型一致或兼容
INSERT INTO beauty (
id,
NAME,
sex,
borndate,
phone,
photo,
boyfriend_id
)
VALUES
(
13,
'唐艺昕',
'女',
'1990-4-23',
'18934531234',
NULL,
2
);
案例二:可以省略列名,默认所有列,而且列的顺序和表中列的顺序一致
INSERT INTO beauty
VALUES(18, '李易峰', '男', NULL, '19', NULL, NULL);
方式二:
语法:insert into 表名 set 列名=值,列名=值
INSERT INTO beauty SET id = 19,
NAME = '刘涛',
phone = '999' ;
方式1支持插入多行,但是方式2不支持
INSERT INTO beauty
VALUES
(20, '李易峰', '男', NULL, '19', NULL, NULL),
(21, '李易峰', '男', NULL, '19', NULL, NULL),
(22, '李易峰', '男', NULL, '19', NULL, NULL);
方式1支持子查询,方式2不支持
INSERT INTO beauty(id, NAME, phone)
SELECT 26, '送钱', '12341234';
二.修改语句
语法:
- 修改单表:
update 表名
set 列=新值,列=新值…
* 修改多表:
```SQL
sql92语法:
update 表1 别名,表2 别名
set 列=值…
where 筛选条件
and 筛选条件;
sql99语法:
update 表1 别名
inner | left | right join 表2 别名
on 连接条件
set 列=值,…
where 筛选条件;
案例1:修改boys表中id号位2的名称为张飞,魅力值为10
UPDATE
boys
SET
boyname = '张飞',
usercp = 10
WHERE id = 2 ;
案例二:(多表查询)
UPDATE
boys b
INNER JOIN beauty be
ON b.`id` = be.`boyfriend_id` SET be.`phone` = '114'
WHERE b.`boyName` = '张无忌' ;
三.删除语句
方式一(delete):
语法:
- 单表的删除
delete from 表名 where 筛选条件
- 多表的删除
sql92语法
delete 别名(要删哪个表就写哪个表的别名,都删就都写)
from 表1 别名,表2 别名
where 连接条件
and 筛选条件
limit 条目数;
```SQL
sql99语法
delete 别名(要删哪个表就写哪个表的别名,都删就都写)
from 表1 别名
inner | left | right join 表2 别名 on 连接条件
where 筛选条件
limit 条目数;
案例1:删除手机号以9结尾的女神信息
DELETE
FROM
beauty
WHERE phone LIKE '%9' ;
案例2:删除黄晓明的信息以及他女朋友的信息
DELETE
b,
be
FROM
beauty be
INNER JOIN boys b
ON b.`id` = be.`boyfriend_id`
WHERE b.`boyName` = '黄晓明' ;
方式2(truncate):
语法:
truncate table 表名;
注1:truncate语句中不许加where
注2:一删全删
案例:
TRUNCATE TABLE boyes ;
delete和truncate的区别
delete可以加where条件,truncate不可以
truncate删除效率高一些
假如要删除的表中有自增长列,如果用delete删除后,再插入数据,自增长列的
值从断点开始,而truncate删除后,再插入数据,自增长列的值从1开始。truncate删除没有返回值,delete删除有返回值
truncate删除不能回滚,delete删除可以回滚