查询指定 数据库 中所有  (指定数据库的,所有表)

  1. // 可以把 TABLE_NAME 换成 * 号, 查看更丰富的信息
  2. SELECT
  3. TABLE_NAME
  4. FROM
  5. information_schema. TABLES
  6. WHERE
  7. table_schema = '数据库名'
  8.  
  9. //where 后面还有更多的条件选择,比如只查出以 oauth_表开头的表
  10. AND TABLE_NAME LIKE 'oauth_%';

查询指定 数据库 中,指定 表 的所有 字段 (指定表的,所有列)

  1. SELECT
  2. COLUMN_NAME
  3. FROM
  4. information_schema.COLUMNS
  5. WHERE
  6. table_schema = '数据库名'
  7. AND table_name = '表名'

查询指定 数据库 所有表中, 含有 某个字段 的表 (指定列的,所有表)

  1. SELECT
  2. table_name
  3. FROM
  4. information_schema. COLUMNS
  5. WHERE
  6. table_schema = '数据库名'
  7. AND table_name in (
  8. SELECT
  9. TABLE_NAME
  10. FROM
  11. information_schema. TABLES
  12. WHERE
  13. table_schema = '数据库名'
  14. ) AND COLUMN_NAME = '字段名';

查询指定 数据库 中所有 表 的 外键

  1. SELECT
  2. *
  3. FROM
  4. information_schema.TABLE_CONSTRAINTS
  5. WHERE
  6. //注意指定约束类型, 是为了过滤掉 "PRIMARY KEY, UNIQUE"这两个索引
  7. CONSTRAINT_TYPE = 'FOREIGN KEY'
  8. AND CONSTRAINT_SCHEMA = '数据库名'
  9.  
  10. //如果只查询外键是以 fk_开头命名的 (如果你的外键命名以 fk_开头的话)
  11. AND CONSTRAINT_NAME LIKE 'fk_%';

查询指定 数据库 中所有 表 的 索引 (主键,唯一,普通等, 除了外键)

  1. SELECT
  2. *
  3. FROM
  4. INFORMATION_SCHEMA.STATISTICS
  5. WHERE
  6. TABLE_SCHEMA = '数据库名';
  7.  
  8. //对常用的几个字段进行说明
  9. //TABLE_SCHEMA, 表所在库
  10. //TABLE_NAME, 表名
  11.  
  12. //NON_UNIQUE, 该索引能否包含重复, 1代表可以, 0代表不可以, 注意PRIMARY ,UNIQUE 为0,
  13. //用INDEX_NAME 字段将两者区分
  14.  
  15. //INDEX_NAME, 索引名
  16. //COLUMN_NAME 表字段名,(表示此字段上加了索引)

如果只想查出 某个表 的 索引

  1. //以下两个 sql 是等价的,
  2. //注意 表名和数据库名 顺序 以及 是否加引号 ''
  3. SELECT * FROM INFORMATION_SCHEMA.STATISTICS
  4. WHERE table_name = '表名'
  5. AND table_schema = '数据库名'
  6.  
  7. SHOW INDEX
  8. FROM 表名
  9. FROM 数据库名

创建索引

  1. . ALTER TABLE
  2. //唯一索引 (文本字段不能添加索引)
  3. ALTER TABLE `表名` ADD UNIQUE `索引名` (`字段`, `字段`);
  4. //普通索引 (文本字段不能添加索引)
  5. ALTER TABLE `表名` ADD INDEX `索引名` (`字段`, `字段`);
  6. //主键索引
  7. ALTER TABLE `表名` ADD PRIMARY KEY (`字段`);
  8.  
  9. . CREATE INDEX
  10. CREATE INDEX `索引名` ON `表名` (`字段`, `字段`)
  11.  
  12. CREATE UNIQUE INDEX `索引名` ON `表名` (`字段`, `字段`)

删除索引

  1. //删除普通索引或唯一索引
  2. . DROP INDEX index_name ON talbe_name
  3. . ALTER TABLE table_name DROP INDEX index_name

注意: 按照一般情况, 主键我们一般都是设置为自增的, 所以删除主键索引前, 要先删掉自增

  1. //删除自增
  2. ALTER TABLE `表名` CHANGE `列名` `列名` int()
  3. //删除主键索引
  4. . ALTER TABLE table_name DROP PRIMARY KEY

