MySQl常用命令大全示例(上)

1、USE 数据库A;        选择打开数据库A

2、SHOW BATABASES;        显示所有数据库

3、SHOW TABLES;        显示数据库内所有的数据表

4、SHOW COLUMNS FROM 数据表a; 

        或:DESCRIBE 数据表a;      显示数据表a的表列等信息

5、SHOW CREATE DATABASE;        显示创建数据库的MySQL语言

6、SHOW CREATE TABLE;        显示创建数据表的MySQL语言

7、SELECT b, c, d FROM 数据表a;        显示数据表a的b、c、d列

8、SELECT * FROM 数据表a;        显示数据表a的所有列

9、SELECT DISTINCT d FROM 数据表a;        去重,显示数据表a的d列所有不同值

?10、SELECT DISTINCT c, d FROM 数据表a;        去重,显示数据表a的c,d列组合的所有不同值?

11、SELECT d FROM 数据表a LIMIT 10;        显示数据表a的d列前10行数据

12、SELECT d FROM 数据表a LIMIT 10,10;        显示数据表a的d列10-20行数据

13、SELECT a.d FROM 数据表a;        使用完全限定表名显示数据表a的d列

14、SELECT a.d FROM 数据表A.a;        使用完全限定表名显示数据库A中数据表a的d列

15、SELECT b, c, d FROM 数据表a ORDER BY b, c;        显示数据表a的b、c、d列按照b列、c列(b列相同时)默认(升序)排序

16、SELECT b, c, d FROM 数据表a ORDER BY b DESC, c DESC;        显示数据表a的b、c、d列按照b列降序、c列(b列相同时)降序排序

17、16、SELECT b, c, d FROM 数据表a ORDER BY b DESC, c LIMIT 5;        显示数据表a的b、c、d列按照b列降序、c列(b列相同时)升序排序,显示前5条,LIMIT在ORDER BY之后

18、SELECT b, c, d FROM 数据表a WHERE b = 2 ORDER BY c;        显示数据表a当满足b=2时的b,c,d列,并按照c排序

19、WHERE子句操作符

操作符 

说明

=等于
<>不等于
!=不等于
<小于
<=小于等于
>大于
>=大于等于
BETWEEN在指定两个值之间

如果将值与字符串对比,则字符串需添加单引号,如果时数值比较则不需要加单引号

20、SELECT b, c, d FROM 数据表a WHERE b BETWEEN 2 AND 5 ORDER BY c;        显示数据表a当满足b大于等于2,小于等于5时的b,c,d列,并按照c默认(升序)排序

21、SELECT b, c, d FROM 数据表a WHERE b IS NULL ORDER BY c;        显示数据表a当满足b为NULL时的b,c,d列,并按照c默认(升序)排序

22、SELECT b, c, d FROM 数据表a WHERE b =5 AND c <=10;        显示数据表a当满足b等于5且c小于等于10时的b,c,d列

23、SELECT b, c, d FROM 数据表a WHERE b =5 OR c =10;        显示数据表a当满足b等于5或者c等于10时的b,c,d列

24、SELECT b, c, d FROM 数据表a WHERE (b =5 OR c =10) AND d<20;        显示数据表a当满足b=5或c=10且c小于20时的b,c,d列,(要加括号,因为AND运算优先级高于OR,不加括号易出错)

25、SELECT b, c, d FROM 数据表a WHERE b IN (50,100) ORDER BY c;        显示数据表a当满足b为50或100时的b,c,d列,并按照c排列,IN和OR具有相同的功能,IN最大的优点是可以包含其他SELECT语句

26、SELECT b, c, d FROM 数据表a WHERE b NOT IN (50,100) ORDER BY c;        显示数据表a当满足b不是50或100时的b,c,d列,并按照c排列

27、通配符:用来匹配值的一部分的特殊字符

28、%通配符,表示任何字符出现任意次数

