SQL DML具体语句的使用
1. SELECT ( [sɪˈlɛkt] 选择,挑选) 在指定的表中选取数据
获取user表中指定id,user_name列的全部数据,指定列名称可以是多个用逗号隔开;
获取user表中所有列的全部数据;* 代表选全部;
2. WHERE ( [wer] 哪里;在..地方) SQL子句选择性的获取指定的数据
WHERE用于SELECT语法,还用于UPDATE,DELETE语法等!
获取user表中id为1的用户数据;
IN操作符,允许我们在WHERE子句规定多个值;NOT IN 不是这些值得数据
获取user中id为1和2的用户数据;
SQL运算符包括 = 等于、<>不等于、>大于、<小于、=>大于等于、<=小于等于、BETWEEN在某个范围之间、LIKE 搜索模式
3. DISTINCT ( [dɪˈstɪŋkt] 明显的,清楚的) 与SELECT 配合,用于获取列名下面的数据使其没有重复的数据;
获取用户表中用户的姓名,去重;
4. AND和OR运算符 AND和OR是把WHERE语句中多个条件链接起来
获取user中来自黑龙江并且是男性的用户,AND是必须所有条件同时满足才行。
获取user表中来自黑龙江或辽宁的用户,OR是所有条件只要有一个满足就可以。
AND与OR组合:
获取user表中来自黑龙江省,城市是哈尔滨或者齐齐哈尔的客户数据;
5. ORDER BY 用于指定以某个列多数据结果排序,默认是升序,降序关键字 DESC。
获取用户表所有数据,指定以id字段按降序排列。
6. TOP 用于规定返回的记录数量不是所有数据库通用。PERCENT 百分比
获取user表中前2%的用户姓名;
MYSQL返回规定的记录 LIMIT
获取user表中前两条用户姓名;
ORADE返回规定的记录 ROWNUM
获取user表中前两条用户姓名;
7. LIKE 用与在WHERE中搜索(模糊查询) NOT LIKE 不匹配的
1. 通配符 % 代替1个字符或多个字符
获取user表中姓李的用户名字,以李开头,%代替后面的名;
获取user表中名晓宇的用户名字,以晓宇结尾,%代替前面的姓;
获取user表中名字包含晓的用户名字,%代替前后的字;
2. 通配符_ 只能代替一个字符
获取user表中名字包含晓的用户名字,_代表姓,如果是复姓如南宫晓就查不出来,%代替后面的字;
8. BETWEEN ... AND... 选取介于俩个值之间的数据,值可以是数字,文本或日期,数据库纯在选取差异。NOT BETWEEN ... AND .. 取反
显示user表中id与用户姓名,只要id等于2到id等于6的数据,MYSQL包含2和6,共5条数据;
9. AS 可以为列名和表名起别名
如图片给user_name起的别名UserName,为byd_user起别名BydUser;
10. UNION 用于合并俩个或多个SELECT语句的结果集,UNION内部的SELECT语句必须有相同的列数,和相同的列名如果列名不相同以第一个SELECT列名为合并后的列名,UNION默认去除重复,如果不需要去重用UNION ALL
合并俩个user表显示所有用户名字,默认去重;
11. JOIN 链接查询
1.INNER JOIN 内连接查询:显示两个表共有的数据;
2.FULL JOIN 外连接查询:显示俩个表中所有的行;
3.LEFT JOIN 左连接查询: 查询两个表中共有的数据,并以左边的表为基准显示左表的全部数据,显示右表符合条件的数据, 不足的地方显示NULL
4.RIGHT JOIN 右连接查询: 查询两个表共有的数据,并以右表为基准显示右表的全部数据,显示左表符合条件的数据不足的地方显示NULL
MYSQL 不支持 FULL JOIN 用下面代替
通过UNION链接做链接查询和右链接查询达到FULL JOIN 效果
12. NULL使用比较运算符(例如=,<或<>)来测试NULL值是不可行的。 IS NOT MULL与 IS MULL 来获取;
获取用户id,姓名,电话号码,不显示没有电话号的用户。
13. DELETE 语句用于删除表中的行。注意用DELETE 必须使用WHERE去约束否则会删除全部数据;
删除user表中id为1的客户信息
14. UPDATE 语句用于更新表中已存在的记录。注意用UPDATE 必须使用WHERE去约束否则会更新全部数据;
更新user表中di为2的用户名字和电话号码
15. INSERT INTO 语句用于向表中插入新记录。
在user表中添加用户设置姓名,电话号,金额。











网友评论