摘要:前言在中函数用于将多个字符串连接成一个字符串,利用此函数我们可以将原来一步无法得到的拼接出来,在工作中也许会方便很多,下面主要介绍下几个常用的场景。注适用于版本低版本可能稍许不同。
前言:在MySQL中 CONCAT ()函数用于将多个字符串连接成一个字符串,利用此函数我们可以将原来一步无法得到的sql拼接出来,在工作中也许会方便很多,下面主要介绍下几个常用的场景。
注:适用于5.7版本 低版本可能稍许不同。
SELECT DISTINCT CONCAT( "User: "", USER, ""@"", HOST, "";" ) AS QUERY FROM mysql.USER; # 当拼接字符串中出现"时 需使用转义符
SELECT CONCAT( "DROP table ", TABLE_NAME, ";" ) FROM information_schema. TABLES WHERE TABLE_SCHEMA = "test";
SELECT concat("KILL ", id, ";") FROM information_schema. PROCESSLIST WHERE STATE LIKE "Creating sort index";
SELECT CONCAT( "create database ", "`", SCHEMA_NAME, "`", " DEFAULT CHARACTER SET ", DEFAULT_CHARACTER_SET_NAME, ";" ) AS CreateDatabaseQuery FROM information_schema.SCHEMATA WHERE SCHEMA_NAME NOT IN ( "information_schema", "performance_schema", "mysql", "sys" );
SELECT CONCAT( "create user "", user, ""@"", Host, """ " IDENTIFIED BY PASSWORD "", authentication_string, "";" ) AS CreateUserQuery FROM mysql.`user` WHERE `User` NOT IN ( "root", "mysql.session", "mysql.sys" ); #有密码字符串哦 在其他实例执行 可直接创建出与本实例相同密码的用户
#!/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.sql echo "flush privileges;" >> /tmp/grants.sql
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 datafree FROM information_schema.tables t WHERE t.TABLE_SCHEMA = "test" order by DATA_LENGTH desc;
#查找某一个库无主键表 SELECT table_schema, table_name FROM information_schema.TABLES WHERE 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_name FROM information_schema. TABLES t1 LEFT OUTER JOIN information_schema.TABLE_CONSTRAINTS t2 ON t1.table_schema = t2.TABLE_SCHEMA AND t1.table_name = t2.TABLE_NAME AND t2.CONSTRAINT_NAME IN ("PRIMARY") WHERE t2.table_name IS NULL AND t1.TABLE_SCHEMA NOT IN ( "information_schema", "performance_schema", "mysql", "sys" ) ;
欢迎大家收藏,其他同学有没有类似实用的语句呢 也可以分享出来哦!
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/48581.html
摘要:终端操作常用命令。函数函数大全及用法示例从上的测试,我们可以看出方法在进行加减法操作时可以有效的计算日期。示例对月份进行分组,并将分组月份的获取到,如果用这个方法最好不过了。 MySQL 终端操作常用命令。 1、连接数据库 mysql -uroot -p 2、展示mysql的数据库 mysql> show databases; 创建数据库: mysql> create database...
摘要:以下分为各部分来讲述我们的实现方案脚本配置文件代码使用方法数据产出。中的配置数据再在中新建一个名为的配置文件,用于存放连接数据库所需的相关参数。 查看原文:http://blog.csdn.net/u0108184... Gradle实战系列文章: 《Gradle基本知识点与常用配置》《Gradle实战:Android多渠道打包方案汇总》《Gradle实战:不同编译类型的包同设备共存...
摘要:以下分为各部分来讲述我们的实现方案脚本配置文件代码使用方法数据产出。中的配置数据再在中新建一个名为的配置文件,用于存放连接数据库所需的相关参数。 查看原文:http://blog.csdn.net/u0108184... Gradle实战系列文章: 《Gradle基本知识点与常用配置》《Gradle实战:Android多渠道打包方案汇总》《Gradle实战:不同编译类型的包同设备共存...
摘要:计算字段是在检索过程中建立的虚拟字段,他们并不实际存在于数据库中。计算字段和程序处理之间关系数据库这种临时处理数据,格式化输出的结果,都可以使用编程语言来实现。之间多个值使用逗号分割。过滤字段上面使用来组合字段。 本文主要介绍Mysql中计算字段的使用方法 我博客文章地址:http://weiya.me/item/60.html 简介 在创建数据库表的时候,往往为了数据库的各种性能,我...
摘要:计算字段是在检索过程中建立的虚拟字段,他们并不实际存在于数据库中。计算字段和程序处理之间关系数据库这种临时处理数据,格式化输出的结果,都可以使用编程语言来实现。之间多个值使用逗号分割。过滤字段上面使用来组合字段。 本文主要介绍Mysql中计算字段的使用方法 我博客文章地址:http://weiya.me/item/60.html 简介 在创建数据库表的时候,往往为了数据库的各种性能,我...
阅读 2852·2021-09-24 09:47
阅读 2900·2021-09-22 15:50
阅读 3120·2021-09-10 10:51
阅读 2980·2019-08-29 17:10
阅读 2782·2019-08-26 12:14
阅读 1729·2019-08-26 12:00
阅读 731·2019-08-26 11:44
阅读 553·2019-08-26 11:44