SQL基礎 建立 更改和刪除表

2022-01-10 14:45:07 字數 3032 閱讀 3778

建立表

約束使用default確定預設值

使用primary key指定主鍵

使用foreign key指定外來鍵

使用unique確保值唯一

使用check建立檢查約束

使用create temporary table建立臨時表

使用create table as利用已存在表建立新錶

使用alter table修改表

使用drop table刪除表

要建立表,需要定義如下內容:

1.表名

2.列名

3.列的資料型別

4.列的預設值

5.約束

表名在資料庫中必須唯一,列名在表中必須唯一。

可以用create table語句建立新錶,一般的語法如下:

create

table

table

( column1 data_type1

[col_constraints1],

column2 data_type2

[col_constraints2],

…columnn data_typen

[col_constraintsn],

[, table_constraint1][

, table_constraint2]…

[, table_constraintn

]);

每個列包含列名、資料型別,以及可選的乙個或多個列約束的列表。

可選的表約束列表放在最後的列定義之後。

約束定義了列允許的值的規則。dbms使用這些規則自動強制性地保證資料庫資訊的完整性。

not null阻止向列中插入空值

primary key設定表的主鍵列

foreign key設定表的外來鍵列

unique阻止向列中插入重複的值

check使用邏輯(布林)表示式限制插入列中的值

依據使用環境,約束分為列約束表約束

如果不顯示命名約束,dbms將自動產生並分配約束的名稱。

系統分配的名稱經常包含隨機的字串並且使用起來很麻煩,所以應該用constraint子句分配自定義的約束名。

在create table列定義中使用關鍵字default定義預設值。

如果插入行時沒有給出列的值,應用列的預設值。

如果沒有指定預設值,就認為是null。

主鍵唯一標識出表的每一行。

沒有兩行擁有相同主鍵。

主鍵不允許為空值。

每個表只能有乙個主鍵。

單列鍵是簡單鍵,多列鍵是組合鍵。

在create table的定義中使用關鍵字primary key定義主鍵約束。

主鍵值通常在插入後不再改變。

外來鍵是表的一列(或一組列),它的值聯絡或引用其他表的值。

外來鍵確保表中的行,在另外被稱作引用表或父表的表中有相對應的行。

外來鍵不像主鍵,允許空值。

外鍵值通常不是唯一的。

不同表的外來鍵列可以引用父表的同一列。

在creat table中使用關鍵字foreign keyreferences來定義外來鍵約束。

外來鍵和它的父鍵可以有不同的列名,但是必須有相同的資料型別。

foreign key列不一定非要引用另乙個表的primary key列,它也可以引用另乙個表的unique列。

唯一約束確保列(列集)沒有重複的值。

除了唯一列可以包含空值和表可以包含多個唯一列,唯一約束和主鍵約束沒有別的區別。

單鍵列是簡單約束,多鍵列是唯一約束。

前面對插入值的約束僅是它所在列的資料型別、長度、範圍。

可以加入檢查約束來進一步限制列(列集)可以接受的值。

在creat table中使用關鍵字check建立檢查約束。

非臨時表稱作基礎表,它們持久儲存資料直到顯式刪除(drop)表為止。

sql允許建立臨時表來儲存中間結果。

臨時表將複雜耗時的查詢結果儲存起來,在隨後的查詢中重複使用這個結果。在會話或事物結束時,dbms能夠自動清空臨時表。

使用標準的create table,在關鍵字table之前加上關鍵字global temporarylocal temporary就可以建立臨時表。

臨時表也可以自己刪除而不是等dbms來釋放記憶體。

create table as語句建立新錶且向其中填充select的結果。

它類似於使用create table建立空表,然後使用insert select填充表。

create table as通常被用於如下操作:存檔、備份、建立快照、快速複製表結構但不包含資料、建立測試資料。

語法是:

create

table

new_table

as subquery;

new_table是要建立的表的名稱,subquery是乙個返回插入到new_table錶行的select語句。

使用alter table語句來增加、修改、刪除列和約束,可以修改表。

alter

table

table alter_table_action

table是要修改的表名,alter_table_action是以add、alter或drop開始表明要採取行動的子句。

使用drop table語句從資料庫刪除表。

delete from table是清空表,刪除表和刪除表中的所有行的內容不同。

ps:不同的資料庫可能會有細節差異,到時候針對具體情況再看相關文件吧。

推薦sql軟體

表的建立 更改和刪除

必須給出以下資訊 1 新錶的名字 2 表列的名字和定義,用逗號分隔 e.g.create table customers cust id int not null autoz increment,cust name char 50 not null primary key cust id engin...

mysql 建立 刪除 索引和更改表

原 primary key imageid 本表的imageid作為主鍵 key categoryid categoryid 本表的categoryid欄位與categoryid表categoryid欄位建立外來鍵 key userid userid 本表的userid欄位與userid表useri...

SQL基礎 刪除和修改表

你應該在建立表之前仔細設計它們,因為你在改變乙個已經存在的表時會受到很大的限制。例如,一旦已經建立了乙個表,你就不能刪除表中的字段或者改變欄位的資料型別。在這種情況你所能做的是刪除這個表,然後重頭開始 參見第十一章 中級sql 中的 使用sql建立記錄和表 一節 要刪除乙個表,你可以使用sql語句d...