MySQL中常用的拼接语句是什么
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,小编给大家分享一下MySQL中常用的拼接语句是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!前言:在MySQL中 CO
千家信息网最后更新 2025年11月07日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安全错误
数据库的锁怎样保障安全
凯弗克数据库
盐城创新软件开发业务流程
mysql开源数据库源码
该数据库名字吗
互联网科技对社会的影响
黑客攻击抖音数据库
知名l2tp服务器租用公司
网络安全综合保障岗
ec服务器需要正版账号吗
软件开发集成测试用例设计
纵向数据怎么建立数据库
自考网络安全学校
杭州软件开发怎样收费
中国自主网络安全
连无线时要输网络安全密钥
网络技术员要会哪些
物联网安卓软件开发推荐
下游服务器调用异常
广州华兴网络技术有限公司
简述samba服务器部署流程
服务器怎么下载桌面
华农数据库应用
央企调岗到软件开发
服务器457
贵州北斗校时服务器云空间
目前流行的主流数据库有哪些
软件开发项目需求文档模板
计算机网络技术期末答案
数据库讨论结果
下游服务器调用异常