SQL DDL 生成建表语句(可自动生成主键约束,字段默认值等)

该博客介绍了如何使用SQL DDL语句自动生成包含主键约束和字段默认值的建表脚本,帮助简化数据库表结构的创建过程。
摘要由CSDN通过智能技术生成
--获取建表DDL(+主键)
declare @tabname varchar(50)
set @tabname='sys_log'--表名

if ( object_id('tempdb.dbo.#t') is not null)
begin
DROP TABLE #t
end

select  'create table [' + so.name + '] (' + o.list + ')' 
    + CASE WHEN tc.Constraint_Name IS NULL THEN '' ELSE 'ALTER TABLE ' + so.Name + ' ADD CONSTRAINT ' + tc.Constraint_Name  + ' PRIMARY KEY ' + ' (' + LEFT(j.List, Len(j.List)-1) + ')' END 
    TABLE_DDL
into #t from    sysobjects so
cross apply
    (SELECT 
        '  ['+column_name+'] ' + 
        data_type + case data_type
            when 'sql_variant' then ''
            when 'text' then ''
            when 'ntext' then ''
            when 'xml' then ''
            when 'decimal' then '(' +
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
DDL语句中,通常可以通过查询数据库的系统或系统视图来获取某个字段的口径。不同的数据库系统的系统和系统视图名称和查询方式可能会不同,以下是一些常见的数据库系统和系统视图及其查询方式: 1. MySQL数据库:在MySQL数据库中,可以使用以下查询语句获取某个字段信息: ``` DESC table_name; ``` 这个查询语句可以获取table_name的所有字段信息,包括字段名、数据类型、是否为NULL、默认等信息。如果只想获取某个字段的信息,可以使用以下查询语句: ``` SHOW COLUMNS FROM table_name WHERE Field = 'column_name'; ``` 其中,column_name是要查询的字段名。 2. Oracle数据库:在Oracle数据库中,可以使用以下查询语句获取某个字段信息: ``` SELECT COLUMN_NAME, DATA_TYPE, NULLABLE, DATA_DEFAULT FROM USER_TAB_COLUMNS WHERE TABLE_NAME = 'table_name'; ``` 这个查询语句可以获取table_name的所有字段信息,包括字段名、数据类型、是否为NULL、默认等信息。如果只想获取某个字段的信息,可以在查询条件中添加COLUMN_NAME = 'column_name'即可,其中,column_name是要查询的字段名。 3. SQL Server数据库:在SQL Server数据库中,可以使用以下查询语句获取某个字段信息: ``` SELECT COLUMN_NAME, DATA_TYPE, IS_NULLABLE, COLUMN_DEFAULT FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'table_name'; ``` 这个查询语句可以获取table_name的所有字段信息,包括字段名、数据类型、是否为NULL、默认等信息。如果只想获取某个字段的信息,可以在查询条件中添加COLUMN_NAME = 'column_name'即可,其中,column_name是要查询的字段名。 通过查询系统或系统视图,可以方便地获取某个字段的口径信息,从而更好地理解和使用数据库中的数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值