sql 语句系列(列举系列)[八百章之第八章]
前言
这一张就是就是查询自己设计数据库的结构,对于接收一个老的项目相当重要。
列举模式中的表
查询所以表
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 语句系列(列举系列)[八百章之第八章]的更多相关文章
- SQL语句复习【专题八】
SQL语句复习[专题八] 序列 Sequence.数据库对象是 oracle 专有的.作用:可以将某一列的值使用序列,来实现自动增长的功能.访问序列的值.[序列有两个属性 nextval currva ...
- sql 语句系列(多表之链)[八百章之第三章]
新增连接查询而不影响其他连接查询 请看图: 这种情况我们一般会使用左连接的方式. select e.ENAME,d.LOC,eb.RECEIVED from emp e join dept d on( ...
- sql 语句系列(null 值处理)[八百章之第二章]
查找只存在一个表中的数据 有两张表: EMP: select * from emp DEPT: 他们有共同的属性:deptno 现在要查询EMP 中的deptno不等于DEPTNO的deptno项. ...
- sql 语句系列(字符串的遍历嵌入删除与统计)[八百章之第十一章]
遍历字符串 我觉得首先要提出一个疑问: 一个数据库本身就是用于存储的,遍历字符串究竟有何意义? 先看如何实现的,毕竟sql service 是没有for循环,也没有loop和while的. selec ...
- 以太坊系列之十八: 百行go代码构建p2p聊天室
百行go代码构建p2p聊天室 百行go代码构建p2p聊天室 1. 上手使用 2. whisper 原理 3. 源码解读 3.1 参数说明 3.1 连接主节点 3.2 我的标识 3.2 配置我的节点 3 ...
- 50个SQL语句(MySQL版) 问题八
--------------------------表结构-------------------------- student(StuId,StuName,StuAge,StuSex) 学生表 tea ...
- 《Entity Framework 6 Recipes》中文翻译系列 (12) -----第三章 查询之使用SQL语句
翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 3-2使用原生SQL语句更新 问题 你想在实体框架中使用原生的SQL语句,来更新底层 ...
- SQL Server调优系列玩转篇二(如何利用汇聚联合提示(Hint)引导语句运行)
前言 上一篇我们分析了查询Hint的用法,作为调优系列的最后一个玩转模块的第一篇.有兴趣的可以点击查看:SQL Server调优系列玩转篇(如何利用查询提示(Hint)引导语句运行) 本篇继续玩转模块 ...
- SQL Server 调优系列玩转篇二(如何利用汇聚联合提示(Hint)引导语句运行)
前言 上一篇我们分析了查询Hint的用法,作为调优系列的最后一个玩转模块的第一篇.有兴趣的可以点击查看:SQL Server调优系列玩转篇(如何利用查询提示(Hint)引导语句运行) 本篇继续玩转模块 ...
- Spring Boot干货系列:(八)数据存储篇-SQL关系型数据库之JdbcTemplate的使用
Spring Boot干货系列:(八)数据存储篇-SQL关系型数据库之JdbcTemplate的使用 原创 2017-04-13 嘟嘟MD 嘟爷java超神学堂 前言 前面几章介绍了一些基础,但都是静 ...
随机推荐
- Java 从键盘读入学生成绩 找出最高分 并输出学生等级成绩 * 成绩>=最高分-10 等级为’A‘ * 成绩>=最高分-20 等级为’B‘ * 成绩>=最高分-30 等级为'C' * 其余 等级为’D‘
1 /* 2 * 从键盘读入学生成绩 找出最高分 并输出学生等级成绩 3 * 成绩>=最高分-10 等级为'A' 4 * 成绩>=最高分-20 等级为'B' 5 * 成绩>=最高分- ...
- C++ STL函数对象 仿函数
1 //STL函数对象 仿函数 2 #include<iostream> 3 #include<string> 4 5 using namespace std; 6 7 8 / ...
- Educational Codeforces Round 143 (Rated for Div. 2)C. Tea Tasting(前缀和+二分、贡献枚举)
C. Tea Tasting 思路 这里枚举有三种思路 然后经过考虑3是最可行的,然后接着考虑如何计算贡献 这里在实现的时候用了一个差分数组,因为我们需要记录第i个茶师它喝了多少个\(b_i\)以及不 ...
- python网络爬虫从入门到实战开发
1.简单的抓取网页 from urllib import requestreq=request.Request("http://www.baidu.com")response=re ...
- git cherry-pick 摘樱桃 vscode
git cherry-pick -n b2e9bf7530ce42910a5be99c358fa8c7ab6af507 -n 就是临时到暂存里面 SHA 可以为多个 逗号拼接
- 基于BES2500芯片的方案开发总结和反思
前记 虽然蓝牙芯片现在非常多,可是一旦想做一些差异化的产品时候,能用的非常少.在和客户的反复斟酌中,最终选择了BES2500来开发这款新的产品.这里面是基于自身的实力,产品定位和芯片诉求多重考量的 ...
- Python3解决UnicodeDecodeError: 'utf-8' codec can't decode byte..问题最快解决方案
问题: 使用python3 作为socket通信的时候,出现了这个错误:UnicodeDecodeError: 'utf-8' codec can't decode byte 0x92 in posi ...
- Oracle数据库中sql查询很快,但在程序中查询较慢的原因和解决方法
代码如下 string sql = "SELECT * FROM LIS_V_LABTESTSAMPLE WHERE PATIENT_ID=:P"; HlsA ...
- Vue2和ElementUI编写的无限级菜单路由
Vue2和ElementUI编写的无限级菜单路由 文章转载自:www.javaman.cn <template> <div> <el-menu :default-acti ...
- 安装完exe版本jdk之后未配置java_home和path环境变量仍然可以在cmd中使用java命令原因解释
如题: 为何可以 打出Java -version的版本 ,因为jdk安装过程,拷贝了java\javac等几个命令到C:\windows\system32目录了. 如果使用javac -version ...