DML概述
DML(Data Manipulation Language 数据操控语言)用于操作数据库对象中包含的数据,也就是说操作的单位是记录。
DML的主要语句(操作)
Insert语句:向数据表张插入一条记录。
Delete语句:删除数据表中的一条或多条记录,也可以删除数据表中的所有记录,但是,它的操作对象仍是记录。
-
Update语句:用于修改已存在表中的记录的内容。
DML的操作对象——记录
注意
当我们对记录进行Insert、Delete和Update操作的时候,一定要注意,一定要清楚DDL对其的一些操作。
INSERT
#方式1(推荐)
#语法:insert into table_name (列名,......) values (值1,......);
#插入的值类型与列的属性一致或兼容
INSERT INTO person(id,name) VALUES('1','张三');
#可以省略列名,默认所有列,顺序与表的顺序一致
INSERT INTO person VALUES('1','张三');
#方式2
#语法:insert into table_name set 列名=值,列名=值....;
INSERT INTO person SET id = '1',name = '张三';
#区别
#方式1支持多行插入 方式2不支持
#方式1支持子查询 方式2不支持
update
#修改单表
#语法:update table_name set 列名=新值,列名=新值.... where 筛选条件;
UPDATE person SET name = '李四' WHERE id = '1';
#修改多表
/*
语法sql92:
update 表1 别名, 表2 别名
set 列名=新值,列名=新值....
where 连接条件
and 筛选条件;
语法sql99:
update 表1 别名
inner|left|right join 表2 别名
on 连接条件
set 列名=新值,列名=新值....
where 筛选条件;
*/
delete/truncate
#删除方式1
#delete from table_naem 【where 筛选条件】;
DELETE FROM person WHERE id = '1';
#删除多表
/*
语法sql92:
delete 表1别名, 表2别名
from 表1 别名, 表2 别名
where 连接条件
and 筛选条件;
语法sql99:
delete 表1别名, 表2别名
from 表1 别名
inner|left|right join 表2 别名
on 连接条件
where 筛选条件;
*/
#删除方式1 全表删除
#语法:TRUNCATE TABLE table_name;
TRUNCATE TABLE person;
/*
delete 可以加where条件,truncate不能加
truncate删除全表效率高些
truncate删除后再插入数据,自增长值从1开始,delete删除,再插入从断点值开始
truncate删除没有返回值
truncate删除不能回滚,delete删除可以回滚,
*/