官术网_书友最值得收藏!

3.3 創(chuàng)建數(shù)據(jù)表

數(shù)據(jù)庫(kù)創(chuàng)建以后,選定這個(gè)新創(chuàng)建的數(shù)據(jù)庫(kù)作為當(dāng)前默認(rèn)的數(shù)據(jù)庫(kù),然后就可以在該數(shù)據(jù)庫(kù)中創(chuàng)建數(shù)據(jù)表了。

3.3.1 使用Navicat對(duì)話方式創(chuàng)建數(shù)據(jù)表

以在學(xué)生管理系統(tǒng)數(shù)據(jù)庫(kù)(stuInfo)中創(chuàng)建學(xué)生表(student)為例,使用Navicat對(duì)話方式創(chuàng)建用戶數(shù)據(jù)表的步驟如下。

1)在“Navicat for MySQL”窗口中,依次展開(kāi)“LDL”→“stuinfo”,雙擊“stuinfo”打開(kāi)該數(shù)據(jù)庫(kù),在“表”上右擊,選擇“新建表”菜單命令(或者單擊工具欄上的“新建表”按鈕),顯示如圖3-1所示的表結(jié)構(gòu)設(shè)計(jì)窗口。

圖3-1 表結(jié)構(gòu)設(shè)計(jì)窗口

2)在表結(jié)構(gòu)設(shè)計(jì)窗口中,通過(guò)工具欄上的“添加字段”“插入字段”和“刪除字段”等按鈕來(lái)設(shè)置字段名、數(shù)據(jù)類(lèi)型、是否允許為空、默認(rèn)值、為數(shù)據(jù)類(lèi)型指定長(zhǎng)度、自動(dòng)遞增、主鍵、注釋等。學(xué)生表的表結(jié)構(gòu)設(shè)計(jì)如圖3-2所示。

圖3-2 學(xué)生表的表結(jié)構(gòu)設(shè)計(jì)

3)完成數(shù)據(jù)表所有列的設(shè)置后,單擊工具欄上的“保存”按鈕,彈出如圖3-3所示的“表名”對(duì)話框,輸入表名“student”,單擊“確定”按鈕,即完成學(xué)生表(student)的創(chuàng)建。

圖3-3 “表名”對(duì)話框

3.3.2 使用SQL語(yǔ)句創(chuàng)建數(shù)據(jù)表

創(chuàng)建數(shù)據(jù)表使用CREATE TABLE語(yǔ)句,其語(yǔ)法格式如下:

說(shuō)明:

● 每一個(gè)字段都可以使用屬性對(duì)其進(jìn)行限制說(shuō)明,主要包括AUTO_INCREMENT、NOT NULL、DEFAULT等。其中AUTO_INCREMENT是用來(lái)設(shè)置字段的自動(dòng)增量屬性,當(dāng)數(shù)值類(lèi)型的字段設(shè)置為自動(dòng)增量時(shí),每增加一條新記錄,該字段的值就自動(dòng)加1,而且此字段的值不允許重復(fù);插入記錄時(shí)也可以為自增字段指定某一非零數(shù)值,如果標(biāo)準(zhǔn)已經(jīng)存在,該值將出錯(cuò),否則使用指定數(shù)值作為自增字段的值,并且下次插入時(shí),下條記錄中該字段的值將在此值的基礎(chǔ)上加1;AUTO_INCREMENT屬性只能修飾整數(shù)類(lèi)型的字段。

● 可以使用PRIMARY KEY、UNIQUE、INDEX、KEY等子句為字段定義索引。另外也可以使用FOREIGN KEY子句創(chuàng)建與其他數(shù)據(jù)表的主鍵字段的外鍵約束。這將在第4章中詳細(xì)介紹。

