DML 语言(data manipulation language)–增删改
总体而言数据操作语言分为三种:插入insert,更新update,删除delete
一,插入语句
语法:
方式一:insert into 表名(列名,…) values(值1,…) -->支持插入多行/支持子查询
方式二:insert into 表名 set 列名=值,列名=值,…
特点:
插入值类型要与列类型保持一致
不可以为null的列必须插入值,可以为Null的列如何插入
(1).有列名值为null
(2).列名和值都省略列的顺序可以颠倒
列数和值个数必须一致
可以省略列名,此时为表中顺序的所有列
## 1 INSERT INTO beauty(`id`,`name`,`sex`,`borndate`,`phone`,`photo`,`boyfriend_id`) VALUES(13,'李明','女','1990-4-23','18988888888',NULL,2); ## 2 INSERT INTO beauty(`id`,`name`,`sex`,`borndate`,`phone`,`boyfriend_id`) VALUES(14,'李华','女','1990-4-23','18988888888',2); ## 3 INSERT INTO beauty(NAME,sex,id,phone,boyfriend_id) VALUES('韩磊磊','女',15,'15788667789','3') ## 5 INSERT INTO beauty VALUES(16,'李梅','女',NULL,'18976554344',NULL,NULL) ##6 INSERT INTO beauty SET id=17,NAME='刘涛',phone='17856435677'; ##插入多行 INSERT INTO beauty VALUES(19,'李梅1','女',NULL,'18976554344',NULL,NULL),(20,'李梅2','女',NULL,'18976554344',NULL,NULL) ## 子查询 INSERT INTO beauty(id,NAME,phone) SELECT id,boyName,'17867542345' FROM boys WHERE id<3;
二,更新语句
修改单表记录
update 表名 set 列=新值,… where 筛选条件;修改多表记录
sq192语法:
update 表1, 表2
set 列=新值,…
where 连接条件 and 筛选条件;
sq199语法:
update 表1
inner/left outer/right outer join 表2
on 连接条件
set 列=新值,…
where 筛选条件;## 1 UPDATE beauty SET phone='1110' WHERE NAME LIKE '李%' ## 2 UPDATE boys SET boyName='张飞',userCP=10 WHERE id=2; ## 3 UPDATE boys bo INNER JOIN beauty b ON b.`boyfriend_id`=bo.`id` SET b.`phone`='114' WHERE bo.`boyName`='张无忌'; ## 4 UPDATE beauty b LEFT JOIN boys bo ON b.`boyfriend_id`=bo.`id` SET b.`boyfriend_id`=2 WHERE bo.`id` IS NULL
三,删除语句
方式一:delete
单表删除
delete from 表名 where 筛选条件多表删除
delete 要删除的信息所在表from 表1 join 表2
on 连接条件
where 筛选条件方式二: truncate
语法: truncate table 表名两种方式区别:
delete 可以加删除条件
truncate 删除效率高
假如要删除的表中有自增长列,使用delete时新插入语句从断点开始,使用truncate从1开始
truncate 不会返回受影响的行数
truncate 删除不能回滚,delete可以回滚
# 方式一 ## 1 DELETE FROM beauty WHERE phone LIKE '%9' ## 2 DELETE b FROM beauty b JOIN boys bo ON b.`boyfriend_id`=bo.`id` WHERE bo.`boyName`='张无忌'; ## DELETE b,bo FROM beauty b JOIN boys bo ON b.`boyfriend_id`=bo.`id` WHERE bo.`boyName`='黄晓明'; # 方式二 TRUNCATE TABLE boys;