六、DML
DML:数据的插入和删除、修改。
1 插入
语法:
INSERT INTO 表名(列名1,列名2,……,列名n) values(值1,值2,……,值n),(值1,值2,……,值n),……;
特点:
- 字段类型和值类型一致或兼容,而且一一对应
- 可以为空的字段,可以不用插入值,或用null填充
- 不可以为空的字段,必须插入值
- 字段个数和值的个数必须一致
- 插入时,字段可以省略,但默认为所有字段,并且顺序和表中的存储顺序一致
示例:
# 新增雇员信息
INSERT INTO employees ( first_name, last_name, email, phone_number, job_id, salary, commission_pct, manager_id, department_id, hiredate )
VALUES
(
'xx',
'xxx',
'xxx@qq.com',
'18888888',
NULL,
3000,
NULL,
NULL,
NULL,
'2019-11-11')
2 修改
语法:
UPDATE 表名
SET 列1=值1,列2=值2,……,列n=值n
[WHERE 条件];
示例:
# 修改表中姓名为 K_ing 的手机号码为 12345678901
UPDATE employees
SET phone_number = '12345678901'
WHERE
last_name = 'K_ing';
3 删除
语法:
# 方式1:delete语句
DELETE FROM 表名
[WHERE 筛选条件];
# 方式2:truncate语句,删除现有数据表中的所有数据。
truncate table 表名
示例:
# 删除 last_name 为 xxx 的员工
DELETE
FROM
employees
WHERE
last_name = 'xxx';
DELETE
FROM
employees
WHERE
last_name = 'xxx';
两种删除方式的区别:
-
truncate不能加where条件,而delete可以加where条件
-
truncate的效率高一丢丢
-
truncate 删除带自增长的列的表后,如果再插入数据,数据从1开始
-
delete 删除带自增长列的表后,如果再插入数据,数据从上一次的断点处开始
-
truncate删除不能回滚,delete删除可以回滚