1 插入语句
语法:
insert into 表名(列名, ...)
values (值1, ...)
- 1 插入的值的类型要与列的类型一致或兼容;
INSERT INTO beauty(id, `name`, sex, borndate, phone, photo, boyfriend_id)
VALUES (13, 'abc', '女', '1990-04-23', '18659844325', null, null);
- 2 可为 null 的列,在插入时可以为 null,也可以不设值默认为 null;
- 3 列的顺序可以进行调换;
- 4 列数和值的个数必须一致;
- 5 可以省略列名,默认此时为所有列,列的顺序和表中的顺序一致;
- 6 支持子查询;
INSERT INTO beauty(id, name, phone)
SELECT id, boyname
FROM boys WHERE id<3
2 修改语句
2.1 修改单表的记录;
update 表名
set 列=新值, 列=新值, ...
where 筛选条件;
UPDATE beauty
SET phone='12544566238'
WHERE `name` LIKE '小%';
2.2 修改多表(级联修改);
// sql92 语法
update 表1 别名, 表2 别名
set 列=值
where 连接条件
and 筛选条件;
// sql99 语法
update 表1 别名
inner|left|right join 表2 别名
on 连接条件
set 列=值, ...
where 筛选条件
UPDATE boys
LEFT JOIN beauty
ON boys.id=beauty.boyfriend_id
SET beauty.phone='114'
WHERE boys.boyName='张无忌'
3 删除语句
3.1 单表删除
delete from 表名 where 筛选条件
DELETE FROM beauty WHERE beauty.phone LIKE '%5'
3.2 多表删除
3.2.1 sql92 语法
// 如仅删除表1的数据,则为 delete 表1的别名
// 如仅删除表2的数据,则为 delete 表2的别名
// 如仅删除两表的数据,则为 delete 表1的别名, 表2的别名
delete 表1的别名, 表2的别名
from 表1 别名, 表2 别名
where 连接条件
and 筛选条件
3.2.2 sql99 语法
delete 表1的别名, 表2的别名
from 表1 别名
inner|left|right join 表2 别名
on 连接条件
where 筛选条件
- 1 删除张无忌的女朋友的信息;
DELETE beauty
FROM beauty
INNER JOIN boys
ON beauty.boyfriend_id=boys.id
WHERE boys.boyName='张无忌';
- 2 删除黄晓明和他女朋友的信息;
DELETE boys, beauty
FROM boys
LEFT JOIN beauty
ON boys.id=beauty.boyfriend_id
WHERE boys.boyName='黄晓明';