MySQL中常用的拼接语句是什么
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,小编给大家分享一下MySQL中常用的拼接语句是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!前言:在MySQL中 CO
千家信息网最后更新 2026年11月01日MySQL中常用的拼接语句是什么
小编给大家分享一下MySQL中常用的拼接语句是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
前言:在MySQL中 CONCAT ()函数用于将多个字符串连接成一个字符串,利用此函数我们可以将原来一步无法得到的sql拼接出来,在工作中也许会方便很多,下面主要介绍下几个常用的场景。
注:适用于5.7版本 低版本可能稍许不同。
1.拼接查询所有用户
SELECT DISTINCT CONCAT( 'User: \'', USER, '\'@\'', HOST, '\';' ) AS QUERYFROM mysql.USER;# 当拼接字符串中出现'时 需使用\转义符
2.拼接DROP table
SELECT CONCAT( 'DROP table ', TABLE_NAME, ';' )FROM information_schema. TABLESWHERE TABLE_SCHEMA = 'test';
3.拼接kill连接
SELECT concat('KILL ', id, ';')FROM information_schema. PROCESSLISTWHERE STATE LIKE 'Creating sort index';4.拼接创建数据库语句
SELECT CONCAT( 'create database ', '`', SCHEMA_NAME, '`', ' DEFAULT CHARACTER SET ', DEFAULT_CHARACTER_SET_NAME, ';' ) AS CreateDatabaseQueryFROM information_schema.SCHEMATAWHERE SCHEMA_NAME NOT IN ( 'information_schema', 'performance_schema', 'mysql', 'sys' );
5.拼接创建用户的语句
SELECT CONCAT( 'create user \'', user, '\'@\'', Host, '\'' ' IDENTIFIED BY PASSWORD \'', authentication_string, '\';' ) AS CreateUserQueryFROM mysql.`user`WHERE `User` NOT IN ( 'root', 'mysql.session', 'mysql.sys' );#有密码字符串哦 在其他实例执行 可直接创建出与本实例相同密码的用户
6.导出权限脚本 这个shell脚本也用到了拼接
#!/bin/bash #Function export user privileges pwd=yourpass expgrants() { mysql -B -u'root' -p${pwd} -N $@ -e "SELECT CONCAT( 'SHOW GRANTS FOR ''', user, '''@''', host, ''';' ) AS query FROM mysql.user" | \ mysql -u'root' -p${pwd} $@ | \ sed 's/\(GRANT .*\)/\1;/;s/^\(Grants for .*\)/-- \1 /;/--/{x;p;x;}' } expgrants > /tmp/grants.sqlecho "flush privileges;" >> /tmp/grants.sql7.查找表碎片
SELECT t.TABLE_SCHEMA, t.TABLE_NAME, t.TABLE_ROWS, concat(round(t.DATA_LENGTH / 1024 / 1024, 2), 'M') AS size, t.INDEX_LENGTH, concat(round(t.DATA_FREE / 1024 / 1024, 2), 'M') AS datafreeFROM information_schema.tables tWHERE t.TABLE_SCHEMA = 'test' order by DATA_LENGTH desc;
8.查找无主键表 这个没用到拼接 也分享出来吧
#查找某一个库无主键表SELECTtable_schema,table_nameFROM information_schema.TABLESWHERE table_schema = 'test'AND TABLE_NAME NOT IN ( SELECT table_name FROM information_schema.table_constraints t JOIN information_schema.key_column_usage k USING ( constraint_name, table_schema, table_name ) WHERE t.constraint_type = 'PRIMARY KEY' AND t.table_schema = 'test');#查找除系统库外 无主键表SELECT t1.table_schema, t1.table_nameFROM information_schema. TABLES t1LEFT OUTER JOIN information_schema.TABLE_CONSTRAINTS t2 ON t1.table_schema = t2.TABLE_SCHEMAAND t1.table_name = t2.TABLE_NAMEAND t2.CONSTRAINT_NAME IN ('PRIMARY')WHERE t2.table_name IS NULLAND t1.TABLE_SCHEMA NOT IN ( 'information_schema', 'performance_schema', 'mysql', 'sys') ;以上是"MySQL中常用的拼接语句是什么"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
语句
字符
字符串
常用
用户
篇文章
内容
函数
实例
密码
版本
脚本
不同
相同
不怎么
前言
场景
多个
大部分
数据
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
咖啡豆
互联网黑科技
广州为想互联网科技有限公司
苏州找大状互联网科技有限公司
深圳恒合互联网络科技有限公司
互联网科技有限公司图片
互联网金融 科技
猪兼强互联网科技
互联网科技媒体
科技赋能互联网健康
欧洲十大科技互联网公司
昊天互联网科技有限公司
速维有品互联网信息科技(苏州)有限公司
互联网媒体平台算高科技产业
朱啸虎曾投资哪些互联网科技企业
高科技互联网套路
风投北京互联网科技
互联网科技的前景
互联网领先科技成果宣传视频
银川新华互联网科技学校招聘
互联网络科技
有马互联网科技
互联网与新科技
天津摩尔互联网科技
奔汉互联网科技
广州善班互联网科技
威龙国际互联网科技公司
工业互联网山东科技大学
高科技互联网套路
米泉互联网科技专业怎么样