mysql中的DML语句
mysql中的DML语句
mysql 中的DML语言1.insert
delete与truncate
3.update
1.insert
insert 的作用是向表中添加一行或多行信息,语法为:
insert into 表名(列名1,列名2...) values (值1,值2...),(值1,值2...)...;
上面语法中,值与列要一一对应,对于表中字段有非空的约束,新增行时一定要对该字段赋值。values 关键字后面可以添加多个行的信息,中间用‘,’(逗号)分开。表名后面的列名可以省略,此时,要按照表中字段的顺序,对所有列进行赋值,省略后语法如下:
insert into 表名 values(值1,值2,...),(值1,值2...)...;
下面是我向一张空表中添加信息的示例:
使用省略字段的方法进行插入。
此外,insert 语句还可以和select 语句在一起用,将查询后的结果插入到表中。语法为:
insert into 表名 select 列名1, 列名2,...,列名n from 表名 where 筛选语句...;
select 后面接正确的查询语句就可以。注意:select 语句查询结果的列的信息要与表的字段一一对应。
下面我演示创建一个新的表tmp2,并将表tmp1中的信息插入进去。
delete与truncate
delete 和truncate 的作用都是删除表中的内容,区别是:
1.delete 后面可以添加筛选条件,而truncate不可以。
2.truncate删除效率要比delete高一点。
3.加入要删除的表中有自增长列,delete 删除后,再插入列,自增长列从断点开始,truncate删除表的信息后,再插入列,自增长列从1开始。
4.delete删除信息后可以回滚,而truncate不可以。
5.delete有返回值,truncate没有返回值。
语法分别为:
delete from 表名 [where 筛选条件];
truncate from 表名;
示例1:将表tmp1中id为1 的那一列删除
示例2:将表tmp11中的信息全部删除
delete 除了可以删除一张表中的信息之外,还可以联立多张表,进行删除
语法为:
delete 表1,表2 from 表1 inner|left|right join 表2 on 连接条件 ... where 筛选条件;
其中 inner,left, right 分别表示表的连接方式。
示例:将表tmp1,tmp2 中id为2的行删除
3.update
update为更新语句,可以将表中的行的信息进行更改,语法为:
update 表名 set 列名1=值1,列名2=值2... where 筛选语句;
示例:将tmp1表中id=3 的name 字段改为‘张三’
update 也可以进行多表的更新,语法为:
update 表1 别名1
inner|left|right join 表2 别名2
on 连接条件
set 列1=值1,列2=值2,...
where 筛选条件
mysql中的DML语句相关教程