改:修改记录里的部分值
1、修改单表记录:
语法:update 表名 set 字段名1= 新的值,字段名2 = 新的值,... where 条件;
2、修改多表记录:
语法:update 表1 别名, 表2 别名
set 字段1 = 值...
where 连接条件 and 筛选条件; (92年SQL写法)
update 表1 别名
[连接类型] join 表2 别名
on 连接条件
set 字段1 = 值...
where 筛选条件;(99年SQL写法)
多表查询案例:
修改没有年龄记录的同学的对应年龄的编号都为3
update students s
left join age a
set a.age_id = 3
where a.age is null;
3、删
删:删除表里的记录行(整行删除)
1、单表删除:
delete from 表名 where 要删除的记录筛选条件; --如果不加条件,则删除表中所有记录
2、多表删除:
92年SQL写法:
delete 别名1, 别名2
from 表名1 别名1, 表名2 别名2
where 连接条件 and 筛选条件;
注意:如果只删表1的就只写别名1,如果两个表的记录都删就别名1,别名2
99年SQL写法:
delete 别名1, 别名2
from 表名1 别名1
[连接类型] join 表名2 别名2
on 连接条件
where 筛选条件;
多表删除案例:
删除James的年龄信息:
delete a from students s
inner join age a
on s.age_id = a.id
where s.name = 'James';
如果是整表记录删除有两种方法:
1、delete语句不加where条件
例:delete from 表名;
2、truncate语句
例:truncate table 表名;