mysql 查询指定数据库所有表, 指定表所有列, 指定列所有表 所有外键及索引, 以及索引的创建和删除
查询指定 数据库 中所有 表 (指定数据库的,所有表)
// 可以把 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 查询指定数据库所有表, 指定表所有列, 指定列所有表 所有外键及索引, 以及索引的创建和删除的更多相关文章
- MySQL 查询某个数据库中所有包含数据记录的表名
MySQL 查询某个数据库中所有包含数据记录的表名 有时根据实际应用需要,需要对数据进行备份. 如果一个数据库中有很多数据表,但是只想备份包含数据记录的那些表数据(空表不做数据备份). 如果通过如下S ...
- #mysql查询特定数据库中的所有表名
#mysql查询特定数据库中的所有表名select table_namefrom information_schema.tableswhere table_schema='smbms' and tab ...
- MySQL中查询所有数据库占用磁盘空间大小和单个库中所有表的大小的sql语句
查询所有数据库占用磁盘空间大小的SQL语句: ,),' MB') as data_size, concat(,),'MB') as index_size from information_schema ...
- mysql查询某个数据库表的数量
在mysql中有个数据库information_schema下的表tables记录了所有数据库中所有的表相关信息 TABLE_SCHEMA 数据库名称 SELECT COUNT( * ) FROM i ...
- mysql查询某个数据库某个表的字段
1.查看字段详细信息 -- 查看详细信息 SELECT COLUMN_NAME "字段名称", COLUMN_TYPE "字段类型长度", IF(EXTRA=& ...
- python学习之老男孩python全栈第九期_数据库day001知识点总结 —— MySQL操作数据库以及数据表、基本数据类型、基本增删改查、外键定义以及创建
一. 学习SQL语句规则以及外键 1. 操作文件夹 create database db2; 创建文件夹 create database db2 default charset utf8; 创建文件夹 ...
- 【mysql】如何通过navicat配置表与表的多对一关系,一对一关系?设计外键的效果
背景: 现在要将接口自动化测试结果持久化,当前只是每次运行接口测试,将测试结果通过邮件发送给项目组成员.邮件内容如下: 表设计: 为了呈现这个结果:我设计了2张表run_result和run_deta ...
- powerdesigner 外键生成sql语句设置在创建表里面
根据情况需要将创建外键表的sql语句生成在创建表的sql语句中,如下设置:
- MySQL查询所有数据库表出错
1.错误描述 1 queries executed, 0 success, 1 errors, 0 warnings 查询:show tables 错误代码: 1046 No database sel ...
- mysql 查询整个数据库所有表的行数
>use information_schema; >select sum(table_rows) from tables where TABLE_SCHEMA = "test&q ...
随机推荐
- poj 2253 最短路 or 最小生成树
Freddy Frog is sitting on a stone in the middle of a lake. Suddenly he notices Fiona Frog who is sit ...
- AI漫谈:我们距离实现《庆余年》里的五竹叔机器人还有多远?
(警告: 本文包含少量剧透内容,请酌情阅读) 五竹叔是机器人吗? 看过庆余年的朋友,一定对五竹叔印象深刻,外表英俊潇洒,一袭黑衣加黑布条蒙眼,充满神秘侠客气息.五竹叔不但神秘,而且言行举止常常很 ...
- final与 static的区别;static代码块以及嵌套类介绍
本篇文章主要分为两个模块进行介绍:1.final,staic,static final之间的异同:2. static 模块:3.嵌套类的概念 1.final,staic,static final之间的 ...
- Activiti 规则任务(businessRuleTask)
Activiti 规则任务(businessRuleTask) 作者:Jesai 目前国内研究Activiti规则任务businessRuleTask)的文章在网上应该不超出3篇 小觑夜漫酒作伴,破晓 ...
- sqlachemy查询对象转化成字典/json使用
https://www.cnblogs.com/sanduzxcvbnm/p/10220718.html
- FreeImage 结合 VB6 使用技巧
1.图片(Bitmap)改变为32位使用FreeImage_ConvertColorDepth函数.图片半透明绘制需要图片(Bitmap)是32位的. 2.图片(Bitmap)的半透明绘制使用函数:F ...
- python 3 创建虚拟环境(Win10)
python 3 创建虚拟环境(Win10) ①为什么要用虚拟环境? 为了解决一个环境多个项目的版本冲突问题 ②如何创建虚拟环境? 用窗口键+R来打开win10的运行窗口,然后在运行输入框输入cmd, ...
- 光流法draw_flow()函数报错
光流法draw_flow()函数报错 import cv2 from scipy import * def draw_flow(im, flow, step=16): ""&quo ...
- Linux下安装nvidia显卡驱动
部署环境 操作系统:Centos 7.4 在线源:Centos 7.4镜像源 安装操作 1.安装系统插件 [root@localhost ~]# yum -y install gcc kernel-d ...
- time 模块 和 random 模块常用方法讲解
import timeprint(help(time))print(time.time())#时间戳 1573991312.5361328print(time.perf_counter())#计算CP ...