返回顶部
首页 > 资讯 > 数据库 >MySQL中常用的拼接语句是什么
  • 963
分享到

MySQL中常用的拼接语句是什么

2024-04-02 19:04:59 963人浏览 安东尼
摘要

小编给大家分享一下Mysql中常用的拼接语句是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!前言:在mysql中 CONCA

小编给大家分享一下Mysql中常用的拼接语句是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

前言:在mysql中 CONCAT ()函数用于将多个字符串连接成一个字符串,利用此函数我们可以将原来一步无法得到的sql拼接出来,在工作中也许会方便很多,下面主要介绍下几个常用的场景。

注:适用于5.7版本 低版本可能稍许不同。

1.拼接查询所有用户

SELECT DISTINCT
    CONCAT(
        'User: \'',
        USER,
        '\'@\'',
        HOST,
        '\';'
    ) AS QUERY
FROM
    mysql.USER;
# 当拼接字符串中出现'时 需使用\转义符

2.拼接DROP table

SELECT
    CONCAT(
        'DROP table ',
        TABLE_NAME,
        ';'
    )
FROM
    infORMation_schema. TABLES
WHERE
    TABLE_SCHEMA = 'test';

3.拼接kill连接

SELECT
    concat('KILL ', id, ';')
FROM
    information_schema. PROCESSLIST
WHERE
    STATE LIKE 'Creating sort index';

4.拼接创建数据库语句

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'
    );

5.拼接创建用户的语句

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'
    );
#有密码字符串哦 在其他实例执行 可直接创建出与本实例相同密码的用户

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.sql
echo "flush privileges;" >> /tmp/grants.sql

7.查找表碎片

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;

8.查找无主键表 这个没用到拼接 也分享出来吧

#查找某一个库无主键表
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'
) ;

以上是“MySQL中常用的拼接语句是什么”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网数据库频道!

您可能感兴趣的文档:

--结束END--

本文标题: MySQL中常用的拼接语句是什么

本文链接: https://lsjlt.com/news/53574.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • MySQL中常用的拼接语句是什么
    小编给大家分享一下MySQL中常用的拼接语句是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!前言:在MySQL中 CONCA...
    99+
    2024-04-02
  • MySQL 常用的拼接语句汇总
    前言:在MySQL中 CONCAT ()函数用于将多个字符串连接成一个字符串,利用此函数我们可以将原来一步无法得到的sql拼接出来,在工作中也许会方便很多,下面主要介绍下几个常用的场景。 注:适用于5.7版本...
    99+
    2022-05-31
    MySQL 拼接 MySQL 拼接语句
  • MySQL常用拼接语句有哪些
    这篇文章给大家分享的是有关MySQL常用拼接语句有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1.拼接查询所有用户SELECT DISTINCT &nbs...
    99+
    2024-04-02
  • mysql中alert语句的用法是什么
    在MySQL中,ALERT语句用于发送警报消息或通知。它通常用于监控数据库性能和运行情况。 ALERT语句的语法如下: ALERT ...
    99+
    2024-04-09
    mysql
  • mysql中select语句的用法是什么
    在MySQL中,SELECT语句用于从一个或多个表中检索数据。它的基本语法是: SELECT 列名1, 列名2, ... F...
    99+
    2024-04-09
    mysql
  • mysql中prepare语句的作用是什么
    在MySQL中,PREPARE语句用于准备一个动态SQL语句,该语句可以包含占位符(placeholders),然后将该语句保存在一...
    99+
    2024-04-22
    mysql
  • Java中怎么拼接SQL语句到mybatis的xml
    这篇文章将为大家详细讲解有关Java中怎么拼接SQL语句到mybatis的xml,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。关键语句:StringBuilder whereSql&n...
    99+
    2023-06-15
  • MySQL中replace into 语句的作用是什么
    这期内容当中小编将会给大家带来有关MySQL中replace into 语句的作用是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。  在主库上操作。  代码...
    99+
    2024-04-02
  • MySQL中alter table语句的作用是什么
    在MySQL中,ALTER TABLE语句用于修改现有表的结构。具体来说,ALTER TABLE语句可以用来执行以下操作: 添加列...
    99+
    2024-04-09
    MySQL
  • mysql中select if语句的作用是什么
    在MySQL中,SELECT IF语句用于根据特定条件返回不同的值。它的语法如下: SELECT IF(condition,...
    99+
    2024-04-09
    mysql
  • mysql中drop index语句的作用是什么
    在MySQL中,DROP INDEX语句用于删除一个已存在的索引。通过DROP INDEX语句,可以删除表中的指定索引,从而提高数据...
    99+
    2024-04-09
    mysql
  • mysql中drop user语句的作用是什么
    drop user语句在MySQL中用于删除一个用户账号及其对应的权限。通过drop user语句,可以彻底删除一个用户账号,包括其...
    99+
    2024-05-21
    mysql
  • MySQL update语句的用法是什么
    MySQL的UPDATE语句用于修改表中现有记录的值,可以根据指定的条件更新指定的列。 UPDATE语句的基本语法如下: UPDAT...
    99+
    2024-02-29
    MySQL
  • mysql set语句的用法是什么
    SET语句用于在MySQL中设置变量的值或者修改表中的数据。它有以下几种用法: 设置会话变量的值: SET @var_name ...
    99+
    2024-04-09
    mysql
  • mysql merge语句的用法是什么
    MySQL中没有MERGE语句,但是可以通过其他方式实现类似的功能。 在MySQL中,可以使用INSERT INTO … ON DU...
    99+
    2024-04-09
    mysql
  • mysql groupby语句的用法是什么
    MySQL的GROUP BY语句用于根据指定的列对查询结果进行分组。它通常与聚合函数(如SUM、COUNT、AVG等)一起使用,用于...
    99+
    2024-04-09
    mysql
  • 局域网内连接MySQL的语句是什么
    本篇内容介绍了“局域网内连接MySQL的语句是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!我们都知道...
    99+
    2024-04-02
  • MySQL慢SQL语句常见原因是什么
    这篇文章主要为大家展示了“MySQL慢SQL语句常见原因是什么”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“MySQL慢SQL语句常见原因是什么”这篇文章吧。1...
    99+
    2024-04-02
  • TP6中的原生MySql语句是什么
    这篇文章给大家分享的是有关TP6中的原生MySql语句是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。使用前提:ThinkPHP6 数据库和模型操作已经独立为ThinkORM库要使用Db类必须使用门面方式( ...
    99+
    2023-06-14
  • mysql字段拼接的方法是什么
    在 MySQL 中,可以使用 CONCAT() 函数来拼接字段。该函数可以用来连接两个或多个字段的值,并返回一个包含连接值的...
    99+
    2024-05-21
    mysql
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作