一种数据操作语言:插入:insert、修改:update、删除:delete。
插入语言
语法
方法一
insert into 表名(列名,---)
#插入的值类型要与列类型相同
INSERT INTO employees(last_name,employee_id,age,borthday,phone)
VALUES('小天',231,23,1992-2-4,231231331)
#这个就是整个一个插入流程,需要注意的是在表中插入的时候,如果信息不能为空的时候必须要有值输入,
当有未知数值的时候,如果表后显示为Nullable的时候,可以不写或者用NULL的填充进去。
要求,列数和值的个数必须一致,如果有未知的数值,当列可以为空的时候,可以省略信息名。
1,可以省略列名,默认所有列,不过列的顺序必须和表格顺序相一致。
2.要求值的类型和字段要一致。
3.假如表中有可以为null的字段,注意通过以下两种方式插入。1.字段和值都省略。2.字段写上,值用null
4.字段和值的个数必须一致。 5.字段可以省略,默认所有列。
方法二
insert into 表名
set 列名=值,列名=值,....;
两组方法的比较
方式一 | 方式二 |
支持多行插入,,添加,就行 | 由于直接给列名赋值所以只能插入一行信息 |
可以使用SELECT语句,将所需要的信息作为插入表中的信息插入。 | 不行 |
使用SELECT插入相当于从另外一个表中找出需要的信息生成一个新表,直接批量筛选插入所需信息就好。
case 创建一个包含公司员工名字,部门名称,生日在1999-1-1以前的员工新表
INSERT
INSERT INTO new_list(last_name,department_id,age)
SELECT last_name,department_id,age FROM employees WHERE date>1999-1-1
update 修改语句
1.修改单表的记录
update 表名 set 字段=值,字段= 值,。。。
语法:update 表名
set 列=新值,列=新值。....
where 筛选条件;
1.修改单表的记录
2.修改多表的记录
1.修改单表的记录、修改部门员工kake的电话改成默认15515
UPDATE employees SET phone = '115515'
WHERE last_name = ''kake;
2.修改部门表中编号1223的姓名为张成,年龄22
UPDATE employees SET last_name = '张成',age= 22
WHERE id = 1223;
2.修改多表记录
语法
sql92语法
UPDATE 表1 ,别名,表2,别名
set 列= 值。。。。
where 筛选条件
and 筛选条件
sql99语法
update 表1 别名
inner|LEFT |RIGHT JOIN 表二
on 连接条件
set 列=值,。。
where 筛选条件
删除语句 delete
1.单表的删除
delete from 表
where 筛选条件
2.多表的删除
方式二
truncate
truncate table 表
case 1 删除手机号以2结尾的员工信息
delete from employees where employee_id LIKE '&2';
case2 多表的删除
delet 别名,别名
from 表1 别名,表2 别名
where 连接条件
and 筛选条件
sql99
delete 表一的别名,表二的别名
from 表1 别名
inner|right|left join 表二 别名 on 连接条件
where 筛选条件;
delete 领导编号为122手下的所有员工信息
sql92
delete e,d
from department d, employees e
where d.employee_id = e.manager_id
and d.employee_id = 122;
sql99
delete e,d
from employees e
left join departments d
on d.employee_id = e.manager_id
where d.employee_id = 122;
truncate删除也就是清空数据
truncate table employees;
删库到跑路
delete 和truncate区别
truncate | delete |
不能 | 可以加where语句 |
删除后再添加数据编码从1开始 |
删除后编码从上一个最大的数字后面开始 |
没有返回值,不知道多少行受影响 |
有返回值,知道删除多少行 |
无法回滚,不能恢复 | 可以回滚 |
效率高 | 效率低 |
可以理解为delete 把表格信息放到回收站里面,。如果还想找回来就还能找回!
所以继续添加信息从断点开始,因为前面删除的信息还占据一个小小的空间。