ibcadmin 发表于 2016-7-8 09:34:41

SQL常用方法(添加字段/修改约束/修改表名等)


[*]修改表名格式:sp_rename tablename,newtablename

sp_rename tablename,newtablename



[*]修改字段名格式:sp_rename 'tablename.colname',newcolname,'column'
sp_rename 'tablename.colname',newcolname,'column'



[*]添加字段格式:alter table table_name add new_column data_type

示例1ALTER TABLE student Add nationality varchar(20)

--示例2 添加int类型的列,默认值为 0
alter table student add studentName int default 0
--示例3 添加int类型的列,默认值为0,主键
alter table student add studentId int primary key default 0   
--示例4 判断student中是否存在name字段且删除字段
if exists(select * from syscolumns where id=object_id('student') and name='name') begin   
alter table student DROP COLUMN name   
end


[*]更改字段格式:alter table table_name alter column column_name

ALTER TABLE student ALTER COLUMN name VARCHAR(200)


[*]删除字段格式:alter table table_name drop column column_name
ALTER TABLE student DROP COLUMN nationality;



[*]查看字段约束格式: select * from information_schema.constraint_column_usage where TABLE_NAME = table_name
SELECT TABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME FROM information_schema.CONSTRAINT_COLUMN_USAGE
WHERE TABLE_NAME = 'student'


[*]查看字段缺省约束表达式 (即默认值等)格式:select * from information_schema.columns where TABLE_NAME = table_name
SELECT TABLE_NAME, COLUMN_NAME, COLUMN_DEFAULT FROM information_schema.COLUMNS
WHERE TABLE_NAME='student'



[*]查看字段缺省约束名格式:select name from sysobjects where object_id(table_name)=parent_obj and xtype=’D’

select name from sysobjects
where object_id('表?名?')=parent_obj and xtype='D'



[*]删除字段约束格式:alter table tablename drop constraint constraintname
ALTER TABLE student DROP CONSTRAINT PK__student__2F36BC5B772B9A0B



[*]添加字段约束格式:alter table tablename add constraint constraintname primary key (column_name)
--示例1
ALTER TABLE stuInfo ADD CONSTRAINT PK_stuNo PRIMARY KEY (stuNo)
--示例2添加主键约束(Primary Key)
-- 存在主键约束PK_stuNO,则删除
IF EXISTS(SELECT * FROM sysobjects WHERE name='PK_stuNo' and xtype='PK')
    Alter TABLE stuInfo
Drop Constraint PK_stuNo
Go
-- 重新添加主键约束PK_stuNO
ALTER TABLE stuInfoADD CONSTRAINT PK_stuNo PRIMARY KEY (stuNo)
Go
--示例3 添加 唯一UQ约束(Unique Constraint)
-- 存在唯一约束UQ_stuNO,则删除
IF EXISTS(SELECT * FROM sysobjects WHERE name='UQ_stuID' and xtype='UQ')
    Alter TABLE stuInfo
Drop Constraint UQ_stuID
Go
-- 重新添加唯一约束UQ_stuID
ALTER TABLE stuInfo ADD CONSTRAINT UQ_stuID UNIQUE (stuID)
--示例4 添加默认DF约束(Default Constraint)
-- 存在默认约束UQ_stuNO,则删除
IF EXISTS(SELECT * FROM sysobjects WHERE name='DF_stuAddress' and xtype='D')
    Alter TABLE stuInfo Drop Constraint DF_stuAddress
Go
-- 重新添加默认约束DF_stuAddress
ALTER TABLE stuInfoADD CONSTRAINT DF_stuAddress DEFAULT ('地址不详') FOR stuAddress
--示例5 检查CK约束(Check Constraint)
-- 存在检查约束UQ_stuNO,则删除
IF EXISTS(SELECT * FROM sysobjects WHERE name='CK_stuAge' and xtype='C')
    Alter TABLE stuInfo Drop Cons

ibcadmin 发表于 2016-7-8 09:37:34

11

即墨还雀 发表于 2016-7-8 09:39:34

123422343234

ibcadmin 发表于 2016-7-8 09:40:36

即墨还雀 发表于 2016-7-8 09:39
123422343234

我想知道你在群里是谁

Amy尾巴 发表于 2016-7-8 09:52:50

66666,关键不换行挺费力看起来

ibcadmin 发表于 2016-7-8 10:27:49

Amy尾巴 发表于 2016-7-8 09:52
66666,关键不换行挺费力看起来

{:3_62:}

等待时候 发表于 2016-7-8 10:41:41

66666666666

Amy尾巴 发表于 2016-7-8 14:11:53

ibcadmin 发表于 2016-7-8 09:40
我想知道你在群里是谁

这是天涯吖

剑弑 发表于 2016-7-8 16:47:09

66666666666666666

ibcadmin 发表于 2016-7-9 19:34:30

Amy尾巴 发表于 2016-7-8 14:11
这是天涯吖

是他 是他 就是他
页: [1] 2
查看完整版本: SQL常用方法(添加字段/修改约束/修改表名等)