本文主要整理出了代码生成器中Mysql,Orclece,SqlSever分别使用的查询数据库表信息的sql,主要包括:1.查询数据库中的所有表. 2.查询数据表列名,是否可为空,最大长度,备注信息. 3.主键.
以下以数据库school为例,表以t_student为例.
(一) MySql:
1.查询数据库school中的所有表的表名
select table_name
from information_schema.tables t
where table_schema = 'school'
2.查出列名,列数据类型,是否可为空,最大长度,备注
select column_name,
data_type,
t.is_nullable,
t.character_maximum_length length,
t.column_comment memo
from information_schema.columns t
where table_name = 't_student'
and table_schema = 'school'
--注意:查询条件中需加入table_schema = 'school'否则如果多个数据库中都存在t_student表时,将查出多余的列信息.
3.查询主键
select column_name
from information_schema.columns t
Where table_name = 't_student'
and column_key = 'PRI'
and table_schema = 'school'
(二) Oracle:
1.查询数据库school中的所有表的表名
select * from sys.all_tables where owner = 'SCHOOL' --(注意需大写SCHOOL,否则可能查不到任何结果)
2.查出列名,列数据类型,是否可为空,最大长度,备注
select utcom.column_name,
utcom.data_type,
utcom.data_length length,
data_precision,
data_scale,
utcom.NULLABLE,
ucc.comments memo
from sys.user_tab_columns utcom
join USER_COL_COMMENTS ucc
on (utcom.TABLE_NAME = ucc.table_name and
utcom.COLUMN_NAME = ucc.column_name)
Where utcom.table_name = 'T_STUDENT'
--(注意需大写T_STUDENT,否则可能查不到任何结果)
3.查询主键:
select c.index_name, c.column_name, data_type, data_precision, data_scale
from Sys.user_constraints i,
Sys.all_ind_columns c,
sys.user_tab_columns u
Where i.TABLE_NAME = 'T_STUDENT'
And i.CONSTRAINT_TYPE = 'P'
And i.CONSTRAINT_name = c.index_name
And c.column_name = u.column_name
And u.table_name = 'T_STUDENT'
Order By index_name
--(注意需大写T_STUDENT,否则可能查不到任何结果)
(三)SqlServer:
1.查询数据库school中的所有表的表名
select name table_name from dbo.sysobjects where xtype='u'
2.查出列名,列数据类型,是否可为空,最大长度,备注
SELECT col.name,
typ.name as data_type,
col.max_length length,
col.is_nullable,
ep.value memo
FROM sys.columns col
left join sys.types typ
on (col.system_type_id = typ.system_type_id AND
col.user_type_id = typ.user_type_id)
left join sys.extended_properties ep
on (col.object_id = ep.major_id and col.column_id = ep.minor_id)
WHERE col.object_id =
(SELECT object_id FROM sys.tables WHERE name = 't_student')
3.查找主键
SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE TABLE_NAME = 't_student'
限于本人水平有限,很多地方写的并不完美,希望大家不吝赐教.不足之处欢迎留言交流,希望在和大家的交流中得到提高.
分享到:
相关推荐
SQL Server 数据库技术---基础篇(T-SQL基础、数据库几本操作、SQL Server 2008新特性)、数据库安全(SQL Server 2008 安全数据文件安全与灾难恢复、 复制)、SQL开发(数据库设计、SQL Server与CLR集成、在SQL ...
主要实现在对应数据库中表的基类代码的自动生成,包括生成属性、添加、修改、删除、查询、存在性、Model 类构造等基础代码片断,支持不同3种架构代码生成,使程序员可以节省大量机械录入的时间和重复劳动,而将精力...
利用反射技术实现通过实体类生成DLL文件通过发射动态加载技术将实体类加载进来,并且读出所有公共属性转化成T-sql语句,并且还可以通过现有的数据库表动态生成实体类代码!
SQL数据库多表查询练习题附加数据库
在SQL-server-2000-中创建数据库和表的实例及相关的-SQL查询语句.doc
数据库管理与开发项目教程-教案-09项目四:使用T-SQL查询表数据-实训六sale数据库.docx
达梦数据库查询数据库所有表名-DM7达梦数据库常用的运维SQL语句 数据库运维.pdf
Microsoft SQL Server 2008技术内幕 T-SQL 查询 一书中,第四章,索引优化章节的示例数据库脚本。
.Net代码生成器Codematic 是一款为C#数据库程序员设计的自动代码生成器,Codematic 生成的代码基于面向对象的思想和三层架构设计,结合了Petshop中经典的思想和设计模式,融入了工厂模式,反射机制等等一些思想。...
本项目是研究大语言模型的应用案例,内含详细的教程以及docker环境,可以直接快速部署应用
科发SQL代码生成器可以生成数据表字段的添加,可以生成数据表数据的添加,自动识别主键、字段类型,生成标准的Transact-SQL语句的软件工具。 科发SQL代码生成器功能: 1、可以生成数据表字段的添加、修改、删的...
Microsoft SQL Server 2008技术内幕:T-SQL查询 原书样例数据库
达梦数据库
本文在基于减少Java Web开发者代码编写量的需求上,使用Java EE技术和Spring Boot框架设计了一个B/S模式的代码生成器系统。本设计包含了以下3个主要内容:1. 用户对数据库的实体模型进行设计和管理;2. 系统根据实体...
PB-SQL 数据库查询 基于PB的SQL图书馆管理查询系统
SQL语句生成器的特色 支持几乎所有类型的数据库, 包括小型(桌面)数据库:Fox DBF、Microsoft Execl、Text、Borland Paradox、 中型数据库:Microsoft Access 大型数据库:Microsoft SQL Server、Sybase、Oracle ...
sql查询语句,通用SQL数据库查询语句精华使用简介
通用SQL数据库查询语句精华使用
达梦数据库
输入对应的数据库,执行命令,生成创建整个数据库表的创建语句。全部表,注意,是全部表,整个数据库的全部表。