29、SELECT name, c, d FROM 数据表a WHERE name LIKE 'zh%';        显示检索任意以zh开头的词,不管它有多少个字符,包括0个

30、SELECT name, c, d FROM 数据表a WHERE name LIKE '%ang%';        显示检索任意位置包含ang的词,不管它之前或之后有多少个字符

31、SELECT name, c, d FROM 数据表a WHERE name LIKE '_hang';        显示只检索以‘hang’结尾的共有5个子符的词,_通配符只匹配单个字符

32、SELECT name, c, d FROM 数据表a WHERE name REGEXP 'hang';                使用正则表达式匹配匹配name中包含hang的数据

33、SELECT name, c, d FROM 数据表a WHERE c REGEXP '10|20';                使用正则表达式匹配c中包含10或20的数据

34、SELECT name, c, d FROM 数据表a WHERE c REGEXP '[123]0';                使用正则表达式匹配c中包含10或20或30的数据

35、SELECT name, c, d FROM 数据表a WHERE c REGEXP '[^123]0';                使用正则表达式匹配c中不包含10或20或30的数据

36、SELECT name, c, d FROM 数据表a WHERE c REGEXP '[1-3]0';                使用正则表达式匹配c中包含10或20或30的数据

37、SELECT name, c, d FROM 数据表a WHERE c REGEXP '\\.';                用\\为前导匹配c中包含特殊字符(.)的数据

38、SELECT name, c, d FROM 数据表a WHERE c REGEXP '\\-';                用\\为前导匹配c中包含特殊字符(-)的数据

39、\\用来引用元字符

元字符说明
\\f换页
\\n换行
\\r回车
\\t指表
\\v纵向制表

40、匹配字符类

