MySQL必知必会笔记<1>
【英】ben Forta著
1
1.0 选择数据库 use eg: use 数据库名;
2.0 show命令查看信息: show databases;
show tables;
show columns from 表名;(显示表中列的属性信息)
show status;(显示广泛服务器状态信息)
show create /database/table;
show grants;(显示授予用户的权限)
show errors/warings;(显示服务器错误,警告)
|||Describe 表名 ==等价于==show columns from 表名
2
1.0 select Distinct 列名 from 表名;
2.0 LIMIT用法:
eg: limit 5;(限制显示当前的前5行)
eg: limit 5(开始的行),5;(限制显示的5行)【参数都是从0开始,5代表6行】
从5.0开始,用新的语法: limit 4 offset 3;(表示从3行开始取4行)
关于 order by 排序时: eg: order by price,name;
只有price值相同时,才会按name排序;若price值唯一,则不对name进行排序。
order by 和 limit组合使用,选取最值、
ASC(升序)<---------------->相反的 DESC(只对直接位于其前面的列进行排序)
3
1.0 where price < =10;这是一个正确的语句,可以使用。
2.0 不匹配检查:where id <> 1003;返回值为非1003的结果。
3.0 between和and约束时包括开始值和结束值。
4.0 AND OR 混合使用的时候。AND的优先级高,先查询AND语句。为了解决这一问题,可以用小括号来限制。
5.0 通配符% like "%";----------------------->不能表示NULL.
|
|--------------->LIKE匹配整个列,如果匹配的文本在列值中出现,相应行不会被返回。
|
|--------------->正则表达式: REGEXP------->若与like比较,则该行返回,与like形成对比。
|------------->一般不去别大小写,但是若区别,则用BINARY.
6.0 匹配: where name REGEXP '[123] TON';
|------------->对应 1 ton ,2 ton ,(3 ton 没有,切记) |
|----->对应与另一种形式的or语句,相当于[1|2|3] ton
转义字符“\\” [a-z]表示的范围a到z
7.0 *常用字符类*
8.0 关于匹配:
* --->0或者多个匹配
+---->1或者多个匹配
?----->0或者1个匹配
{n}---->指定数目的匹配
{n,}---->不少于指定数目的匹配
{n,m}--->匹配数目范围
9.0 关于文本的操作符:
^ 文本的开始
$文本的结尾
[[:<:]]词的开始
[[:>:]]词的结尾
10.0 关于拼接: 把多个列值合并成一个单值 (+,||)
但是MySQL则不行,需要用concat()函数来实现
|---->eg: select concat(name,'(',country,')')
|---->则显示结果为: name (country)
算术运算符: +,-,*,/
11.0 *常用文本处理函数*
*关于Soundex()函数*
|------>soundex()返回串的soundex的值,(发音比较,类似于音节,字符)
|------>eg: select name from table where name = 'y.lie' (没有返回值)
|-->where Soundex(name) =Soundex( 'Y.lie') (就会出现要查询的结果)
*关于Having 与where的区别*
|--------->Having 支持所有where操作,过滤分组,是在分组后进行的过滤。
|--------->where过滤行,数组分组前进行过滤。
4
1.0 *常用日期和时间函数*
2.0 关于全文本搜索: