SQL语句查询所有表和查询表里的所有字段
查询数据库里的所有表
1. 查询数据库里面的所有表
MySQL
select table_name tableName, engine, table_comment tableComment, create_time createTime from information_schema.tableswhere table_schema = (select database()) and table_name = #{tableName}
SqlServer
select * from (select cast(so.name as nvarchar(500)) as tableName, 'mssql' as engine,cast(sep.value as nvarchar(500)) as tableComment, getDate() as createTimefrom sysobjects soleft JOIN sys.extended_properties sep on sep.major_id=so.id and sep.minor_id=0where (xtype='U' or xtype='v')) t where t.tableName=#{tableName}
Oracle
select dt.table_name tableName,dtc.comments tableComment,dt.last_analyzed createTime from user_tables dt,user_tab_comments dtc where dt.table_name=dtc.table_name and dt.table_name = UPPER(#{tableName})
2. 查询数据表里的所有字段
MySQL
select column_name columnName, data_type dataType, column_comment columnComment, column_key columnKey, extra from information_schema.columnswhere table_name = #{tableName} and table_schema = (select database()) order by ordinal_position
SQLServer
SELECTcast(b.NAME AS NVARCHAR(500)) AS columnName,cast(sys.types.NAME AS NVARCHAR(500)) AS dataType,cast(c.VALUE AS NVARCHAR(500)) AS columnComment,(SELECTCASEcount( 1 )WHEN 1 then 'PRI'ELSE ''ENDFROMsyscolumns,sysobjects,sysindexes,sysindexkeys,systypesWHEREsyscolumns.xusertype = systypes.xusertypeAND syscolumns.id = object_id(A.NAME)AND sysobjects.xtype = 'PK'AND sysobjects.parent_obj = syscolumns.idAND sysindexes.id = syscolumns.idAND sysobjects.NAME = sysindexes.NAMEAND sysindexkeys.id = syscolumns.idAND sysindexkeys.indid = sysindexes.indidAND syscolumns.colid = sysindexkeys.colidAND syscolumns.NAME = B.NAME) as columnKey,'' as extraFROM(selectname,object_idfromsys.tablesUNION all selectname,object_idfromsys.views) aINNER JOIN sys.COLUMNS b ONb.object_id = a.object_idLEFT JOIN sys.types ONb.user_type_id = sys.types.user_type_idLEFT JOIN sys.extended_properties c ONc.major_id = b.object_idAND c.minor_id = b.column_idWHEREa.NAME = #{tableName}and sys.types.NAME != 'sysname'
Oracle
select temp.column_name columnname,temp.data_type dataType,temp.comments columnComment,case temp.constraint_type when 'P' then 'PRI' when 'C' then 'UNI' else '' end "COLUMNKEY",'' "EXTRA"from (select col.column_id,col.column_name,col.data_type,colc.comments,uc.constraint_type,-- 去重row_number() over (partition by col.column_name order by uc.constraint_type desc) as row_flgfrom user_tab_columns colleft join user_col_comments colcon colc.table_name = col.table_nameand colc.column_name = col.column_nameleft join user_cons_columns uccon ucc.table_name = col.table_nameand ucc.column_name = col.column_nameleft join user_constraints ucon uc.constraint_name = ucc.constraint_namewhere col.table_name = upper(#{tableName})) tempwhere temp.row_flg = 1order by temp.column_id
3. 所有表及其字段一起查询
MySQL
SELECTt.table_name,GROUP_CONCAT(c.column_name,'') AS columns
FROM information_schema.tables tLEFT JOIN information_schema.columns c on c.table_name = t.table_name
WHERE t.table_schema = (SELECT database()) GROUP BY t.table_name
SqlServer
SELECTSUBSTRING(t.table_name, LENGTH('${prefix}_') + 1) AS tableName,GROUP_CONCAT((CASE data_type WHEN 'datetime' THEN CONCAT('CONVERT(varchar(100),', column_name, ',20) AS ', column_name) ELSE column_name END),'') AS columns
FROM information_schema.tables t
LEFT JOIN information_schema.columns c on c.table_name = t.table_name
WHERE t.table_schema = (SELECT database())AND t.table_name LIKE '${prefix}|_%' escape '|'
GROUP BY t.table_name
SQL语句查询所有表和查询表里的所有字段相关推荐
- 【SQL】在SQL Server中多表关联查询问题
好久没有写SQL语句的多表连接查询,总在用框架进行持久化操作.今天写了一个多表关联查询,想根据两个字段唯一确定一条数据 失败的案例如下: SELECT cyb.id,ad.name FROM [Gen ...
- 修改 连接层_Mybatis连接池_动态sql语句_多表查询实现
Mybatis连接池 Mybatis中的连接池Mybatis连接池提供了3种方式的配置:配置的位置:主配置文件SqlMapConfig.xml中的dataSource标签,type属性就是表示采用何种 ...
- 数组数据通过sql语句转为数据库表衔接到from或join后进行直接或关联查询
Mybatis之数组数据通过sql语句转为数据库表衔接到from或join后进行直接或关联查询 外部数据 当前项目表格数据(表名:service_info) 将外部数据转为Table表格,与servi ...
- 建立“图书_读者”数据库及如下 3 个表,并输入实验数据,用 SQL 语句实现如下五个查询(opengauss)
建立"图书_读者"数据库及如下 3 个表,并输入实验数据,用 SQL 语句实现如下五个查询(opengauss) 题目所涉及的表如下 注:使用opengauss与HeidiSQL: ...
- SQL 语句的多表查询方式
SQL 语句的多表查询方式 例如:按照 department_id 查询 employees(员工表)和 departments(部门表) 的信息. 方式一(通用型): SELECT ... FROM ...
- Apache Drill介绍-SQL语句和系统表查询
Apache Drill介绍-SQL语句和系统表查询 Apache Drill 主要用于查询,主要关注select 和 建表语句,Drill 支持select 很标准, 这次主要介绍create语句, ...
- mysql查询主键sql语句_MySQL数据库-表操作-SQL语句(一)
1. 数据库操作与存储引擎 1.1 数据库和数据库对象 数据库对象:存储,管理和使用数据的不同结构形式,如:表.视图.存储过程.函数.触发器.事件等. 数据库:存储数据库对象的容器. 数据库分两种 ...
- 查询oracle 表达小,oracle中sql语句小练习(使用连接查询)
假设A(m,n,p),B(m,n,p) --1.A表中有某一项m而B表中没有 使用左连接查询: select a.* from A a left join B b on a.m=b.m where b ...
- Oracle数据库SQL语句(四)—子查询(嵌套查询)
Oracle数据库SQL语句(四) 子查询(嵌套查询) 1.单行子查询 SELECT * FROM stuWHERE ID > (SELECT ID FROM stu WHERE NAME =' ...
- oracle维护常用SQL语句(查看系统表和视图)
转:http://www.360doc.com/content/11/1230/15/7489308_176090474.shtml oracle维护常用SQL语句(查看系统表和视图) 1.查看表空间 ...
最新文章
- poj3096(set的应用)
- NodeAsp——像开发NodeJS应用一样玩转ASP
- 寒假每日一题(入门组)【week1 完结】
- Averse, Adverse
- chrome开发总结(交互/权限/存储)-爬虫
- JavaScript调用Web Services实现无刷新三联动
- python os.access_os.access(path, mode)
- 中国交互式智能板市场趋势报告、技术动态创新及市场预测
- easyui tree的简单使用
- Kafka 过期数据清理 详解
- [云片网] 短信对接
- 重力传感事件应用之一 手机摇一摇(摇一次得一分)
- mysql myisam 主键关联_MySQL中myisam和innodb的主键索引有什么区别?
- Ubuntu 完全卸载软件常用命令
- 扫宽、分辨率和扫描时间
- 滚动条 scrollbar 和scrollbar-thumb 样式
- JZ38* 字符串的排列
- 【GA MTSP】基于matlab GUI遗传算法求解多旅行商问题(多起点不同终点)【含Matlab源码 935期】
- 三天学会网络爬虫之Day03
- static 函数和变量