基于模板的通用代码生成器LKGenerator(四)-核心技术之各种数据库查询表信息sql整理...
本文主要整理出了代码生成器中Mysql,Orclece,SqlSever分别使用的查询数据库表信息的sql,主要包括:1.查询数据库中的所有表. 2.查询数据表列名,是否可为空,最大长度,备注信息. 3.主键.
以下以数据库school为例,表以t_student为例.
(一) MySql:
1.查询数据库school中的所有表的表名
select table_namefrom information_schema.tables twhere table_schema = 'school'
2.查出列名,列数据类型,是否可为空,最大长度,备注
select column_name, data_type,t.is_nullable,t.character_maximum_length length,t.column_comment memofrom information_schema.columns twhere table_name = 't_student'and table_schema = 'school'
--注意:查询条件中需加入table_schema = 'school'否则如果多个数据库中都存在t_student表时,将查出多余的列信息.
3.查询主键
select column_namefrom information_schema.columns tWhere 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 memofrom sys.user_tab_columns utcomjoin USER_COL_COMMENTS uccon (utcom.TABLE_NAME = ucc.table_name andutcom.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_scalefrom Sys.user_constraints i,Sys.all_ind_columns c,sys.user_tab_columns uWhere i.TABLE_NAME = 'T_STUDENT'And i.CONSTRAINT_TYPE = 'P'And i.CONSTRAINT_name = c.index_nameAnd c.column_name = u.column_nameAnd 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 memoFROM sys.columns colleft join sys.types typon (col.system_type_id = typ.system_type_id ANDcol.user_type_id = typ.user_type_id)left join sys.extended_properties epon (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_NAMEFROM INFORMATION_SCHEMA.KEY_COLUMN_USAGEWHERE TABLE_NAME = 't_student'
限于本人水平有限,很多地方写的并不完美,希望大家不吝赐教.不足之处欢迎留言交流,希望在和大家的交流中得到提高.
基于模板的通用代码生成器LKGenerator(四)-核心技术之各种数据库查询表信息sql整理...相关推荐
- 基于模板的通用代码生成器LKGenerator(二)-使用时的关键步骤,注意事项及实例
通过本文,您将了解本代码生成器使用时的关键步骤,使用时的注意事项及实例. 本代码生成器的原理:提供一个可被jvm加载的class文件,然后通过java的注解和反射技术读取信息,通过本工具放入到Velo ...
- 基于模板的通用代码生成器LKGenerator(一)-发布和主要功能介绍
在实际的软件开发中不可避免的存在很多相似但又不可或缺的代码,很多程序员都是Ctrl+C,Ctral+V然后简单修改来完成一个功能.这个过程很枯燥,但日常的编码中却经常出现,而且由于一点点疏忽可能导致代 ...
- 基于模板的通用代码生成器LKGenerator(三)-模板示例
本代码生成工具提供的是一个生成代码的平台,各种不同形式的模板都可以在其上使用用于生成代码,模板的书写您需要遵循一定的规则(这些规则是velocity语法和本工具提供的变量,您可在上一篇中找到这些变量) ...
- 基于模板引擎的代码生成器Smart Code预览
概述 国内写代码生成器的不少,可以说很多公司都有自己的代码生成器,好用的却不多,可定制性不强,始终不及CodeSmith或MyGeneration.最近园子里也发了不少的代码生成器,其中henry的C ...
- ScottGu之博客翻译-LINQ to SQL第四部分,更新数据库 LINQ to SQL (Part 4 - Updating our Database)...
原贴链接: http://weblogs.asp.net/scottgu/archive/2007/07/11/linq-to-sql-part-4-updating-our-database.asp ...
- Yii2-Admin-Theme 基于layui的通用后台模板
Yii2-Admin-Theme 基于layui的通用后台模板 Yii2基于layui的通用后台模版,实现了,用户登陆,权限管理,用户管理,密码修改等功能,可以说基本功能已经很全了,方便我们后续的二次 ...
- 基于模板的文字识别结果结构化处理技术 | 公开课速记
嘉宾 | 向宇波 编辑 | suiling 来源 | AI科技大本营在线公开课 出品 | AI科技大本营(ID:rgznai100) 随着行业的发展和技术的成熟,文字识别(OCR)目前已经应用到了多个 ...
- Go语言通用代码生成器仙童已发布Beta5版,发布最新介绍视频,彻底修复弹性登录模块
Go语言通用代码生成器仙童已发布Beta5版,发布最新介绍视频,彻底修复弹性登录模块 Go语言通用代码生成器仙童已发布Beta5版,发布最新介绍视频,彻底修复弹性登录模块.修复了注册,修改密码,管理员 ...
- Java 通用代码生成器光 2.3.0 文明 Beta10 版发布介绍视频,支持从源码构建
Java 通用代码生成器光 2.3.0 文明 Beta10 版发布介绍视频,支持从源码构建 Java 通用代码生成器光 2.3.0 文明 Beta10 版发布最新介绍视频,详细介绍 java 通用代码 ...
最新文章
- MyBatis批量插入几千条数据慎用foreach
- linux chpasswd命令 批量修改用户密码
- 使用C#进行Word 2002和Excel 2002编程
- 华为大数求和 java_大数乘积java
- 信息学奥赛一本通 1180 | 1946:【09NOIP普及组】分数线划定 | OpenJudge NOI 1.10 05 | 洛谷 P1068 [NOIP2009 普及组] 分数线划定
- 高斯消元解模同余方程组
- TypeScript接口用法(基础)
- C#曲线分析平台的制作(二,echarts前后台数据显示)
- nginx 502 .sock failed (11: Resource temporarily unavailable) while connecting to upstream
- shell sort 最后一列排序_Shell 编程 排序工具 sort 和 uniq
- 为什么谐振时电抗为0_变频谐振耐压试验装置在进行电缆耐压试验原理
- dnf 服务器喇叭怎么制作,DNF服务器喇叭要删除了吗 服务器喇叭删除后怎么聊天...
- 伪随机生成器具体实现——ANSI X9.17
- 科研论文画图技巧分享!超级实用!
- 4k纸是几厘米乘几厘米_4k纸多大(4k纸有几张a4纸大)
- win10备份(win10备份的系统怎么还原)
- 霍学文:大数据重塑未来金融监管方式
- PHP之实现 家谱树,子孙树
- 神州优车上云之路:如何在效率、质量和成本三方面达到平衡?
- 谷歌母公司一季度营收363亿美元 计提欧盟罚款后净利润仍超过66亿美元