最近转入后端工作。由于sql薄弱,所以开始补习。
今天由同事推荐开始看<<mysql必知必会>>
觉得不错,而且很友好(就是很合适我).
下面开始记录收获。(由于之前只会基本的增删该查,所以感觉收获颇多)
1.order by 当中可以根据多个字段进行排序,当order by之前的字段相同时根据之后的字段进行排序
balabala order by test_id,test_name(当test_id相同时,根据test_name进行排序)
2.where语句后除了用and连接连接多个条件,还可以用or来连接(相当编程语言当中的与和或).
并且and的优先级高于or,在sql当中可以使用()来提升语句的优先级。
在where后还有 not 可以否定跟在它之后的条件
balabalabala where not id=3 选中id=3之外的数据
3.不要过度使用通配符(% _),因为它的处理数据很慢。(尤其不要将其放到搜索模式的开始处,因为搜索起来是最慢的)。
4.可以使用concat进行字段的拼接。如
select CONCAT(id,'(',name,')') from test.tab_test
会将选中表当中的id和name以(id,(name))的方式拼接起来
并且mysql当中有自己的去空格的函数 RTrim(); LTrim(); Trim();(去掉右边、左边、俩边的空格)
5.可以进行字段的计算(+、-、*、/)
select 字段1 运算符 字段2.
6.select now();可以输出当前时间
select Upper();将文本转换为大写
Lower();将文本转换为小写
7.HAVING可以用来过滤分组。
8.可以将查询到的结果作为查询条件(成为子查询)
9.可以使用INNER JOIN 来连接多个表,进行查询。
FROM table INNER JOIN table2 ON table.id = table2.id 等同于 where table.id = table2.id