http://www.cnblogs.com/wangfengming/articles/8064956.html
.数据操作 .增
INSERT into t2(name,age) VALUES('小三',); -- 指定字段插入 INSERT into t2 VALUES('凤',,2.5); -- 整表字段插入 INSERT into t2 VALUES('凤',,2.5),('凤',,2.5),('凤',,2.5),('凤',,2.5),('凤',,2.5);
--插入多条
insert into t1 SELECT id,name from t2; -- 复制表数据
.删
delete from t2 where age = ;
.改
update t2 set name ='祝小凤' , salary = where age =;
.查
select * from T1; .简单查询
-- 查询所有
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; .条件查询
-- 逻辑运算符 < > <= >= != <> =
-- is null ,is not null
-- and OR () SELECT * from person where salary > or ( age <= AND NAME =''); .区间查询
SELECT * FROM person where salary >= and salary<=;
-- 推荐使用 :
--ps:前后包含 SELECT * FROM person where salary between and ; .集合查询 in not in SELECT * FROM person where age = or age = or age = ; SELECT * FROM person where age not in(,,); .模糊查询 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%'; -- "_"表示占位符 .排序
select * from person ORDER BY salary ASC,age desc; -- 强制中文[排序
select * FROM person ORDER BY CONVERT(name USING GBK) ; .聚合函数
select MAX(salary) from person;
select MIN(salary) from person;
select AVG(salary) from person;
select SUM(salary) from person;
select COUNT(*) from person; .分组查询 GROUP BY HAVING
select count(id),dept_id,avg(salary) from person GROUP BY dept_id HAVING avg(salary) >= ;
where 与 having区别:
#执行优先级从高到低:where > group by > having
#. Where 发生在分组group by之前,因而Where中可以有任意字段,但是绝对不能使用聚合函数。
#. Having发生在分组group by之后,因而Having中可以使用分组的字段,无法直接取到其他字段,可以使用聚合函数 .分页查询 LIMIT
SELECT * FROM person LIMIT , .正则表达式
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$'; . SQL 语句关键字的执行顺序 执行顺序: FROM -> WHERE -> GROUP BY -> HAVING -> SELECT -> ORDER BY ->limit