首页 > SQL学习 > SQL基础知识 > SQL中常用DML语句
2016
12-16

SQL中常用DML语句

DML:数据操纵语句,用于添加、删除、更新和查询数据库记录并检查数据完整性

如果进行的数据库改密码等操作,运行flush privileges命令让mysql重新加载,从而让配置生效

1、INSERT INTO语句:

①单条记录插入

insert into 表名(字段1,字段2,...,字段n) values(值1,值2,...,值n);

也可以不指定字段名,但是values后面的值要和字段排序一致。

②多条记录插入

insert into 表名(字段1,字段2,...,字段n) values (值1,值2,...,值n),(值1,值2,...,值n),...;

③从一个表复制数据,然后把数据插入到一个已存在的表中,目标表中任何已存在的行都不会受影响。

INSERT INTO SELECT 语句:INSERT INTO table2 (column_name(s)) SELECT column_name(s) FROM table1;

2、更新记录:

①更新一个表:

update 表名 set 字段1=值1,字段2=值2,...,字段n=值n [where 条件];

②更新多个表中数据:

update 表名1,表名2,...,表名n set 表名1.表1字段名=值1,表名2.表2字段名=值2,...,表名n.表n字段名=值n [where 条件];

实例:update t1,t2 set t1.age=2000,t2.age=3000 where t1.id=1 and t2.id=1;

3、删除记录:

①删除一个表中的数据

delete from 表名 [where 条件];

②删除多个表中的数据

delete 表1,表2,...表n from 表1,表2,...表n [where 条件];

注:不管是单表还是多表,不加where条件将会把表中的所有记录删除。

③清除表中有所数据

truncate 表名;

所有索引数值将全部重置为初始大小。

4、查询记录:

查询表记录 select *|字段1,字段2... from 表名 [where 条件] limit [n,]m;

①查询不重复的记录:

select distinct *|字段1,字段2... from 表名 [where 条件];

查询字段中数据,并把重复的数据剔除以后(只显示一条记录)输出。

只要字段1,字段2中任何一个字段有不同就会被选择!一般使用distinct只筛选一个字段!

②排序和限制:

单字段排序:

select * from 表名 order by 字段名 asc|desc;

asc:由低到高,也是默认值 desc:由高到底

多字段排序:

select * from 表名 order by 字段名1 desc,字段名2 desc;

先根据字段1进行由高到低排序,中间有相同数值的再根据字段2进行由高到低排序。

最后编辑:
作者:qingheluo
这个作者貌似有点懒,什么都没有留下。