建立,修改和刪除表

2021-05-24 00:01:19 字數 1350 閱讀 1054

1、表的建立

(1)建立表,包含非空和預設值約束

包含非空約束的列,當在新增資料時,如果該列值為null,則資料庫會報錯,新增失敗。非空約束避免了由於使用者的誤操作導致的資料不完整性。

(2)向表中新增資料

執行結果:

有結果可知,對於允許為空的字段birthday,在沒有插入任何資料的情況下,預設為null,插入操作得以正確執行。

對於有預設值的字段,當沒有給它設定值時,它被以預設值填充。

2、表的修改

(1)增加新列

當向已有資料的表中新增新列的時候,dbms預設新列的值為null,如果為新列增加非空約束,則必須為它指定預設值。當然,如果表中不存在任何資料,則不存在這個問題。

例如向學生表中增加email欄位(此時student表中已經有兩條資料記錄)

執行的結果是報錯,修改為:

執行結果:

(2)刪除列

eg:刪除沒有任何約束的列birthday

eg:企圖刪除預設值為『男』的*** 列,執行

alter table student 

drop column ***將失敗

刪除列後,該列的所有資料也被刪除了。

(3)修改列

eg1:修改資料允許的最大長度

alter table student 

alter column email char(25)

在這裡要注意,一般是增長最大的資料長度,如果是減少最大的資料長度時,如果已有資料的長度大於要減少到的長度,則出於對已有資料的保護,表的修改會失效。

eg2:去掉為空約束

alter table student 

alter column sname char(20) null

eg3:改變列的資料型別

alter table student 

alter column sno char(5) not null

這種情況要求舊的資料型別必須和新的資料型別相容。比較常用的是從int型或者decimal型轉換成char型。

3、表的刪除和重新命名

(1)表的重新命名

eg:將student表改名為mystudent

sp_rename 'student','mystudent'

eg:重新命名表中的列

sp_name 'mystudent.sname','studentname','colume'

eg:刪除mystudent表

drop table mystudent

刪除表後,該錶的所有資料也被刪除了。當某錶與其他表存在某種關係時,某些dbms要求先刪除這種關聯之後,才允許刪除該錶。

4、資料庫的建立、修改和刪除

乙個例子:

建立 修改 刪除表

1 建立表 1.1 完整約束條件表 約束條件 說明primary key 表示該屬性為表的主鍵,可以唯一的表示對應的元組 foreign key 標示該屬性為表的外來鍵,是與之聯絡的某錶的主鍵 not null 標示該屬性不能為空 unique 標示該屬性的值是唯一的 auto increment ...

MySql 表 建立表 刪除表 修改表

一 建立表 建立表語法 create table table name field1 datatype,field2 datatype,field3 datatype character set 字符集 collate 校驗規則 engine 儲存引擎 預設儲存引擎 mysql create tab...

SQL建立 修改 刪除表

建立表 create table 表名 列名 資料型別 屬性 列名 資料型別 屬性 增加表的列 alter table 表名 add 欄位名 資料型別 屬性 修改表的列 alter table 表名 modify column 欄位名 資料型別 屬性 刪除表的列 alter table 表名 dro...