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

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

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

SELECT
COLUMN_NAME
FROM
information_schema.COLUMNS
WHERE
table_schema = '数据库名'
AND table_name = '表名'

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

SELECT
table_name
FROM
information_schema. COLUMNS
WHERE
table_schema = '数据库名'
AND table_name in (
SELECT
TABLE_NAME
FROM
information_schema. TABLES
WHERE
table_schema = '数据库名'
) AND COLUMN_NAME = '字段名';

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

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

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

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

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

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

创建索引

. ALTER TABLE
//唯一索引 (文本字段不能添加索引)
ALTER TABLE `表名` ADD UNIQUE `索引名` (`字段`, `字段`);
//普通索引 (文本字段不能添加索引)
ALTER TABLE `表名` ADD INDEX `索引名` (`字段`, `字段`);
//主键索引
ALTER TABLE `表名` ADD PRIMARY KEY (`字段`); . CREATE INDEX
CREATE INDEX `索引名` ON `表名` (`字段`, `字段`) CREATE UNIQUE INDEX `索引名` ON `表名` (`字段`, `字段`)

删除索引

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

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

//删除自增
ALTER TABLE `表名` CHANGE `列名` `列名` int()
//删除主键索引
. 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. Spring Boot 入门(十一):集成 WebSocket, 实时显示系统日志

    以前面的博客为基础,最近一篇为Spring Boot 入门(十):集成Redis哨兵模式,实现Mybatis二级缓存.本篇博客主要介绍了Spring Boot集成 Web Socket进行日志的推送, ...

  2. 第二篇:python中的字符串资源详述

    字符串资源使用方法详解 工具:Pycharm python环境:anaconda 接下来开始逐一解释: 如图: test后敲个点,就可以调用框框内的所有函数(功能),典型的面向对象思想. 上面只是简单 ...

  3. 2018 Multi-University Training Contest 10

      Recently, TeaTree acquire new knoledge gcd (Greatest Common Divisor), now she want to test you. As ...

  4. next_permutation 函数

    next_permutation 是一个定义在 <algorithm> 中的一个全排列函数, 用于按顺序生成一个数列的全排列 基本用法 : int a[] = {1, 2, 3}; do{ ...

  5. Docker 学习 1 入门

    Docker 学习 1 入门 dockert 安装. Mac Ubuntu 查看docker 版本 docker version 拉取image. docker pull e.g docker pul ...

  6. kubernetes concepts (一)

    Concepts The Concepts section helps you learn about the parts of the Kubernetes system and the abstr ...

  7. Django2.0 配置 media

    1.setting.py文件 MEDIA_URL='/media/' MEDIA_ROOT=os.path.join(BASE_DIR,"media") 注意:MEDIA_ROOT ...

  8. [题解]CSP2019 Solution - Part A

    至于为什么是 \(\text{Part A}\) 而不是 \(\text{Day 1}\) 那是因为 Day1 T3 还没改 (那这六题的 \(\text{solution}\) 就按难度顺序写吧) ...

  9. maven报错:Return code is: 501 , ReasonPhrase:HTTPS Required

    今天把一个去年没做完的项目翻出来做时,发现maven无法正常导入依赖.检查了一遍项目配置,没发现有什么问题.而且依赖在本地仓库存在. 随后发现报错:Failed to transfer file:** ...

  10. Mabitis

    Mybatis 一.框架概念: Java框架,一个软件半成品,简单来说就是一个别人搭好的舞台,你来做表演,说白了Java框架就是封装好方便程序员操作的类,使项目的开发更简单,维护起来也更容易. 而My ...