SQL常用语句,随时用随时更新

时间:2022-11-19 14:50:43

更多详细说明文档查询  http://www.postgres.cn/docs/9.5/infoschema-columns.html

1.1通过表名查询表的属性

SELECT * FROM sys.sysobjects where name='表名'

1.2通过类型查询表的属性

SELECT * FROM sys.sysobjects where xtype='U'

    类型      说明

    C  = CHECK 约束
    D  = 默认值或 DEFAULT 约束
    F  = FOREIGN KEY 约束
    L  = 日志
    FN  = 标量函数
    IF   = 内嵌表函数
    P  = 存储过程
    PK  = PRIMARY KEY 约束(类型是 K)
    RF  = 复制筛选存储过程
    S  = 系统表
    TF   = 表函数
    TR  = 触发器
    U  = 用户表
    UQ  = UNIQUE 约束(类型是 K)
    V  = 视图
    X  = 扩展存储过程

1.3通过表名查询它的字段(列)属性

select * from syscolumns where id = object_id('表名')

  name(字段名),xtype(类型),length(长度),colstat(标识列),isnullable(是否能null),这5个属性是比较常用的

select * from information_schema.columns where table_name = '表名'

  TABLE_CATALOG(所属数据库名),COLUMN_NAME(字段列名),COLUMN_DEFAULT(默认值),IS_NULLABLE(能否为空)

  DATA_TYPE(数据类型),CHARACTER_MAXIMUM_LENGTHCHARACTER_OCTET_LENGTH(字符串型数据长度,相同)

  NUMERIC_PRECISIONNUMERIC_PRECISION_RADIX(数值型数据长度,相同),这几个属性是比较常用的

1.4清空数据表

  TRUNCATE 表名    就可以完成表的清空,还会重置标识列

1.5重置标识列

  DBCC CHECKIDENT ('表名', RESEED, 初始值)

2.1分页查询语句

select * from (select ROW_NUMBER() OVER (order by 需要排序的列名 Desc) AS Row,* from 表名) t where t.Row > 开始数 and t.Row < 结尾数

2.2查询排序

同时多字段排序  ORDER BY  f1 DESC, f2 DESC

SQL TRUNCATE TABLE