这篇文章给大家分享的是有关MySQL常用拼接语句有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

1.拼接查询所有用户

SELECTDISTINCTCONCAT('User:\'',USER,'\'@\'',HOST,'\';')ASQUERYFROMmysql.USER;#当拼接字符串中出现'时需使用\转义符2.拼接DROP table

SELECTCONCAT('DROPtable',TABLE_NAME,';')FROMinformation_schema.TABLESWHERETABLE_SCHEMA='test';3.拼接kill连接

SELECTconcat('KILL',id,';')FROMinformation_schema.PROCESSLISTWHERESTATELIKE'Creatingsortindex';4.拼接创建数据库语句

SELECTCONCAT('createdatabase','`',SCHEMA_NAME,'`','DEFAULTCHARACTERSET',DEFAULT_CHARACTER_SET_NAME,';')ASCreateDatabaseQueryFROMinformation_schema.SCHEMATAWHERESCHEMA_NAMENOTIN('information_schema','performance_schema','mysql','sys');5.拼接创建用户的语句

SELECTCONCAT('createuser\'',user,'\'@\'',Host,'\'''IDENTIFIEDBYPASSWORD\'',authentication_string,'\';')ASCreateUserQueryFROMmysql.`user`WHERE`User`NOTIN('root','mysql.session','mysql.sys');#有密码字符串哦在其他实例执行可直接创建出与本实例相同密码的用户6.导出权限脚本 这个shell脚本也用到了拼接

#!/bin/bash#Functionexportuserprivilegespwd=yourpassexpgrants(){mysql-B-u'root'-p${pwd}-N$@-e"SELECTCONCAT('SHOWGRANTSFOR''',user,'''@''',host,''';')ASqueryFROMmysql.user"|\mysql-u'root'-p${pwd}$@|\sed's/\(GRANT.*\)/\1;/;s/^\(Grantsfor.*\)/--\1/;/--/{x;p;x;}'}expgrants>/tmp/grants.sqlecho"flushprivileges;">>/tmp/grants.sql7.查找表碎片

SELECTt.TABLE_SCHEMA,t.TABLE_NAME,t.TABLE_ROWS,concat(round(t.DATA_LENGTH/1024/1024,2),'M')ASsize,t.INDEX_LENGTH,concat(round(t.DATA_FREE/1024/1024,2),'M')ASdatafreeFROMinformation_schema.tablestWHEREt.TABLE_SCHEMA='test'orderbyDATA_LENGTHdesc;8.查找无主键表 这个没用到拼接 也分享出来吧

#查找某一个库无主键表SELECTtable_schema,table_nameFROMinformation_schema.TABLESWHEREtable_schema='test'ANDTABLE_NAMENOTIN(SELECTtable_nameFROMinformation_schema.table_constraintstJOINinformation_schema.key_column_usagekUSING(constraint_name,table_schema,table_name)WHEREt.constraint_type='PRIMARYKEY'ANDt.table_schema='test');#查找除系统库外无主键表SELECTt1.table_schema,t1.table_nameFROMinformation_schema.TABLESt1LEFTOUTERJOINinformation_schema.TABLE_CONSTRAINTSt2ONt1.table_schema=t2.TABLE_SCHEMAANDt1.table_name=t2.TABLE_NAMEANDt2.CONSTRAINT_NAMEIN('PRIMARY')WHEREt2.table_nameISNULLANDt1.TABLE_SCHEMANOTIN('information_schema','performance_schema','mysql','sys');

感谢各位的阅读!关于“MySQL常用拼接语句有哪些”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!