本文整理自网络,侵删。
目录
- DML 语句
- 1.插入记录
- 2.更新记录
- 3.简单查询记录
- 4.删除记录
- 5.查询记录详解(DQL语句)
- 5.1.查询不重复的记录
- 5.2.条件查询
- 5.3.聚合查询
- 5.4.排序查询
- 5.5.limit查询
- 5.6.连表查询
- 5.7.子查询
- 5.8.记录联合
- 5.9.select语句的执行顺序
- 6.总结
DML 语句
DML(Data Manipulation Language)语句:数据操纵语句。
用途:用于添加、修改、删除和查询数据库记录,并检查数据完整性。 常用关键字:insert、update、delete、select等。DML 操作的对象是库表的数据(记录)。
主要包括插入(insert)、更新(update)、删除(delete)和查询(select)。
DML 语句是开发人员使用最频繁的操作。
1.插入记录
插入一条记录
insert into tablename (field1,field2,...,fieldn) values (value1,value2,...,valuen);
一次性插入多条数据
insert into tablename (field1,field2,...,fieldn) values (value1,value2,...,valuen), (value1,value2,...,valuen);
2.更新记录
更新单表数据
update tablename set field1=value1,filed2=value2,...fieldn=valuen [where condition]
同时更新多个表的数据
update t1,t2,...,tn set t1.field1=expr1,tn.field=exprn [where condition];
通常用于根据一个表的字段来动态地更新另外一个表的字段
在此说明:中括号 “[ ]” 代表的是可选参数,即可有可无的参数。
3.简单查询记录
简单的条件查询。符号“*”代表查询所有字段,如果只想看其中某些列,则写表的列名。
select * from tablename [where condition]; select field1,field2,...,fieldn from tablename [where condition];
别名
? ? 给列名或表名取别名的关键字:AS 或者不写关键字。如:
select field1 AS f1,field2 f2 from tablename; select t2.field1 AS f1,t1.field2 f2 from table1 as t1,table2 t2;
不取别名,则查询结果的列名为表原本的列名;
取别名,则查询结果的列名为别名
4.删除记录
删除单表记录
delete from tablename [where condition];
同时删除多个表的数据
delete t1,t2,...,tn from t1,t2,...,tn [where condition];
说明:不加where 条件则删除全表数据
单表“增改查删”操作案例:
多表“删除”操作案例:
? 再看个删除案例
?最后再看个删除案例
多表删除结论:
条件成立,则删除有条件表的对应数据,没条件的则全表删除;
条件不成立,则都不删除。
留个疑问:多表删除不给where 条件会怎样呢?
关于同时更新多个表数据的操作,可以自行探索,毕竟有思考的学习最有价值。
5.查询记录详解(DQL语句)
DQL(Data Query Language)即数据库查询语言。
数据库查询语句就像玩积木一样,一块一块的拼凑,每个中括号“[]”代表一块积木。
先通过递进的方式一条一条列出查询语法。
5.1.查询不重复的记录
select distinct filed from tablename;
distinct 关键字是对 “查询结果集” 去重,再看个例子就明白了。
5.2.条件查询
--查询所有列: select * from tablename [where condition]; --查询指定列: select [field1,field2,...,fieldn] from tablename [where condition];
常用的条件(condition)
等于:field = xxx
大于:field > xxx
小于:field < xxx
不等于:field != xxx
不等于:field <> xxx
等于null:field is null
不等于null:field is not null
多个条件之间用逻辑运算符:and 和 or?
模糊查询之"_":field like _x_xx_? ? ?符号"_"代表匹配单个任意字符,可以在你喜欢的字符旁加上"_"
模糊查询之"%":field like %x%xx%? ? ?符号"%"代表匹配0~n个任意字符,可以在你喜欢的字符旁加上"%"
in语句查询:field in(value1,value2,...)? 查询field 和 in 数组配得上的,不配就没有数据
not in语句查询:field not in(value1,value2,...)? ?查询field 和 in 数组配不上的,不配就有数据
其它常用条件具体怎么用,参考常用条件去操作。
5.3.聚合查询
--最简单的聚合查询: select [field1,field2,...,fieldn] fun_name from tablename group by field; --完整语法: select [field1,field2,...,fieldn] fun_name from tablename [where condition] [group by field1,field2,...,fieldn [with rollup]] [having condition];
说明:
fun_name? 表示聚合函数,常用有:求和sum()、记录数count(*)、平均值avg()、最大值max()、最小值min();
相关阅读 >>
更多相关阅读请进入《mysql》频道 >>
书籍 数据库系统概念 第6版
机械工业出版社
本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。
转载请注明出处:木庄网络博客 » MySQL基础教程之DML语句详解
标签:mysql相关推荐
评论
管理员已关闭评论功能...