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