说明
[:alnum:]任意字母和数字(同[a-zA-Z0-9)
[:alpha:]任意字符(同[a-zA-Z])
[:blank:]空格和指表(同[\\t])
[:cntrl:]ASCII控制字符(ASCII 0到31和127)
[:digit:]任意数字(同[0-9])
[:graph:]与[:print:]相同,但不包括空格
[:lower:]任意小写字母(同[a-z])
[:print:]任意可打印字符
[:punct:]既不在[:alnum:]又不在[:cntrl:]中的任意字符
[:space:]包括空格在内的任意空白字符(同[\\t\\n\\r\\f\\v])
[:upper:]任意大写字母(t同[A-Z])
[:xdigit:]任意十六进制数字(同[a-fA-F0-9])

41、重复元字符

元字符说明
*0个或多个匹配
+1个或个匹配(等于{1,})
0个或1个匹配(等于{0,1})
{n}指定数目匹配
{n,}不少于指定数目的匹配

{n,m}

匹配数目的范围(m不超过255)

42、SELECT name, c, d FROM 数据表a WHERE name REGEXP '\\([0-9] sticks?\\)';                    \\(匹配'(',[0-9]任意数字,sticks?匹配stick和sticks,因为?表示匹配0次或1次它前面的任何字符,\\)匹配')' 的数据

43、SELECT name, c, d FROM 数据表a WHERE c REGEXP '[[:digit:]]{11}';        使用正则表达式匹配任意11位数字

44、定位元字符

元字符说明
^文本的开始
$文本的结尾
[[:<:]]词的开始
[[:>:]]词的结尾

45、SELECT name, c, d FROM 数据表a WHERE c REGEXP '^[0-9\\.]';        使用正则表达式匹配数字或.开头的数据

46、SELECT Concat(name, '(', c,')') FROM 数据表a ORDER BY name;        使用Concat拼接字符串输出'name(c)'组合的一列

47、SELECT Concat(LTrim(name), '(', RTrim(c),')') FROM 数据表a ORDER BY name;        使用Concat拼接字符串输出'name(c)'组合的一列,并去掉name左侧空白和c右侧空白,(Trim()删除两侧空白)

48、SELECT Concat(name, '(', c,')') AS n_c FROM 数据表a ORDER BY name;        使用Concat拼接字符串输出'name(c)'组合的一列并取别名为n_c

49、SELECT name, c*d AS c_d FROM 数据表a WHERE name=1005 ;        查询1005的数据,并输出name为1005的c列和d列相乘结果并命名为c_d

50、MySQL算术操作符

操作符说明
+
-
*
/

51、SELECT name, Upper(name) AS BIG FROM 数据表a ORDER BY name ;        使用Upper函数将字符串字母转换为大写

52、常用文本处理函数

函数说明
Left()/Right()返回串左边/右边的字符
Length()返回串的长度
Locate()找出串的一个子串
Lower()/Upper()将串转换为小写/大写
LTrim()/RTrim()/Trim()去掉串左/右/两边的空格
Soundex()返回串的SOUNDEX值
SubString()返回字串的字符

53、日期和时间处理函数

函数说明
AddDate()增加一个日期(天、周等)
AddTime()

增加一个时间(时、分等)

CurDate()返回当前日期
CurTime()返回当前时间
Date()返回日期时间的日期部分
DateDiff()计算两个日期之差
Date_Add()高度灵活的日期运算函数
Date_Format()返回一个格式化的日期或时间串
Day()返回一个日期的天数部分
Day0fweek()对于一个日期,返回对应的星期几
Hour()返回一个时间的小时部分
Minute()返回一个时间的分钟部分
Month()返回一个时间的月份部分
Now()返回当前日期和时间
Second()返回一个时间的秒部分
Time()返回一个日期时间的时间部分
Year()返回一个日期的年份部分

54、SELECT name, time FROM 数据表a WHERE Date(time)='2020-08-02;        查询时间为2020年8月2日的数据

*55、 SELECT name, time FROM 数据表a WHERE Year(time)=2020 AND Month(time)=8;        查询时间为2020年8月份的数据

56、常用的数值处理函数

函数说明
Abs()返回一个数的绝对值
Cos()返回一个角度的余弦
Exp()返回一个数的指数值
Mod()返回除操作的余数
Pi()返回圆周率
Rand()返回一个随机数
Sin()返回一个角度的正切
Sqrt()返回一个数的平方根
Tan()返回一个角度的正切

57、聚集函数

函数说明
AVG()返回某列的平均值
COUNT()返回某列的行数
MAX()返回某列的最大值
MIN()返回某列的最小值
SUM()返回某列值之和

58、SELECT AVG(age) AS avg_age FROM 数据表a;        查询数据表a的平均年龄

60、SELECT COUNT(*) AS count FROM 数据表a WHERE age=18;        查询数据表年龄为18的数量

61、SELECT SUM(salary) AS count_salary FROM 数据表a;        查询数据表a薪水的总和

62、SELECT AVG(DISTINCT prod_price) AS avg_price FROM 数据表a WHERE name=1003;        查询数据表a1003的不同产品的平均价格

63、SELECT name, COUNT(*) AS num_prods FROM 数据表a GROUP BY name;        查询不同名字的产品数量(GROUP BY 子句必须出现在WHERE子句之后,ORDER BY子句之前。除聚集计算语句外,SELECT语句中的每个列都必须在GROUP BY子句中给出。若分组列中含有NULL值,则NULL作为一个分组返回,如果列中有多行NULL值,它们将分为一组。)

64、SELECT name, COUNT(*) AS num_prods FROM 数据表a GROUP BY name HAVING COUNT(*)>=2;        查询不同名字产品数量大于等于2的名字(WHERE在数据分组前进行过滤,HAVING在数据分组后进行过滤

65、SELECT子句顺序

子句说明是否必须使用
SELECT要返回的列或表达式
FROM从中检索数据的表仅在从表选择数据时使用
WHERE行级过滤
GROUP BY分组说明仅在按组计算聚集时使用
HAVING组级过滤
ORDER BY输出排序顺序
LIMIT要检索的行数

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值