● MySQL支持多種存儲(chǔ)引擎,例如MyISAM、InnoDB、HEAP、BOB、CSV等,其中最重要的是MyISAM和InnoDB這兩種存儲(chǔ)引擎。如果在創(chuàng)建數(shù)據(jù)表時(shí)沒(méi)有設(shè)置存儲(chǔ)引擎,默認(rèn)的存儲(chǔ)引擎是由MySQL配置文件里的default-table-type選項(xiàng)指定的,默認(rèn)值為InnoDB。當(dāng)用CREATE TBALE創(chuàng)建新的數(shù)據(jù)表時(shí),可以通過(guò)ENGINE或TYPE選項(xiàng)確定存儲(chǔ)引擎。MyISAM和InnoDB存儲(chǔ)引擎的比較如下所示。

■ MyISAM:該存儲(chǔ)引擎成熟、穩(wěn)定、易于管理,是最節(jié)約空間和響應(yīng)速度最快的一種存儲(chǔ)引擎;但該類(lèi)型不支持事務(wù)操作和外鍵約束。

■ InnoDB:該存儲(chǔ)引擎提供了具有提交、回滾和崩潰恢復(fù)能力的事務(wù)安全存儲(chǔ)引擎,也支持外鍵約束,并且具有更高的安全性。

【示例3-1】在數(shù)據(jù)庫(kù)stuInfo中創(chuàng)建學(xué)生表(student1),其中id字段為自動(dòng)增加的無(wú)符號(hào)整數(shù)、主鍵,sNo、sName字段不允許為空。

在“Navicat for MySQL”窗口中,依次展開(kāi)“LDL”→“stuinfo”,雙擊“stuinfo”打開(kāi)該數(shù)據(jù)庫(kù),單擊工具欄上的“新建查詢”按鈕,打開(kāi)一個(gè)查詢窗口。在該窗口中輸入以上SQL語(yǔ)句,單擊工具欄上的“運(yùn)行”按鈕執(zhí)行該語(yǔ)句。運(yùn)行結(jié)果如圖3-4所示。

圖3-4 創(chuàng)建學(xué)生表(student1)

然后在“stuinfo”→“表”節(jié)點(diǎn)上右擊,選擇“刷新”菜單命令,則可以看到所創(chuàng)建的“student1”數(shù)據(jù)表了。

【示例3-2】在數(shù)據(jù)庫(kù)stuInfo中創(chuàng)建課程表(course),其中id字段為自動(dòng)增加的無(wú)符號(hào)整數(shù)、主鍵,cNo、cName字段不允許為空。運(yùn)行結(jié)果如圖3-5所示。

圖3-5 創(chuàng)建課程表(course)

【示例3-3】在數(shù)據(jù)庫(kù)stuInfo中創(chuàng)建成績(jī)表(score),其中id字段為自動(dòng)增加的無(wú)符號(hào)整數(shù)、主鍵,sId、cId、grade字段不允許為空。運(yùn)行結(jié)果如圖3-6所示。

圖3-6 創(chuàng)建成績(jī)表(score)

數(shù)據(jù)表成功創(chuàng)建后,可以使用“SHOW TABLES;”語(yǔ)句進(jìn)行查看。

【示例3-4】查看數(shù)據(jù)庫(kù)stuInfo中所有數(shù)據(jù)表。運(yùn)行結(jié)果如圖3-7所示。

圖3-7 查看數(shù)據(jù)表

主站蜘蛛池模板: 思南县| 迁西县| 海伦市| 桐城市| 宝山区| 临清市| 阳西县| 日照市| 米泉市| 东阳市| 曲松县| 博乐市| 武穴市| 光泽县| 明星| 华阴市| 报价| 兴义市| 寿光市| 朔州市| 微博| 临澧县| 新乡市| 北宁市| 涞源县| 重庆市| 长宁区| 琼海市| 景谷| 林周县| 永清县| 东明县| 金昌市| 兴和县| 商城县| 察隅县| 吉木萨尔县| 林芝县| 竹北市| 石嘴山市| 上虞市|