前言

这一张就是就是查询自己设计数据库的结构,对于接收一个老的项目相当重要。

列举模式中的表

查询所以表

select table_name
from INFORMATION_SCHEMA.TABLES

有时候需要查询某个管理者管理了那些表可以:

where TABLE_SCHEMA='SMEAGOL'

列举模式中的表

上面的是查表,下面的是查表的列

select COLUMN_NAME,DATA_TYPE,ordinal_position
from INFORMATION_SCHEMA.COLUMNS
where TABLE_NAME = 'emp'

ordinal_position 因为意思就是编号,相当有用的,比如数据迁移。

列举索引列

查询某个表的索引:

select a.name table_name,b.name index_name,d.name column_nmae,c.index_column_id
from sys.tables a,sys.indexes b,sys.index_columns c,sys.columns d
where a.name='emp'and
a.object_id=b.object_id and
b.object_id=c.object_id and
b.index_id=c.index_id and
c.object_id=d.object_id and
c.column_id=d.column_id



注意一个index_name 里面不仅显示了索引名,还有索引类型,是主键

mysql 中

show index from emp

列举约束

select a.CONSTRAINT_NAME,b.CONSTRAINT_NAME,a.TABLE_NAME,a.CONSTRAINT_NAME,b.COLUMN_NAME,a.CONSTRAINT_TYPE
from INFORMATION_SCHEMA.TABLE_CONSTRAINTS a,
INFORMATION_SCHEMA.KEY_COLUMN_USAGE b
where a.TABLE_NAME='emp' and
a.TABLE_NAME=b.TABLE_NAME and
a.TABLE_SCHEMA=b.TABLE_SCHEMA

你会发现一个问题,就是a.CONSTRAINT_NAME,b.CONSTRAINT_NAME在第二列不相等,后面将会自然揭晓。

sql 语句系列(列举系列)[八百章之第八章]的更多相关文章

  1. SQL语句复习【专题八】

    SQL语句复习[专题八] 序列 Sequence.数据库对象是 oracle 专有的.作用:可以将某一列的值使用序列,来实现自动增长的功能.访问序列的值.[序列有两个属性 nextval currva ...

  2. sql 语句系列(多表之链)[八百章之第三章]

    新增连接查询而不影响其他连接查询 请看图: 这种情况我们一般会使用左连接的方式. select e.ENAME,d.LOC,eb.RECEIVED from emp e join dept d on( ...

  3. sql 语句系列(null 值处理)[八百章之第二章]

    查找只存在一个表中的数据 有两张表: EMP: select * from emp DEPT: 他们有共同的属性:deptno 现在要查询EMP 中的deptno不等于DEPTNO的deptno项. ...

  4. sql 语句系列(字符串的遍历嵌入删除与统计)[八百章之第十一章]

    遍历字符串 我觉得首先要提出一个疑问: 一个数据库本身就是用于存储的,遍历字符串究竟有何意义? 先看如何实现的,毕竟sql service 是没有for循环,也没有loop和while的. selec ...

  5. 以太坊系列之十八: 百行go代码构建p2p聊天室

    百行go代码构建p2p聊天室 百行go代码构建p2p聊天室 1. 上手使用 2. whisper 原理 3. 源码解读 3.1 参数说明 3.1 连接主节点 3.2 我的标识 3.2 配置我的节点 3 ...

  6. 50个SQL语句(MySQL版) 问题八

    --------------------------表结构-------------------------- student(StuId,StuName,StuAge,StuSex) 学生表 tea ...

  7. 《Entity Framework 6 Recipes》中文翻译系列 (12) -----第三章 查询之使用SQL语句

    翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 3-2使用原生SQL语句更新 问题 你想在实体框架中使用原生的SQL语句,来更新底层 ...

  8. SQL Server调优系列玩转篇二(如何利用汇聚联合提示(Hint)引导语句运行)

    前言 上一篇我们分析了查询Hint的用法,作为调优系列的最后一个玩转模块的第一篇.有兴趣的可以点击查看:SQL Server调优系列玩转篇(如何利用查询提示(Hint)引导语句运行) 本篇继续玩转模块 ...

  9. SQL Server 调优系列玩转篇二(如何利用汇聚联合提示(Hint)引导语句运行)

    前言 上一篇我们分析了查询Hint的用法,作为调优系列的最后一个玩转模块的第一篇.有兴趣的可以点击查看:SQL Server调优系列玩转篇(如何利用查询提示(Hint)引导语句运行) 本篇继续玩转模块 ...

  10. Spring Boot干货系列:(八)数据存储篇-SQL关系型数据库之JdbcTemplate的使用

    Spring Boot干货系列:(八)数据存储篇-SQL关系型数据库之JdbcTemplate的使用 原创 2017-04-13 嘟嘟MD 嘟爷java超神学堂 前言 前面几章介绍了一些基础,但都是静 ...

随机推荐

  1. Codeforces Round 928 (Div. 4)(A、B、C、D、E、G)

    目录 A B C D E G A 统计A.B输出 #include <bits/stdc++.h> #define int long long #define rep(i,a,b) for ...

  2. SpringMVC快速复习(超详细)

    目录 一.SpringMVC简介 1.什么是MVC 2.什么是SpringMVC 3.SpringMVC的特点 二.HelloWorld 1.开发环境 2.创建maven工程 a>添加web模块 ...

  3. Google Chart API学习(一)

    圆饼示例: <html> <head> <!--Load the AJAX API--> <script type="text/javascript ...

  4. Java递归实现全排列改进(二)---利用ArrayList实现去重

    import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class Test{  priv ...

  5. Morris遍历:常数空间遍历二叉树

    Morris遍历 cur有左树且第一次遍历到,去左孩子 没左树或者第二次遍历到,去右孩子 没右树,去后继节点 得到Morris序.对于该序列中出现两次的节点,只保留第一次遍历,结果就是先序遍历.只保留 ...

  6. 记一次由虚假唤醒产生的bug

    记一次由虚假唤醒产生的bug 用int a代表产品数量最少0最多10,有两个生产者,三个消费者,用多线程和条件变量模拟生产消费过程: #include <sys/types.h> #inc ...

  7. 如何在uniapp中优雅地使用WebView

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 从webview页面传值到uniapp中 官方文档已经很详细了,这里给大家上我的实战代码,首先在webview页面中引入相关依赖: < ...

  8. JS服务端技术—Node.js知识点

    [版权声明]未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) https://www.cnblogs.com/cnb-yuchen/p/18031964 出自[进步*于辰的博客] 目录 1.NP ...

  9. rust结构体包含另一个结构体引用时,serde序列化问题

    代码如下 use serde::{Deserialize, Serialize}; #[derive(Serialize, Deserialize)] struct Person { id: Stri ...

  10. KingbaseES V8R6数据库运维案例之---用户权限导致的备份恢复故障

    案例说明: 由于限制了用户对数据库的访问,导致在执行'sys_backup.sh init'初始化物理备份时,执行失败. 适用版本: KingbaseES V8R6 一.问题现象 如下所示,执行'sy ...