mysql 查询指定数据库所有表, 指定表所有列, 指定列所有表 所有外键及索引, 以及索引的创建和删除的更多相关文章

  1. MySQL 查询某个数据库中所有包含数据记录的表名

    MySQL 查询某个数据库中所有包含数据记录的表名 有时根据实际应用需要,需要对数据进行备份. 如果一个数据库中有很多数据表,但是只想备份包含数据记录的那些表数据(空表不做数据备份). 如果通过如下S ...

  2. #mysql查询特定数据库中的所有表名

    #mysql查询特定数据库中的所有表名select table_namefrom information_schema.tableswhere table_schema='smbms' and tab ...

  3. MySQL中查询所有数据库占用磁盘空间大小和单个库中所有表的大小的sql语句

    查询所有数据库占用磁盘空间大小的SQL语句: ,),' MB') as data_size, concat(,),'MB') as index_size from information_schema ...

  4. mysql查询某个数据库表的数量

    在mysql中有个数据库information_schema下的表tables记录了所有数据库中所有的表相关信息 TABLE_SCHEMA 数据库名称 SELECT COUNT( * ) FROM i ...

  5. mysql查询某个数据库某个表的字段

    1.查看字段详细信息 -- 查看详细信息 SELECT COLUMN_NAME "字段名称", COLUMN_TYPE "字段类型长度", IF(EXTRA=& ...

  6. python学习之老男孩python全栈第九期_数据库day001知识点总结 —— MySQL操作数据库以及数据表、基本数据类型、基本增删改查、外键定义以及创建

    一. 学习SQL语句规则以及外键 1. 操作文件夹 create database db2; 创建文件夹 create database db2 default charset utf8; 创建文件夹 ...

  7. 【mysql】如何通过navicat配置表与表的多对一关系,一对一关系?设计外键的效果

    背景: 现在要将接口自动化测试结果持久化,当前只是每次运行接口测试,将测试结果通过邮件发送给项目组成员.邮件内容如下: 表设计: 为了呈现这个结果:我设计了2张表run_result和run_deta ...

  8. powerdesigner 外键生成sql语句设置在创建表里面

    根据情况需要将创建外键表的sql语句生成在创建表的sql语句中,如下设置:

  9. MySQL查询所有数据库表出错

    1.错误描述 1 queries executed, 0 success, 1 errors, 0 warnings 查询:show tables 错误代码: 1046 No database sel ...

  10. mysql 查询整个数据库所有表的行数

    >use information_schema; >select sum(table_rows) from tables where TABLE_SCHEMA = "test&q ...

随机推荐

  1. 解决a 标签 和 div 标签高度超出的问题

    当a,或div标签里面有内容时,有时候a 或div的高度会超出,此时可以设置a或div的font-size:0:

  2. shell 条件测试

    1.文件相关 -e 判断文件或者文件夹是否存在 -d 判断目录是否存在 -f 判断文件是否存在 -r 判断是否有读权限 -w 判断是否有写权限 -x 判断是否有执行权限 1.1命令行使用 [root@ ...

  3. [bzoj4569] [loj#2014] [Scoi2016] 萌萌哒

    Description 一个长度为 \(n\) 的大数,用 \(S1S2S3...Sn\) 表示,其中 \(Si\) 表示数的第 \(i\) 位, \(S1\) 是数的最高位,告诉你一些限制条件,每个 ...

  4. LeetCode 11 水池蓄水问题

    今天给大家分享的是一道LeetCode中等难度的题,难度不大,但是解法蛮有意思.我们一起来看题目: Link Container With Most Water Difficulty Medium 题 ...

  5. CSS-14-浮动

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  6. MySQL5.6绿色版安装

    1.下载 MySQL绿色版安装需下载好三个文件 (1).MySQL5.6版本离线安装包 (2).Microsoft Visual C++ (3).Microsoft .NET Framework 1. ...

  7. gerrit merge后不能提交问题

    需求:git 分支合并 问题:使用 git merge 在本地执行分支合并操作,然后想 push 到 gerrit 上评审入库,可是在提交时,提示:  ! [remote rejected] HEAD ...

  8. PKU 1185-炮兵阵地(状压DP)

    炮兵阵地 题目链接 Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 34827 Accepted: 13353 Descripti ...

  9. Springboot | @RequestBody 接收到的参数对象属性为空

    背景 今天在调试项目的时候遇到一个坑,用Postman发送一个post请求,在Springboot项目使用@RequestBody接收时参数总是报不存在,但是多次检查postman上的请求格式以及项目 ...

  10. 004-OSI参考模型和分层思想

    OSI参考模型 应用层 所有能产生网络流量的程序 表示层 在传输之前是否进行加密或者压缩处理 涉及安全问题 会话层 Session 是建立在传输层之上,利用传输层提供的服务,使应用建立和维持会话,并能 ...