本文主要整理出了代码生成器中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整理...相关推荐

  1. 基于模板的通用代码生成器LKGenerator(二)-使用时的关键步骤,注意事项及实例

    通过本文,您将了解本代码生成器使用时的关键步骤,使用时的注意事项及实例. 本代码生成器的原理:提供一个可被jvm加载的class文件,然后通过java的注解和反射技术读取信息,通过本工具放入到Velo ...

  2. 基于模板的通用代码生成器LKGenerator(一)-发布和主要功能介绍

    在实际的软件开发中不可避免的存在很多相似但又不可或缺的代码,很多程序员都是Ctrl+C,Ctral+V然后简单修改来完成一个功能.这个过程很枯燥,但日常的编码中却经常出现,而且由于一点点疏忽可能导致代 ...

  3. 基于模板的通用代码生成器LKGenerator(三)-模板示例

    本代码生成工具提供的是一个生成代码的平台,各种不同形式的模板都可以在其上使用用于生成代码,模板的书写您需要遵循一定的规则(这些规则是velocity语法和本工具提供的变量,您可在上一篇中找到这些变量) ...

  4. 基于模板引擎的代码生成器Smart Code预览

    概述 国内写代码生成器的不少,可以说很多公司都有自己的代码生成器,好用的却不多,可定制性不强,始终不及CodeSmith或MyGeneration.最近园子里也发了不少的代码生成器,其中henry的C ...

  5. 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 ...

  6. Yii2-Admin-Theme 基于layui的通用后台模板

    Yii2-Admin-Theme 基于layui的通用后台模板 Yii2基于layui的通用后台模版,实现了,用户登陆,权限管理,用户管理,密码修改等功能,可以说基本功能已经很全了,方便我们后续的二次 ...

  7. 基于模板的文字识别结果结构化处理技术 | 公开课速记

    嘉宾 | 向宇波 编辑 | suiling 来源 | AI科技大本营在线公开课 出品 | AI科技大本营(ID:rgznai100) 随着行业的发展和技术的成熟,文字识别(OCR)目前已经应用到了多个 ...

  8. Go语言通用代码生成器仙童已发布Beta5版,发布最新介绍视频,彻底修复弹性登录模块

    Go语言通用代码生成器仙童已发布Beta5版,发布最新介绍视频,彻底修复弹性登录模块 Go语言通用代码生成器仙童已发布Beta5版,发布最新介绍视频,彻底修复弹性登录模块.修复了注册,修改密码,管理员 ...

  9. Java 通用代码生成器光 2.3.0 文明 Beta10 版发布介绍视频,支持从源码构建

    Java 通用代码生成器光 2.3.0 文明 Beta10 版发布介绍视频,支持从源码构建 Java 通用代码生成器光 2.3.0 文明 Beta10 版发布最新介绍视频,详细介绍 java 通用代码 ...

最新文章

  1. MyBatis批量插入几千条数据慎用foreach
  2. linux chpasswd命令 批量修改用户密码
  3. 使用C#进行Word 2002和Excel 2002编程
  4. 华为大数求和 java_大数乘积java
  5. 信息学奥赛一本通 1180 | 1946:【09NOIP普及组】分数线划定 | OpenJudge NOI 1.10 05 | 洛谷 P1068 [NOIP2009 普及组] 分数线划定
  6. 高斯消元解模同余方程组
  7. TypeScript接口用法(基础)
  8. C#曲线分析平台的制作(二,echarts前后台数据显示)
  9. nginx 502 .sock failed (11: Resource temporarily unavailable) while connecting to upstream
  10. shell sort 最后一列排序_Shell 编程 排序工具 sort 和 uniq
  11. 为什么谐振时电抗为0_变频谐振耐压试验装置在进行电缆耐压试验原理
  12. dnf 服务器喇叭怎么制作,DNF服务器喇叭要删除了吗 服务器喇叭删除后怎么聊天...
  13. 伪随机生成器具体实现——ANSI X9.17
  14. 科研论文画图技巧分享!超级实用!
  15. 4k纸是几厘米乘几厘米_4k纸多大(4k纸有几张a4纸大)
  16. win10备份(win10备份的系统怎么还原)
  17. 霍学文:大数据重塑未来金融监管方式
  18. PHP之实现 家谱树,子孙树
  19. 神州优车上云之路:如何在效率、质量和成本三方面达到平衡?
  20. 谷歌母公司一季度营收363亿美元 计提欧盟罚款后净利润仍超过66亿美元

热门文章

  1. dubbo-monitor-simple-2.5.3-assembly 简易监控中心安装
  2. 微信公众平台开发(一) 配置接口
  3. 企业如何抵御弱云密码带来的威胁
  4. 模板引擎 Velocity
  5. boundService-AIDL
  6. django 1.8 官方文档翻译: 2-5-1 管理器
  7. Remove Middle Man
  8. Spring - Configuration Metadata
  9. Linux下通过 rm -f 删除大量文件时报错:Argument list too long
  10. Gerrit配置--用户配置