麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 數據庫 > 文庫 > 正文

SQL:基本表的創建與管理

2024-09-07 22:12:22
字體:
來源:轉載
供稿:網友

本文講解了使用SQL語言創建基本表的方法,以及使用SQL修改基本表和刪除基本表的方法。

首先說一下什么是基本表,本身獨立存在的表稱為基本表,在SQL語言中一個關系唯一對應一個基本表。基本表的定義指建立基本關系模式,而變更則是指對數據庫中已存在的基本表進行刪除與修改。

1、基本表的定義

SQL使用CREATE TABLE語句來定義基本表,其語句格式為:

CREATE TABLE [<數據庫名>.]<表名>
(<列名> 數據類型 [缺省值] [NOT NULL / NULL]
[,<列名> 數據類型 [缺省值] [NOT NULL / NULL]]......
[,UNIQUE (列名[,列名]......)]
[,PRIMARY KEY(列名)]
[,FOREIGN KEY(列名[,列名]......)REFERENCE <表名>(列名[,列名]
......)]
[,CHECK(條件)] [其它參數])

其中,〈數據庫名〉.]指出將新建立的表存放于該數據庫中; 新建的表由兩部分組成:其一為表和一組列名,其二是實際存放的數據(即可在定義表的同時,直接存放數據到表中);

列名為用戶自定義的易于理解的名稱,列名中不能使用空ge;數據類型為上面所介紹的幾種標準數據類型;

[NOT NULL/NULL]指出該列是否允許存放空值,SQL語言支持空值的概念,所謂空值是"不知道"或"無意義"的值,值得注意的是數據"0"和空ge都不是空值,系統一般默認允許為空值,所以當不允許為空值時,必須明確使用NOT NULL;

[,UNIQUE]將列按照其規定的順序進行排列,如不指定排列順序,則按列的定義順序排列;

[PRIMARY KEY]用于指定表的主鍵(即關系中的主屬性),實體完整性約束條件規定:主鍵必須是唯一的,非空的;

[,FOREIGN KEY (列名[,列名]......) REFERENCE<表名>(列名[,列名] ......)]是用于指定外鍵參照完整性約束條件,FOREIGN KEY指定相關列為外鍵,其參照對象為另外一個表的指定列,即使用REFERENCE引入的外表中的列,當不指定外表列名時,系統將默認其列名與參照鍵的列名相同,要注意的是:使用外鍵時必須使用參照,另外數據的外鍵參照完整性約束條件規定:外鍵的值要么與相對應的主鍵相同,要么為空值(具體由實現系統不同而異)

[,CHECK]用于使用指定條件對存入表中的數據進行檢查,以確定其合法性,提高數據的安全性。

例1:要建立一個學生情況表(student)

CREATE TABLE student                //創建基本表student
(st_class CHAR(8),           // 定義列st_class班級,數據類型為8位定長字符串
st_no CHAR(10) NOT NULL,       //定義列st_no學號,類型為10位定長字符串,非空
st_name CHAR(8) NOT NULL, //定義列st_name姓名,類型為8位定長字符串,非空
st_sex CHAR(2),              //定義列st_sex性別,類型為2位定長字符串
st_age SMALLINT,          //定義列st_age年齡,類型為短整型
PRIMARY KEY (st_no)      //定義st_no學號為主鍵。
)  

例2:要建立課程設置表(subject)

CREATE TABLE subject              --創建基本表subject
(su_no CHAR(4) NOT NULL,       --定義列su_no課號,類型為4位定長字符串,非空
su_subject CHAR(20) NOT NULL,--定義列su_subject課程名,類型為20位定長字符 串,非空
su_credit INTEGER,      --定義列su_credit學分,類型為長整數
su_period INTEGER,       --定義列su_period學時,類型為長整數
su_preno CHAR(4),        --定義列su_preno先修課號,類型為4位定長字符串
PRIMARY KEY(su_no)  --定義su_no課號為主鍵。
)

例3:要建立學生選課表(score)

CREATE TABLE score        --創建基本表score
(st_no CHAR(10),               --定義列st_no學號,類型為10位定長字符串
su_no CHAR(4),                  --定義列su_no課號,類型為4位定長字符串
sc_score INTEGER NULL,--定義列sc_score,類型為長整形,可以為空值
FOREIGN KEY (st_no) REFERENCE student(st_no ),
--從表student中引入參照外鍵st_no,以確保本表與表student的關聯與同步
FOREIGN KEY (suno) REFERENCE subject(su_no)
--//從表subject中引入參照外鍵su_no,以確保本表與表subject的關聯與同步
)

2、基本表的刪除

如果確認基本表不再需要,可以使用DROP TABLE語句將其刪除,這樣表的結構及存儲在表中的內容全部刪除。其語句格式為:

DROP TABLE[<數據庫名>.]表名

例如:將上面建立的表都刪除

DROP TABLE student,subject,score

3、基本表的修改

可以根據實際需要對表的定義進行修改,修改基本表的SQL語句是ALTER TABLE ,其語句格式如下:

 ALTER TABLE [<數據庫名>.]表名
        ADD  (<列名> 數據類型 [缺省值] [NOT NULL / NULL] 
             [,<列名> 數據類型[缺省值][NOT NULL / NULL]]......
            [,UNIQUE (列名[,列名]......)]
           [,PRIMARY KEY(列名)] 
           [,FOREIGN KEY(列名[,列名]......) REFERENCE <表名>(列名[,列名] ......)]
           [,CHECK(條件)][其它參數])

例如:在基本表student中加入列stborn出生日期,數據類型為DATE,且不能為空值

ALTER TABLE student ADD (stborn DATE NOT NULL)

刪除屬性的語句格式為:

ALTER TABLE [<數據庫名>.]表名 DROP
( <列名> 數據類型 [缺省值][NOT NULL / NULL]
[,<列名> 數據類型 [缺省值][NOT NULL / NULL]]......)

例如:將基本表student中的列st_age刪除

ALTER TABLE student DROP (st_age) 

以上對使用SQL定義、修改和刪除基本表的方法進行了介紹。實際很簡單,只要不斷地練習和琢磨,你還可以定義出更加復雜的基本表。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 欧美日韩亚洲成人 | 欧美成人黄色片 | 国产精品一区免费在线观看 | 国产精品999在线观看 | 成人毛片100部免费观看 | 欧美videofree性欧美另类 | 成人国产精品一区 | 九九热九九爱 | 国产91久久久 | h视频免费观看 | 久久精品视频网址 | 亚洲一区在线免费视频 | xxxx欧美视频 | 亚洲成人在线免费观看 | 精品国产欧美一区二区 | 久久精品在线免费观看 | vidz 98hd| 国产精品久久久在线观看 | 国产99久久久国产精品下药 | 欧美毛片在线观看 | 久久久久久久午夜 | 欧美成人一区二区三区 | 欧美wwwsss9999| 91精品国产九九九久久久亚洲 | 羞羞的视频免费在线观看 | 一级美女大片 | 国产色视频免费 | 久久成人精品视频 | 欧美精品一区自拍a毛片在线视频 | 亚洲日本欧美 | 久久久久久69 | 国产午夜精品久久久久久免费视 | a级黄色片视频 | 国产精品区一区二区三区 | 国产又白又嫩又紧又爽18p | 国产精品野外av久久久 | 黄色免费在线电影 | 媚药按摩痉挛w中文字幕 | 九九热视频免费 | 欧美一区二区三区中文字幕 | 涩涩屋av |