sqlserver建表及注释
--**********************************************创建表********************************************************************************************************************
create table sys_user(
id          int  identity(1,1)  primary key not null,    --id主键⾃增长
loginName  nvarchar(50)    NOT NULL UNIQUE,                        --登录⽤户名
password    nvarchar(50)    NOT NULL ,                              --登录密码
email      varchar(255)    NOT NULL UNIQUE,                        --⽤户邮箱
createTime  datetime default CONVERT(varchar(100), GETDATE(), 20),    --⽤户创建时间
code        varchar(255) ,                                            --'激活码'
state      int NOT NULL default0 ,                    --⽤户激活状态:0表⽰未激活,1表⽰激活
nstatusid  int default1--⽤户状态 0⽆效 1有效
);
--**********************************************给表和列添加注释***********************************************************************************************************
-- 添加表注释  execute sp_addextendedproperty    'MS_Description','注释内容',  'user','dbo','table','表名称',null,null;
-- 修改表注释  execute sp_updateextendedproperty 'MS_Description','注释内容1', 'user','dbo','table','表名称',null,null;
-- 删除表注释  execute sp_dropextendedproperty  'MS_Description',            'user','dbo','table','表名称',null,null;
--字段添加注释 execute sp_addextendedproperty    'MS_Description','注释内容',  'user','dbo','table','表名','column','字段名';
--修改字段注释 execute sp_updateextendedproperty 'MS_Description','注释内容1', 'user','dbo','table','表名','column','字段名';
-
-删除字段注释 execute sp_dropextendedproperty  'MS_Description',            'user','dbo','table','表名','column','字段名';
--<!--下⾯的写法和上⾯的注释的是⼀个意思-->
EXEC sp_addextendedproperty N'MS_Description', N'⽤户登录表'  , N'SCHEMA', N'dbo',N'TABLE', N'sys_user';
EXEC sp_addextendedproperty N'MS_Description', N'id主键⾃增长', N'SCHEMA', N'dbo',N'TABLE', N'sys_user', N'COLUMN', N'id';
EXEC sp_addextendedproperty N'MS_Description', N'登录⽤户名'  , N'SCHEMA', N'dbo',N'TABLE', N'sys_user', N'COLUMN', N'loginName';
EXEC sp_addextendedproperty N'MS_Description', N'登录密码'    , N'SCHEMA', N'dbo',N'TABLE', N'sys_user', N'COLUMN', N'password';
EXEC sp_addextendedproperty N'MS_Description', N'⽤户邮箱'    , N'SCHEMA', N'dbo',N'TABLE', N'sys_user', N'COLUMN', N'email';
EXEC sp_addextendedproperty N'MS_Description', N'⽤户创建时间' , N'SCHEMA', N'dbo',N'TABLE', N'sys_user', N'COLUMN', N'createTime';
EXEC sp_addextendedproperty N'MS_Description', N'激活码'      , N'SCHEMA', N'dbo',N'TABLE', N'sys_user', N'COLUMN', N'code';
EXEC sp_addextendedproperty N'MS_Description', N'⽤户激活状态:0表⽰未激活,1表⽰激活', N'SCHEMA', N'dbo',N'TABLE', N'sys_user', N'COLUMN', N'state';
EXEC sp_addextendedproperty N'MS_Description', N'⽤户状态 0⽆效 1有效', N'SCHEMA', N'dbo',N'TABLE', N'sys_user', N'COLUMN', N'nstatusid';
--**********************************************查看表简单信息*************************************************************************************************************
SELECTdrop table if exists user
A.name AS表名,
B.name AS表字段,
C.value AS字段注释
FROM sys.tables A
INNER lumns B ON B.object_id= A.object_id
LEFT ded_properties C ON C.major_id = B.object_id AND C.minor_id = B.column_id
WHERE A.name ='sys_user';--表名称
--**********************************************查看表详细信息**************************************************************************************************************
--USE 库名;
SELECT
表名=Case lorder=1Then D.name Else''End,
表说明=Case lorder=1Then isnull(F.value,'') Else''End,
字段序号= A.colorder,
字段名= A.name,
类型= B.name,
字段说明=isnull(G.[value],''),
标识=Case When COLUMNPROPERTY( A.id,A.name,'IsIdentity')=1Then'√'Else''End,
主键=Case When exists(SELECT1FROM sysobjects Where xtype='PK'and parent_obj=A.id and name in (SELECT name FROM sysindexes WHERE indid in( SELECT indid FROM sysindexkeys WHERE id = A.id AND colid 占⽤字节数= A.Length,
长度=COLUMNPROPERTY(A.id,A.name,'PRECISION'),
⼩数位数=isnull(COLUMNPROPERTY(A.id,A.name,'Scale'),0),
允许空=Case When A.isnullable=1Then'√'Else''End,
默认值=isnull(E.Text,'')
FROM
syscolumns A  Left Join systypes B                    On A.xusertype=B.xusertype
Inner Join sysobjects D                On A.id=D.id  pe='U'and  D.name<>'dtproperties'
Left Join syscomments E                On A.cdefault=E.id
Left ded_properties  G On A.id=G.major_id lid=G.minor_id
Left ded_properties F  On D.id=F.major_id and F.minor_id=0
where d.name='sys_user'--如果只查询指定表,加上此条件
Order By
A.lorder;