1
2
3
4
5
6
7
8
9
10
11

SQL的數據定義語言

發(fā)布時(shí)間:2017-07-20 07:53&nbs腦綠p;  吃朋 發(fā)布人:毛書朋   南有浏覽次數:8257


關聯課件:  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)數據庫)。




  • 劉普敏 2018-01-07 15:35:醫理17
    域的完整性:用Check來實現道白約束,在數據庫設計工具中,對(duì)字段的取值範圍進機體(jìn)行定義時(shí),有一個Check按鈕暗資,通   過(guò)它定義字段的美鐵值城。   參照完整性:用PK、FK、表級觸發(風白fā)器來實現。   用戶定義完整性:它是一些業務規則,用存儲拍志過(guò)程和觸發(fā)器來實現。
  • 劉普敏 2018-01-07 15:35:37
    防止數據庫設計打補丁的方法是“三少原則”    司銀(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ù)是不習慣、不采納我也、不執行。
  • 劉鑫蕊 2018-01-09 16:06:55
    方法獨特,從中學(xué)到了很多。
  • 嶽猛 2018-01-09 16:09:41
    對(duì)于數據定義語言講的快黃非常的到位
  • 魏德旺 2018-01-09 16:19:2煙計1
    這(zhè)麼(me)詳細,想學(xué)不票日會(huì)都(dōu)難
  • 甄丹丹 2018-01-09 16:27:43
    條理清晰,通俗易懂
  • 李倩文 2018-01-10 11:4用北9:51
    DROP語句用來删除一個數據庫或者一個表。如果是删除一個了年數據庫,那麼(me)這(zhè)個數據低那庫下的所有表也將(jiāng)被(bèi)删除。
  • 班榮芳 2018-01-10 11:57:03
    這(zhè)麼(me)詳細,想學(xué)不會(huì)都(dōu)難
  • 楊宇生 2018-01-10 19:19:53
    内容詳細易懂,感謝老師