T-sql常用语法

http://www.w3school.com.cn/sql/

1:复制 column1列的内容给column2的语法

  
    
update table1
set   
  column2
= column2
go

xxx

2:删除主键约束

  
    
-- tablename 表名 --PK__EXauditingmaster__300424B4 主键约束名
alter table [ tablename ] drop CONSTRAINT [ PK__EXauditingmaster__300424B4 ]
go

3:添加主键约束

  
    
alter table [ tablename ] add Constraint PK_name Primary Key (column1name,column2name)
go

1,删除字段: 

  
    
ALTER TABLE [ tablename ] DROP COLUMN [ fieldname ]

删除的时候该字段必须没有被任何外键引用,没有任何约束.
2,删除约束: ALTER TABLE [tablename] DROP CONSTRAINT constraint_name

  
    
ALTER TABLE [ tablename ] DROP CONSTRAINT constraint_name

删除约束是约束名不可加单引号.
3,增加默认值约束: 

  
    
ALTER TABLE [ tablename ] ADD CONSTRAINT constraint_name DEFAULT ' default_value ' FOR [ fieldname ]

用FOR关键字指定为那个字段增加默认值约束.
4,修改字段: 

  
    
ALTER TABLE [ tablename ] ALTER COLUMN [ fieldname ] new_datatype isnull


要更改的列的 new_data_type 应符合下列准则: 
A,原来的数据类型必须可以隐式转换为新数据类型。(发现,如果原来的数据类型是text的就再也不能修改数据类型了)
B,new_data_type 类型不能为 timestamp。
C,对 ALTER COLUMN,ANSI 空默认值始终打开;如果没有指定,列将可为空。
D,对 ALTER COLUMN,ANSI 填充始终打开。
E,如果要更改的列是标识列,new_data_type 必须是支持标识属性的数据类型。
F,将忽略SET ARITHABORT的当前设置。ALTER TABLE语句的行为如同ARITHABORT选项为ON时一样。 
G,只有列中不包含空值时,ALTER COLUMN 中才可指定 NOT NULL。
将空值更新为非空值:UPDATE [tablename] SET [nullfield] = 'some_value' WHERE [nullfield] IS NULL

5,增加带默认值约束的字段:

  
    
ALTER TABLE [ tablename ] ADD [ new_field_name ] new_datatype isnull CONSTRAINT constraint_name DEFAULT ' default_value ' WITH VALUES

A, 'WITH VALUES' 可以不写,写的话,就用该DEFAULT约束指定的值,填充在所有已有记录新加的字段上,否则使用'NULL'填充在所有已有记录新加的字段上.
B, 添加到表中的新列要么允许空值,要么必须指定默认值。
6,使用sp_rename存储过程修改字段名称:sp_rename @objname = '[tablename].[fieldname]' , @newname = 'newfieldname' ,@objtype = 'COLUMN'
参数objname必须指定为[表名].[欲修改的字段名]这样的形式,要修改字段名的话objtype就必须指定为'COLUMN'.值得注意的是newname这个参数中的字段名不可以使用"[]",但可以在其中使用空格,不过在以后使用这个字段名时要为其加上"[]",如果不小心使用"[]"的话字段名称会被修改成[[newfieldname]]]这样的怪样子的.这个一定要记住了!

你可能感兴趣的:(t-sql)