SQLSERVER實現更改表名,更改列名,更改約束代碼_Android

來源:互聯網
上載者:User

廢話不多說了,具體詳情如下所示:

1.修改表名

格式:sp_rename tablename,newtablename

sp_rename tablename,newtablename 

2.修改欄位名

格式:sp_rename 'tablename.colname',newcolname,'column'

sp_rename 'tablename.colname',newcolname,'column' 

3.添加欄位

格式:alter table table_name add new_column data_type [interality_codition]

樣本1

ALTER 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 

4.更改欄位

格式:alter table table_name alter column column_name

ALTER TABLE student ALTER COLUMN name VARCHAR(200) 

5.刪除欄位

格式:alter table table_name drop column column_name

ALTER TABLE student DROP COLUMN nationality; 

6.查看欄位約束

格式: select * from information_schema.constraint_column_usage where TABLE_NAME = table_name

SELECT TABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME FROM information_schema.CONSTRAINT_COLUMN_USAGEWHERE TABLE_NAME = 'student' 

7.查看欄位預設約束運算式 (即預設值等)

格式:select * from information_schema.columns where TABLE_NAME = table_name

SELECT TABLE_NAME, COLUMN_NAME, COLUMN_DEFAULT FROM information_schema.COLUMNSWHERE TABLE_NAME='student' 

8.查看欄位預設約束名

格式:select name from sysobjects where object_id(table_name)=parent_obj and xtype='D'

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

9.刪除欄位約束

格式:alter table tablename drop constraint constraintname

ALTER TABLE student DROP CONSTRAINT PK__student__2F36BC5B772B9A0B 

10.添加欄位約束

格式: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 stuInfoDrop Constraint PK_stuNoGo -- 重新添加主鍵約束PK_stuNO ALTER TABLE stuInfo ADD 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 stuInfoDrop Constraint UQ_stuIDGo -- 重新添加唯一約束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_stuAddressGo -- 重新添加預設約束DF_stuAddress ALTER TABLE stuInfo ADD 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

以上所述是小編給大家介紹的SQLSERVER實現更改表名,更改列名,更改約束代碼,希望對大家有所協助!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.