MySQL_SQL语句
2020-09-20 12:08:43 22 举报
AI智能生成
MySQL总结
作者其他创作
大纲/内容
show
show table<b><font color="#c41230">s</font></b> 查看所有表
show database<b><font color="#c41230">s</font></b> 查看所有数据库
<b>show column<font color="#c41230">s</font>+表名</b> :查看表的所有列名及数据类型
show status :显示广泛的服务器状态信息
show grants :显示授权用户的安全权限
select
distinct 去重
例:select distinct vend_id from products
limit n,m
n 开始行数(从0开始),m 查询条数
order by 排序默认是升序(ASC) ,降序是(DESC)
可以按多个列排序:SELECT prod_id,prod_name,prod_price FROM products <font color="#00a650">ORDER BY prod_name,prod_price DESC</font>
where
单引号用来限定字符串(<b><font color="#0076b3">'字符串'</font></b>)
例:SELECT prod_id,prod_name,prod_price FROM products WHERE prod_name =<b><font color="#55beed"> 'Carrots'</font></b>
为空判断 <b><font color="#f1753f">is null</font></b>
例如:SELECT prod_id,prod_name,prod_price FROM products WHERE prod_price IS NULL
操作符
=
<> :不等于
!= : 不等于
<=
>=
between and:在指定两个值之间 (<b><font color="#f15a23">包括两端边界值</font></b>)
or 只要求一个满足条件
in 限定范围
例如:SELECT prod_name,prod_price FROM products WHERE <b><font color="#fdb813">vend_id IN(1002,1003)</font></b>
not :和in连用,表示不在范围
例如:SELECT prod_name,prod_price FROM products WHERE <font color="#f384ae">vend_id <b>NOT</b> IN(1002,1003)</font>
模糊匹配
like (空格也会匹配)
%匹配多个字符 例如:SELECT prod_name,prod_price FROM products WHERE prod_name <font color="#f68b1f">LIKE '%jet%'</font>
_匹配一个字符 例如:SELECT prod_name,prod_price FROM products WHERE prod_name<font color="#fdb813"> </font><font color="#662c90">LIKE '_ ton anvil'</font>
regexp 使用正则表达式
注意点:regexp默认不区分大小写,可以使用<b>binary</b>关键字来区分大小写
. 匹配多个字符 例如:SELECT prod_name FROM products WHERE prod_name REGEXP '.000'
'1000|2000|3000' 将匹配 <b><font color="#c41230">含有</font></b>1000或2000或3000
[123] 将匹配<b><font color="#f15a23">含有</font></b>1或2或3
^ 不包含
例如:SELECT prod_name FROM products WHERE prod_name REGEXP <b><font color="#31a8e0">'^1000|2000'</font></b>
[a-z][A-Z][0-9]
包含所有字母、数字
\\. 匹配 .开头的字符串
SELECT prod_name FROM products WHERE prod_name REGEXP<b><font color="#f15a23"> '\\.'</font></b>
<b><font color="#c41230">空白元字符</font></b>
\\f 换页<br>\\n 换行<br>\\r 回车<br>\\t 制表<br>\\v 纵向制表
<b><font color="#c41230">重复元字符</font></b>
* 0个或多个匹配<br>+ 1个或多个匹配<br>? 0个或1个匹配<br>{n} n个匹配<br>{n,} 不少于n个匹配<br>{n,m} n个到m个匹配
定位符
^ 定位开头
查询第一个字符是数字或点(.)SELECT prod_name FROM products WHERE prod_name REGEXP <b><font color="#00a650">'^[0-9\\.]'</font></b>
$ 定位末尾
concat 拼接字符串
例如:SELECT CONCAT(vend_name,'(',vend_country,')') AS newname FROM vendors ORDER BY vend_name
函数
文本处理函数
upper() :转大写
lower():转小写
<b><font color="#c41230">soundex() </font></b> :匹配发音字符和音节类似的
例如:SELECT cust_name,cust_contact FROM customers WHERE<b><font color="#00a650"> SOUNDEX(cust_contact) = SOUNDEX('Y. lie')</font></b>
length() :返回字符串长度
其他
日期和时间处理函数
AddDate() :增加一个日期(天、周等)
AddTime() :增加一个时间(时、分)
CurDate() :返回当前日期<年月日>
CurTime() :返回当前时间<时分秒>
Now() :返回当前日期和时间
Date() :返回日期时间的日期部分
Time() : 返回日期时间的时间部分
DateDiff() : 计算两个日期只差
Date_Add() :高度灵活的日期运算函数
Date_Format() :返回一个格式化的日期或时间串
Year() :返回一个<b><font color="#c41230">日期</font></b>的<b><font color="#f15a23">年份</font></b>部分
Month() :返回一个<b><font color="#c41230">日期</font></b>的<b><font color="#f15a23">月份</font></b>部分
Day() :返回一个<b><font color="#c41230">日期</font></b>的<font color="#f15a23"><b>天数</b></font>部分
DayOfWeek() :对于一个<b><font color="#0076b3">日期</font></b>,返回对应的<b><font color="#f15a23">星期几 (1-7)</font></b>
Hour() :返回一个<b><font color="#662c90">时间</font></b>的<b><font color="#16884a">小时</font></b>部分
Minute() :返回一个<b><font color="#662c90">时间</font></b>的<b><font color="#00a650">分钟</font></b>部分
Second() :返回一个<b><font color="#662c90">时间</font></b>的<b><font color="#16884a">秒</font></b>部分
数值处理函数
<font color="#f1753f">Abs() :返回一个数的绝对值</font>
<font color="#16884a">Rand() :返回一个随机数</font>
Sqrt() :返回一个数的平方根
Exp() :返回一个数的指数值
Pi() :返回圆周率
Mod() :返回除操作的余数
sin() :返回一个角度的正弦
cos() :返回一个角度的余弦
tan() :返回一个角度的正切
聚合函数
AVG() :返回某列平均值
COUNT() :返回某列的行数
COUNT(*)
COUNT(1)
COUNT(列明)
MAX() :返回某列的最大值
MIN() :返回某列的最小值
SUM() :返回某列值之和
0 条评论
下一页