查看库中表的主键,标识列,计算列,字段类型,允许空,默认值等属性

            SELECT
            [表名]=CASE WHEN T.column_id = 1 THEN OBJECT_NAME(T.object_id) ELSE ‘‘ END ,
            [字段编号]=T.column_id,
            [字段名]=T.name,
            [主键]=case when exists(SELECT 1 FROM sys.key_constraints  where type=‘PK‘ and object_id=T.OBJECT_ID) THEN ‘●‘ ELSE ‘‘ END,
            [标识列]=CASE T.is_identity  WHEN 1 THEN ‘●‘ ELSE ‘‘ END,
            [计算列]=CASE T.is_computed WHEN 1 THEN ‘●‘ ELSE ‘‘ END,
            [字段类型]=(SELECT name FROM sys.types WHERE user_type_id = T.user_type_id),
            [字段长度]= T.PRECISION,
            [小数位] = T.Scale,
            [允许空] = CASE T.is_nullable  WHEN 1 THEN ‘●‘ ELSE ‘‘ END,
            [默认值]= ISNULL((SELECT definition from sys.default_constraints where object_id = T.default_object_id),‘‘),
            [字段说明]=(SELECT VALUE FROM sys.extended_properties WHERE major_id = T.OBJECT_ID AND minor_id  =T.column_id)
            FROM sys.COLUMNS T
            INNER JOIN sys.objects O ON T.object_id = O.object_id AND O.type = ‘U‘
            WHERE RIGHT(OBJECT_NAME(T.object_id),3) <> ‘Log‘ AND OBJECT_NAME(T.object_id) <>‘AuditDDLEvents‘ AND OBJECT_NAME(T.object_id) <>‘dtproperties‘
            ORDER BY OBJECT_NAME(T.object_id),T.column_id
时间: 2024-10-10 17:32:52

查看库中表的主键,标识列,计算列,字段类型,允许空,默认值等属性的相关文章

解决sqoop导入关系库更新联合主键的问题

[Author]: kwu sqoop导入关系库更新联合主键的问题,把数据从hive中导入关系库,如果关系库表有联合主键的情况,且需要把新导入的数据更新原来的数据. 1.创建关系库表 CREATE TABLE test123 ( id INT NOT NULL, name VARCHAR(25) NOT NULL, age INT, PRIMARY KEY (id, name) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 2.创建hive表 drop table d

mysql5.5基础 create table... 创建不可空、主键、自增长的字段

礼悟:    公恒学思合行悟,尊师重道存感恩.叶见寻根三返一,江河湖海同一体.          虚怀若谷良心主,愿行无悔给最苦.读书锻炼养身心,诚劝且行且珍惜. 数据.数据,命根就在数据.操作数据库一定要谨慎小心.给最苦 这里的代码,看看就好,要有自己的判断.遇到抉择,要不耻上下问. mysql:5.5                     os:Windows7 x64 代码及效果 mysql> create table student( -> stdId int not null au

mysql把主键定义为自动增长标识符类型

分享下mysql中如何把主键定义为自动增长标识符类型. 1.把主键定义为自动增长标识符类型在mysql中,如果把表的主键设为auto_increment类型,数据库就会自动为主键赋值.例如: create table customers(id int auto_increment primary key notnull, name varchar(15)); insert into customers(name) values("name1"),("name2");

程矢Oracle PowerDesigner中生成Oracle版本主键和自增列

Oracle中如何新建自增列,总的来说需要建立序列,并把这个序列付给某一列,重建触发器即可. 第一步,打开PD,新建一个PDM文档,然后新建一个表,如图所示: 第二步,创建一个序列.在[Model]-[Sequence]打开序列列表窗口,新建一个序列.然后打开序列的属性设置项[physical Options],进行如下设置,点击确定,序列建立完毕. 第三步,将刚刚创建的序列应用到表的主键列中,如图所示:点击确定, 点击确定,至此,自动创建了一个触发器,把序列的值添加到主键中.

sql 语句删除主键、更改主键、删除重复列(多列组合)

--alter table HistoryData drop constraint PK_HistoryData alter table HistoryData add constraint PK_HistoryData primary key (CollectionTime,Code) 更改主键 delete from HistoryData where CollectionTime between'2014-09-01 00:00:00' and '2014-11-01 00:00:00'a

查询表、字段、类型、是否主键、长度、小数位、是否允许空、默认值等详细查询

小果 SELECT (case when a.colorder=1 then d.name else '' end) as 表名,--如果表名相同就返回空 a.colorder as 字段序号, a.name as 字段名, (case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '√'else '' end) as 标识, (case when (SELECT count(*) FROM sysobjects--查询主键 WHER

如何使用sqlalchemy获取表的主键、以及每一个字段名

使用sqlalchemy获取到的结果只包含数据,不包含字段,那么我们如何获取到对应字段呢?以及如何获取某张表的主键呢? from sqlalchemy.ext.automap import automap_base from sqlalchemy.orm import sessionmaker from sqlalchemy import MetaData, inspect, create_engine engine = create_engine("postgresql://postgres:

Hibernate-----Hibernate主键生成器

increment 对long.int.short的数据列生成自动增长主键.用于数据库中未把表格主键设置为自增,而又想表格主键自增时 实现机制:在当前应用实例中维持一个变量,以保存着当前的最大值,之后每次需要生成主键的时候将此值加1作为主键 使用范围:若当前有多个实例访问同一个数据库,由于各个实例各自维护主键状态,不同实例可能生成同样的主键,从而造成主键重复异常.因此,若同一数据库有多个实例(也就是并发量大的)问,此方式必须避免使用. 只有在没有其他进程往同一张表中插入数据时才能使用(在集群下不

[原创]java WEB学习笔记81:Hibernate学习之路--- 对象关系映射文件(.hbm.xml):hibernate-mapping 节点,class节点,id节点(主键生成策略),property节点

本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 -----------------------------------------------------------------------------------------------------------------