MYsql 之单标查询.
http://www.cnblogs.com/wangfengming/articles/8064956.html
3.数据操作 1.增 INSERT into t2(name,age) VALUES('小三',11); -- 指定字段插入 INSERT into t2 VALUES('凤',13,2.5); -- 整表字段插入 INSERT into t2 VALUES('凤',13,2.5),('凤',13,2.5),('凤',13,2.5),('凤',13,2.5),('凤',13,2.5); --插入多条 insert into t1 SELECT id,name from t2; -- 复制表数据 2.删 delete from t2 where age = 1113; 3.改 update t2 set name ='祝小凤' , salary = 100 where age =13; 4.查 select * from T1; 1.简单查询 -- 查询所有 select * from person; --查询指定字段 select name,age FROM person; -- 别名+字段运算 select p.name,p.salary,p.salary+p.salary*0.1 as 'sum' from person as p -- 去重复查询 select DISTINCT salary,name from person; 2.条件查询 -- 逻辑运算符 < > <= >= != <> = -- is null ,is not null -- and OR () SELECT * from person where salary >5000 or ( age <=30 AND NAME =''); 3.区间查询 SELECT * FROM person where salary >=5000 and salary<=10000; -- 推荐使用 : --ps:前后包含 SELECT * FROM person where salary between 5000 and 10000; 4.集合查询 in not in SELECT * FROM person where age = 20 or age = 23 or age =30 ; SELECT * FROM person where age not in(20,23,30); 5.模糊查询 like SELECT * FROM person where name LIKE '%月'; -- 以什么结尾 SELECT * FROM person where name LIKE '月%'; -- 以什么开头 SELECT * FROM person where name LIKE '%月%'; -- 包含 SELECT * FROM person where name LIKE '_l%'; -- "_"表示占位符 6.排序 select * from person ORDER BY salary ASC,age desc; -- 强制中文[排序 select * FROM person ORDER BY CONVERT(name USING GBK) ; 7.聚合函数 select MAX(salary) from person; select MIN(salary) from person; select AVG(salary) from person; select SUM(salary) from person; select COUNT(*) from person; 8.分组查询 GROUP BY HAVING select count(id),dept_id,avg(salary) from person GROUP BY dept_id HAVING avg(salary) >=5000 ; where 与 having区别: #执行优先级从高到低:where > group by > having #1. Where 发生在分组group by之前,因而Where中可以有任意字段,但是绝对不能使用聚合函数。 #2. Having发生在分组group by之后,因而Having中可以使用分组的字段,无法直接取到其他字段,可以使用聚合函数 9.分页查询 LIMIT SELECT * FROM person LIMIT 2,2 10.正则表达式 SELECT * FROM person where name REGEXP '^a'; SELECT * FROM person where name REGEXP 'n$'; SELECT * FROM person where name REGEXP '.a'; SELECT * FROM person where name REGEXP '[a,e,n]'; SELECT * FROM person where name REGEXP '[^alex]'; SELECT * FROM person where name REGEXP 'a|e'; SELECT * FROM person where name REGEXP '^w.*i$'; 11. SQL 语句关键字的执行顺序 执行顺序: FROM -> WHERE -> GROUP BY -> HAVING -> SELECT -> ORDER BY ->limit