a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 數(shù)據(jù)庫 > 文庫 > 正文

SQL:基本表的創(chuàng)建與管理

2024-09-07 22:12:22
字體:
供稿:網(wǎng)友

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

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

1、基本表的定義

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

CREATE TABLE [<數(shù)據(jù)庫名>.]<表名>
(<列名> 數(shù)據(jù)類型 [缺省值] [NOT NULL / NULL]
[,<列名> 數(shù)據(jù)類型 [缺省值] [NOT NULL / NULL]]......
[,UNIQUE (列名[,列名]......)]
[,PRIMARY KEY(列名)]
[,F(xiàn)OREIGN KEY(列名[,列名]......)REFERENCE <表名>(列名[,列名]
......)]
[,CHECK(條件)] [其它參數(shù)])

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

列名為用戶自定義的易于理解的名稱,列名中不能使用空ge;數(shù)據(jù)類型為上面所介紹的幾種標(biāo)準(zhǔn)數(shù)據(jù)類型;

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

[,UNIQUE]將列按照其規(guī)定的順序進(jìn)行排列,如不指定排列順序,則按列的定義順序排列;

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

[,F(xiàn)OREIGN KEY (列名[,列名]......) REFERENCE<表名>(列名[,列名] ......)]是用于指定外鍵參照完整性約束條件,F(xiàn)OREIGN KEY指定相關(guān)列為外鍵,其參照對象為另外一個表的指定列,即使用REFERENCE引入的外表中的列,當(dāng)不指定外表列名時,系統(tǒng)將默認(rèn)其列名與參照鍵的列名相同,要注意的是:使用外鍵時必須使用參照,另外數(shù)據(jù)的外鍵參照完整性約束條件規(guī)定:外鍵的值要么與相對應(yīng)的主鍵相同,要么為空值(具體由實現(xiàn)系統(tǒng)不同而異)

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

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

CREATE TABLE student                //創(chuàng)建基本表student
(st_class CHAR(8),           // 定義列st_class班級,數(shù)據(jù)類型為8位定長字符串
st_no CHAR(10) NOT NULL,       //定義列st_no學(xué)號,類型為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學(xué)號為主鍵。
)  

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

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

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

CREATE TABLE score        --創(chuàng)建基本表score
(st_no CHAR(10),               --定義列st_no學(xué)號,類型為10位定長字符串
su_no CHAR(4),                  --定義列su_no課號,類型為4位定長字符串
sc_score INTEGER NULL,--定義列sc_score,類型為長整形,可以為空值
FOREIGN KEY (st_no) REFERENCE student(st_no ),
--從表student中引入?yún)⒄胀怄Ist_no,以確保本表與表student的關(guān)聯(lián)與同步
FOREIGN KEY (suno) REFERENCE subject(su_no)
--//從表subject中引入?yún)⒄胀怄Isu_no,以確保本表與表subject的關(guān)聯(lián)與同步
)

2、基本表的刪除

如果確認(rèn)基本表不再需要,可以使用DROP TABLE語句將其刪除,這樣表的結(jié)構(gòu)及存儲在表中的內(nèi)容全部刪除。其語句格式為:

DROP TABLE[<數(shù)據(jù)庫名>.]表名

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

DROP TABLE student,subject,score

3、基本表的修改

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

 ALTER TABLE [<數(shù)據(jù)庫名>.]表名
        ADD  (<列名> 數(shù)據(jù)類型 [缺省值] [NOT NULL / NULL] 
             [,<列名> 數(shù)據(jù)類型[缺省值][NOT NULL / NULL]]......
            [,UNIQUE (列名[,列名]......)]
           [,PRIMARY KEY(列名)] 
           [,F(xiàn)OREIGN KEY(列名[,列名]......) REFERENCE <表名>(列名[,列名] ......)]
           [,CHECK(條件)][其它參數(shù)])

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

ALTER TABLE student ADD (stborn DATE NOT NULL)

刪除屬性的語句格式為:

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

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

ALTER TABLE student DROP (st_age) 

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

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 妞干网福利视频 | 国产一区二区亚洲 | 嫩草视频在线播放 | 国产欧美精品区一区二区三区 | 特黄视频 | 久久免费国产精品 | 久久国产精品久久 | 99re6热在线精品视频播放 | 亚洲精品一二三区 | 亚洲 欧美 激情 另类 校园 | 四虎国产精品成人免费4hu | 在线视频偷国产精品 | 夜夜春精品视频高清69式 | 在线看成人片 | 亚洲电影一区二区三区 | a级毛片免费高清视频 | 亚洲经典一区二区三区 | 在线观看免费毛片视频 | 在线视频成人 | 久久成人免费 | 中文av在线免费观看 | 手机在线观看毛片 | 色婷婷av一区二区三区软件 | 欧美日韩精品一区二区在线播放 | 亚洲欧美日韩另类精品一区二区三区 | 精品久久一二三区 | 日韩性视频| 欧美精品综合在线 | 中文字幕加勒比 | 亚洲h网站 | 精品无人乱码一区二区三区 | 久久久久国产精品一区二区三区 | 成人一区二区三区视频 | 日本精品网站 | 午夜精品久久久久久久久久久久 | 久久xxx | 色黄视频在线看 | 一区二区三区四区日韩 | 一区二区在线 | 一本久久a久久精品亚洲 | 国产中文字幕在线 |