设为首页 - 加入收藏 邢台站长网 (http://www.0319zz.com)- 国内知名站长资讯网站,提供最新最全的站长资讯,创业经验,网站建设等!
热搜: 2018 模式 运营商
当前位置: 首页 > 站长学院 > MySql教程 > 正文

常用SQL语句分享

发布时间:2019-10-21 12:22 所属栏目:[MySql教程] 来源:MySQL技术
导读:【大咖·来了 第7期】10月24日晚8点观看《智能导购对话机器人实践》 前言: 日常工作或学习过程中,我们可能会经常用到某些SQL,建议大家多多整理记录下这些常用的SQL,这样后续用到会方便很多。笔者在工作及学习过程中也整理了下个人常用的SQL,现在分享给
【大咖·来了 第7期】10月24日晚8点观看《智能导购对话机器人实践》

?前言:

日常工作或学习过程中,我们可能会经常用到某些SQL,建议大家多多整理记录下这些常用的SQL,这样后续用到会方便很多。笔者在工作及学习过程中也整理了下个人常用的SQL,现在分享给你!可能有些SQL你还不常用,但还是希望对你有所帮助,说不定某日有需求就可以用到。

常用SQL语句分享

注:下文分享的SQL适用于MySQL 5.7 版本,低版本可能稍许不同。有些SQL可能执行需要较高权限。

1.show相关语句

  1. #?查看实例参数?例如:?
  2. show?variables?like?'%innodb%';?
  3. show?global?variables?like?'%innodb%';?
  4. #?查看实例状态,例如:?
  5. show?status?like?'uptime%';?
  6. show?global?status?like?'connection%';?
  7. #?查看数据库链接:?
  8. show?processlist;?
  9. show?full?processlist;?
  10. #?查询某个表的结构:?
  11. show?create?table?tb_name;?
  12. #?查询某个表的详细字段信息:?
  13. show?full?columns?from?tb_name;?
  14. #?查询某个表的全部索引信息:?
  15. show?index?from?tb_name;?
  16. #?查询某个库以cd开头的表:?
  17. show?tables?like?'cd%';?
  18. #?查询某个库中的所有视图:?
  19. show?table?status?where?comment='view';?
  20. #?查询某个用户的权限:?
  21. show?grants?for?'test_user'@'%';?

2.查看账户相关信息

  1. #?这里先介绍下CONCAT函数:在MySQL中?CONCAT()函数用于将多个字符串连接成一个字符串,?
  2. 利用此函数我们可以将原来一步无法得到的sql拼接出来,后面部分语句有用到该函数。?
  3. #?当拼接字符串中出现''时?需使用\转义符?
  4. #?查看所有用户名:?
  5. SELECT?DISTINCT?
  6. ?CONCAT(?
  7. ?'User:?\'',?
  8. ?user,?
  9. ?'\'@\'',?
  10. ?host,?
  11. ?'\';'?
  12. ?)?AS?QUERY?
  13. FROM?
  14. ?mysql.user;?
  15. #?查看用户详细信息:?
  16. SELECT?user,?
  17. ?host,?
  18. ?authentication_string,?
  19. ?password_expired,?
  20. ?password_lifetime,?
  21. ?password_last_changed,?
  22. ?account_locked??
  23. FROM?
  24. ?mysql.user;?

3.KILL数据库链接

  1. #?下面列举SQL只是拼接出kill?链接的语句,若想执行?直接将结果复制执行即可。?
  2. #?杀掉空闲时间大于2000s的链接:?
  3. SELECT?
  4. ?concat(?'KILL?',?id,?';'?)??
  5. FROM?
  6. ?information_schema.`PROCESSLIST`??
  7. WHERE?
  8. ?Command?=?'Sleep'??
  9. ?AND?TIME?>?2000;?
  10. ??
  11. #?杀掉处于某状态的链接:?
  12. SELECT?
  13. ?concat(?'KILL?',?id,?';'?)??
  14. FROM?
  15. ?information_schema.`PROCESSLIST`??
  16. WHERE?
  17. ?STATE?LIKE?'Creating?sort?index';?
  18. ??
  19. #?杀掉某个用户的链接:?
  20. SELECT?
  21. ?concat(?'KILL?',?id,?';'?)??
  22. FROM?
  23. ?information_schema.`PROCESSLIST`??
  24. WHERE?
  25. ?where?user='root';?

4.拼接创建数据库或用户语句

  1. #?拼接创建数据库语句(排除系统库):?
  2. SELECT?
  3. ?CONCAT(?
  4. ?'create?database?',?
  5. ?'`',?
  6. ?SCHEMA_NAME,?
  7. ?'`',?
  8. ?'?DEFAULT?CHARACTER?SET?',?
  9. ?DEFAULT_CHARACTER_SET_NAME,?
  10. ?';'?
  11. ?)?AS?CreateDatabaseQuery?
  12. FROM?
  13. ?information_schema.SCHEMATA?
  14. WHERE?
  15. ?SCHEMA_NAME?NOT?IN?(?
  16. ?'information_schema',?
  17. ?'performance_schema',?
  18. ?'mysql',?
  19. ?'sys'?
  20. ?);?
  21. ??
  22. #?拼接创建用户语句(排除系统用户):?
  23. SELECT?
  24. ?CONCAT(?
  25. ?'create?user?\'',?
  26. ?user,?
  27. ?'\'@\'',?
  28. ?Host,?
  29. ?'\''?
  30. ?'?IDENTIFIED?BY?PASSWORD?\'',?
  31. ?authentication_string,?
  32. ?'\';'?
  33. ?)?AS?CreateUserQuery?
  34. FROM?
  35. ?mysql.`user`?
  36. WHERE?
  37. ?`User`?NOT?IN?(?
  38. ?'root',?
  39. ?'mysql.session',?
  40. ?'mysql.sys'?
  41. ?);?
  42. #?有密码字符串哦?在其他实例执行?可直接创建出与本实例相同密码的用户。?

【免责声明】本站内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

网友评论
推荐文章