MySQL 5.6学习笔记(查询数据、插入、更新、删除数据)
1. 查询语法
SELECT {*|<字段列表>} [FROM table_references [WHERE where_condition] [GROUP BY {col_name | expr | position} [ASC | DESC], ... [WITH ROLLUP]] [HAVING where_condition] [ORDER BY {col_name | expr | position} [ASC | DESC], ...] [LIMIT {[offset,] row_count | row_count OFFSET offset}]
上面的常用的基本的查询语法。完整语法参考:http://dev.mysql.com/doc/refman/5.6/en/select.html
1.1 在GROUP BY子句中使用WITH ROLLUP
使用WITH ROLLUP关键字之后,在所有查询出的分组记录之后增加一条记录,该记录计算查询出的所有记录的总和,即统计记录数量。
1.2 使用LIMIT限制查询结果的数量
LIMIT [位置偏移量,] 行数
第一个参数“位置偏移量”是可选参数,表示从哪一行开始显示。
MySQL5.6中可以使用“LIMIT 4 OFFSET 3“,意思是获取从第5条记录开始后面的3条记录,和”LIMIT 4,3“返回的结果相同。
1.3 带EXISTS关键字的查询
EXISTS关键字后面的参数是一个任意的子查询,系统对子查询进行运算以判断它是否返回行,如果至少返回一行,那么EXISTS的结果为true,此时外层查询语句将进行查询;如果子查询没有返回任何行,那么EXISTS返回的结果是false,此时外层语句将不进行查询。
示范:
查询suppliers表中是否存在s_id=107供应商,如果存在,则查询friuts表中记录,SQL语句如下:
select * from fruits where exists (select s_name from suppliers where s_id=107);
1.4 使用正则表达式查询
示范:
在fruits表中,查询f_name字段以字母b打头的记录,SQL语句如下:
select * from fruits where f_name regexp '^b';
2. 插入数据
可以同时插入多条记录,语法:
insert into table_name(column_list) values(value_list1),(value_list2),...(value_listn);
本文简单的原因是,仅写了MySQL数据库与Oracle数据库在CRUD方面不一致的地方,与Oracle一致的地方,没有写的必要了。