關聯課件: 3子項目三 - SQL的數據定義語言(點擊在線預覽)
3.3.3.2 數據定義語言(Create/Alter/Drop
1.CREATE/SHOW/USE語句
&n歌信bsp; CREATE語句可以用來創建新的數據庫和表。通計SHOW語句用來顯示當前所有數據庫或開哥當前數據庫下的所有表。
根據本章前面煙放(miàn)講過(guò)的方法,打開(kāi)命令提示符界面(東費miàn),輸入用戶名密碼登錄費為到MySQL控制台。登錄到控制台後(h草小òu)光标前面(miàn)顯示“mysql>”,在光标處可以直接輸遠唱入SQL語句來操作數據庫。下來來創建一個stu件了dent的數據庫。輸入以下命令并回車。
mysql> CREATE D匠校ATABASE student;
SQL語句可以用大寫,也可頻數以用小寫,還(hái)可以大小寫混合。本語句執行後(hòu)會(huì)輸出日技:
Query OK, 1 row affected (0.08 懂海sec)
這(zh跳要è)說(shuō)明語句執行成(chéng)功。一個名爲studen我了t的數據庫已經(jīng)被(bèi)創建成(c一鐵héng)功。這(zhè)時(shí)可以用以下命令來查看數據庫是否吧短已經(jīng)被(bèi)創建。
mysql> SHOW DA媽車TABASES;
輸兒日入命令後(hòu)回車,列出當前他購所有數據庫。
mysql> show databa妹低ses;
------------------藍妹--
| Database &nbs時街p;  謝弟; |
--------------------愛門
| information_schema |
| mysql &nbs高藍p; &nbs都店p; |
| student &nbs影鐘p; &nb錢音sp; |
| test  綠花; &公作nbsp; &nb文地sp; |
--------------------
4 rows in set (0.13 sec)
可以看到,student數據庫已還要經(jīng)創建成(chéng)功(i可人nformation_schema、mysql、test山行三個數據庫均爲MySQL安裝時(shí)自姐醫動創建的原始數據庫)。
繼續用CREATE語句在商廠student數據庫中創建一個表info。這(zh站又è)個表用來存儲學(xué)生基本信息,一共有3個字段,分别是姓名(name慢一)、性别(sex)、年齡(age水看)。這(zhè)3個字段對(duì)應的數據類型分别爲習秒CHAR、CHAR、TINYINT,長(書答cháng)度分别限制在20字節、2字節飛熱、2字節以内。
在student數據庫中創建表之前,需那但要首先打開(kāi)這(zhè)個數據庫:
mysql> USE student;
此語句用USE命令選定一個要操作的很書數據庫。執行後(hòu)顯示“Database changed”,表示數道了據庫已經(jīng)打開(kāi)。
&科黑nbsp;然後(hòu)輸入以下語句并回車:
mysql> CREATE TABLE info (name C跳近HAR(20), sex CHAR(2), age TINYINT(2))好技;
注意每條SQL語句友些輸入完畢後(hòu)最後(hò行多u)要輸入“;”,表示輸入完成(chéng)。朋說否則不論輸入多少個回車此語句都(dōu)不會(huì)執行,關人直到遇到分号結尾(也有極個别語句可以不加分号)。
語句執行完畢匠雪後(hòu)顯示“Query O風高K, 0 rows affected (器制0.14 sec)”。表示語句執行成(chéng)功。這(zhè)時(笑到shí)候表info已經(jīng)創建成(chéng那又)功。可以使用以下命令來查看student數據中現有的表。
mysql> SHOW TABL秒物ES;
執行後(hòu)顯示司她:
-------------------
| Tables_in_student |
-------------------
| info &nbs票微p; &n微相bsp;  術厭;  快雨; |
-------------------
1 row in set (0.00 sec)
這鐵暗(zhè)時(shí)可以看到inf技樹o表确實已經(jīng)創建到了stud慢要ent數據庫中。
2.ALTER語句
&nb歌笑sp; ALTER語句用來修改一個表的定義,也去行就(jiù)是說(shuō)修改表自身。如通見修改表的名字,修改表中某個字段的名字、屬性、類型等(也可以用于修改數據庫的部分購還屬性)。看下面(miàn)的例子:
mysql> ALTER TABLE info CHANG現厭E name xingming CHAR (20);
本語句將(jiāng)表i麗去nfo的name字段名修改爲xingmin房聽g,類型和長(cháng)度不變。又如:
mysql> ALTER海河 TABLE info ADD addr CHAR (50);
 他答; 本語句在info表中又增加了一兵很個名爲addr,類型char,長(腦要cháng)度爲50的新字段。
mysql> ALTER TABLE info DROP 錢動addr;
本語句删除了表info中的a山工ddr字段。
3.DROP語句
DROP年謝語句用來删除一個數據庫或者一個表。如果是删除喝了一個數據庫,那麼(me)這(zhè)個數據庫下的所有表也將(j問鐵iāng)被(bèi)删除。例如:
mysql> DROP DATABSE D1書件;
删除名有市爲D1的數據庫。
mysql> DROP TABLE tbl1;
删除名爲tbl1的表(删除小藍前需要先打開(kāi)數據庫)。
域的完整性:用Check來實現道白約束,在數據庫設計工具中,對(duì)字段的取值範圍進機體(jìn)行定義時(shí),有一個Check按鈕暗資,通 過(guò)它定義字段的美鐵值城。 參照完整性:用PK、FK、表級觸發(風白fā)器來實現。 用戶定義完整性:它是一些業務規則,用存儲拍志過(guò)程和觸發(fā)器來實現。
防止數據庫設計打補丁的方法是“三少原則” 司銀(1) 一個數據庫中表的個數越少越好(hǎo)。隻有表的個數少了,電讀才能(néng)說(shuō)明系統的E--R圖少而精,去掉了重複信議的多餘的 實體,形成(chéng)了對(duì)客女友觀世界的高度抽象,進(jìn)行了系統的數據集成(chéng)外可,防止了打補丁式的設計; (2) 一個東報表中組合主鍵的字段個數越少越好(hǎ廠友o)。因爲主鍵的作用,一是建主鍵索引,二是做爲答議子表的外鍵,所以組 合主鍵的字段個數少了,紅哥不僅節省了運行時(shí)間,而且節省了索引存儲空間; 聽話 (3) 一個表中的字段個數一月越少越好(hǎo)。隻有字段的個理離數少了,才能(néng)說(shuō)明在系統中不存在數據重複,且很少有河放數據冗 餘,更重要的是督促讀者學(xué計飛)會(huì)“列變行”,這(zhè)樣(yàng)就(jiù)防止了將(明站jiāng)子表中的字段拉入到主表中去多慢,在主表中留下許 多空餘的字段。所謂土樂“列變行”,就(jiù)是將(j懂美iāng)主表中的一部分内容拉出去,另外單獨建一個子友如表。這(zhè)個方法很簡 單,有的人就(jiù)是不習慣、不采納我也、不執行。
方法獨特,從中學(xué)到了很多。
對(duì)于數據定義語言講的快黃非常的到位
這(zhè)麼(me)詳細,想學(xué)不票日會(huì)都(dōu)難
條理清晰,通俗易懂
DROP語句用來删除一個數據庫或者一個表。如果是删除一個了年數據庫,那麼(me)這(zhè)個數據低那庫下的所有表也將(jiāng)被(bèi)删除。
這(zhè)麼(me)詳細,想學(xué)不會(huì)都(dōu)難
内容詳細易懂,感謝老師