(SQL)資料表的修改

2021-08-14 10:10:45 字數 2980 閱讀 4858

一、資料表的修改

格式:

alter

table 表名

子句

--建立實驗表people

create

table people

(pname varchar(40),

gender varchar(10),

birthday varchar(10)

)

(1) 新增字段

--語法格式

alter

table 表名

add 列名 型別 [列說明]

[列說明]包括:

[null|not null]; [default]; [paimary key]

--在people中新增**字段

alter

table people

add tel varchar(20)

--在people中新增年齡字段

alter

table people

add age int

default

18check(age between 0

and150)

--在people中新增id欄位作為主鍵

alter

table people

add id varchar(20) constraint pkey primary

key

(2) 刪除字段

--語法格式

alter

table 表名

drop

column 列名

--刪除**字段

alter

table people

drop

column tel

(3) 修改字段型別

--語法格式

alter

table 表名

alter

column 列名 新型別

--將出生日期改為日期型

alter

table people

alter

column birthday date

下面的語句執行會出錯,出現錯誤的原因是我們在前面已經為age欄位新增了約束,下面的修改與約束衝突

alter

table people

alter

column age decimal(5,1)

(4) 新增約束

--語法格式

alter

table 表名

addconstraint 約束名

check (條件)

--為性別字段新增約束

alter

table people

addconstraint pgender check(gender in ('男','女'))

(5) 刪除約束

--語法格式

alter

table 表名

drop

constraint 約束名

tips:為約束命名是個好習慣

--刪除為性別加的約束

alter

table people

drop

constraint pgender

--刪除id上的主鍵

alter

table people

drop

constraint pkey

(6) 新增主鍵

--語法格式

alter

table 表名

addconstraint 約束名

primary

key (欄位名列表)

將people中的id和姓名設為主鍵,直接寫下面的語句會出錯,原因是pname欄位可以為空,這與主鍵非空約束不符

alter

table people

addconstraint pkey primary

key (id,pname)

需先將pname欄位設定為非空,再設定組合主鍵:

alter

table people

alter

column pname varchar(40) not

null

alter

table people

addconstraint pkey primary

key (id,pname)

(7)新增外來鍵

--語法格式

alter

table 表名

addconstraint 約束名

foreign

key (外來鍵欄位名列表)

references 表名2(被參照欄位名)

--將id設為外來鍵

alter

table people

addconstraint fkey foreign

key (id)

references student(snumb)

上述對資料表的修改也可通過視覺化操作完成,選中需要修改的資料表,滑鼠右鍵,選擇「設計」專案,可根據需要修改表

二、刪除表

--語法格式

drop

table 表名

資料表的刪除要慎重

參考資料:sql server資料庫技術(coursera)

SQL語句(三)資料表的修改

2.修改表alter table 表名子句 1 新增字段 alter table 表名 add 列名 型別 列說明 列說明 null not null default primary key 約束 例 在people中新增 號碼 alter table people add tel varchar ...

SQL語句(三)資料表的修改

2.修改表alter table 表名子句 1 新增字段 alter table 表名 add 列名 型別 列說明 列說明 null not null default primary key 約束 例 在people中新增 號碼 alter table people add tel varchar ...

資料表的修改

一 資料表的修改 1.語法 alter table add2.練習 例 在deptno30增加新列 alter table deptno30 add job varchar 30 二 資料表原列標題修改操作 1.語法 alter table modify 新列2.練習 例 將deptno30資料表中...