- MySQL數(shù)據(jù)庫管理與開發(fā)實踐教程 (清華電腦學(xué)堂)
- 程朝斌
- 1671字
- 2021-03-19 18:16:52
3.5 管理數(shù)據(jù)表
表是有著結(jié)構(gòu)和數(shù)據(jù)的,數(shù)據(jù)表的相關(guān)操作比數(shù)據(jù)庫的操作要多,包括查看數(shù)據(jù)庫中的表、查看表的結(jié)構(gòu)、添加表數(shù)據(jù)、查看表數(shù)據(jù)、修改表的定義、刪除表等。本節(jié)介紹數(shù)據(jù)表的管理。
3.5.1 查看數(shù)據(jù)表
查看數(shù)據(jù)庫包括查看指定數(shù)據(jù)庫中的表和查看指定表的結(jié)構(gòu),下面從這兩個方面詳細介紹表的查看。
1.查看數(shù)據(jù)庫中的表
查看數(shù)據(jù)庫中的表,使用SHOW TABLES命令。該命令可查看指定數(shù)據(jù)庫中的所有表,如查看sakila數(shù)據(jù)庫下的表,代碼如下。
USE sakila;SHOW TABLES;
執(zhí)行上述代碼,其效果如圖3-14所示。

圖3-14 sakila中的表
2.查看表結(jié)構(gòu)
在控制臺可以查看表的結(jié)構(gòu),即表的字段信息,其中包括:字段名、字段數(shù)據(jù)類型、是否為主鍵、是否有默認值等。
查看表的結(jié)構(gòu)可以使用簡單查詢和詳細查詢,分別使用DESCRIBE/DESC語句和SHOW CREATE TABLE語句。
使用DESCRIBE/DESC語句,語法如下:
DESCRIBE 表名;
或者簡寫為:
DESC 表名;
如查看sakila數(shù)據(jù)庫中的actor表的結(jié)構(gòu),代碼如下。
USE sakila;DESC actor;
上述代碼的執(zhí)行效果如圖3-15所示。

圖3-15 actor表的結(jié)構(gòu)
3.5.2 添加表數(shù)據(jù)
數(shù)據(jù)表是用來存儲數(shù)據(jù)的,在字段創(chuàng)建之后即可向表中添加數(shù)據(jù)。向表中添加一條數(shù)據(jù)相當(dāng)于為表中對應(yīng)的字段添加一個值,由于字段是有著數(shù)據(jù)類型和約束的,因此數(shù)據(jù)的添加不能違背字段的數(shù)據(jù)類型和約束。
如一個整型字段不能添加一個字符型的數(shù)據(jù);一個非空的字段不能夠省略數(shù)據(jù)的添加;一個允許為空的字段可以省略數(shù)據(jù)的添加;一個不能夠重復(fù)的字段不能夠添加重復(fù)的值等。相關(guān)字段約束的內(nèi)容將在第4章中介紹。
數(shù)據(jù)添加可以在MySQL Workbench中進行,也可以使用SQL語句。
1.MySQL Workbench中添加表數(shù)據(jù)
在MySQL Workbench中添加數(shù)據(jù)首先要找到需要添加數(shù)據(jù)的表,在表的名稱處右擊,如圖3-16所示。

圖3-16 MySQL Workbench中表的操作
如圖3-16所示,右擊表的名稱后有彈出的對話框,顯示可在MySQL Workbench中執(zhí)行的表的操作,包括表的查詢、復(fù)制、創(chuàng)建、修改、刪除、刷新等操作。選擇第一項Select Rows選項可查看當(dāng)前表中的數(shù)據(jù),如圖3-17所示。

圖3-17 查詢表數(shù)據(jù)
如圖3-17所示,查詢結(jié)果是處于可編輯狀態(tài)的,直接在字段名稱的下面填寫相應(yīng)的數(shù)據(jù),即可實現(xiàn)數(shù)據(jù)的添加。圖3-17中向表shop.new_table添加了三條數(shù)據(jù)。
數(shù)據(jù)編輯之后單擊Apply按鈕,即可打開執(zhí)行對話框,單擊Apply按鈕執(zhí)行數(shù)據(jù)的添加,接著在執(zhí)行狀態(tài)對話框中單擊Finish按鈕完成數(shù)據(jù)的添加和保存。
2.SQL語句添加表數(shù)據(jù)
向表中添加數(shù)據(jù)需要指出需要使用的表和添加的數(shù)據(jù):使用INSERT INTO語句指出需要添加數(shù)據(jù)的表;使用VALUES語句指出需要添加的數(shù)據(jù)。
添加數(shù)據(jù)的語法將在第6章中詳細介紹,這里只提供添加語句的例子。如同樣是向表shop.new_table添加了三條數(shù)據(jù),代碼如下。
INSERT INTO 'shop'.'new_table' ('id', 'name', 'price') VALUES ('1', 'apple', '2.5'); INSERT INTO 'shop'. 'new_table' ('id', 'name', 'price') VALUES ('2', 'banana', '3.5'); INSERT INTO 'shop'. 'new_table' ('id', 'name', 'price') VALUES ('3', 'orange', '5');
3.5.3 修改表
表的名稱是可以修改的,對表指定一個有意義的名稱是很有利于數(shù)據(jù)操作的。修改表的名稱也有兩種方式,如下所示。
1.MySQL Workbench中修改表信息
找到需要修改的表,在其名稱處右擊,如圖3-16所示。選擇Alter Table選項可打開表的修改界面,如圖3-18所示。

圖3-18 修改表goods
如圖3-18所示,界面中顯示了該表的所有信息,每一項都處于可編輯狀態(tài),可直接在界面中進行修改。如表的名稱、數(shù)據(jù)庫類型、校對規(guī)則、字段信息等,除了所屬數(shù)據(jù)庫以外都是可編輯狀態(tài)。若此時修改數(shù)據(jù)庫信息,如數(shù)據(jù)庫的校對規(guī)則,那么在執(zhí)行數(shù)據(jù)表修改的同時,將修改數(shù)據(jù)庫信息。
修改之后單擊Apply按鈕,即可打開執(zhí)行對話框,單擊Apply按鈕執(zhí)行表的修改,接著在執(zhí)行狀態(tài)對話框中單擊Finish按鈕完成修改。
2.SQL語句添加表名稱
表的修改涉及很多,包括表定義的修改(所屬數(shù)據(jù)庫、表的名稱、字段信息)和表數(shù)據(jù)的修改。表數(shù)據(jù)的修改將在第6章中介紹;字段的修改將在3.6.2節(jié)中介紹,這里介紹使用SQL語句修改表的名稱,語法如下:
ALTER TABLE <舊表名> RENAME [TO] <新表名>;
如將shop數(shù)據(jù)庫中的goods表的名稱修改為goodses,代碼如下。
USE shop;ALTER TABLE goods RENAME goodses;
3.5.4 刪除表
表的刪除可以直接在MySQL Workbench中如圖3-16所示的界面選擇Drop Table選項,即可打開提示對話框,如圖3-19所示。

圖3-19 刪除選項
若選擇Drop Now則直接刪除該數(shù)據(jù)表,沒有任何的提示。若選擇Review SQL則顯示刪除語句如圖3-20所示,單擊Execute按鈕即可執(zhí)行數(shù)據(jù)表的刪除,沒有任何的提示。

圖3-20 顯示SQL語句
除此之外還可以使用查詢窗口,編寫SQL語句來刪除。刪除表使用DROP TABLE命令,在該語句后添加表的名稱即可。語法格式如下所示:
DROP TABLE tableName;
如刪除school數(shù)據(jù)庫中student表,執(zhí)行代碼及其執(zhí)行結(jié)果如下所示。
USE school;DROP TABLE student;
- Selenium Design Patterns and Best Practices
- Windows Presentation Foundation Development Cookbook
- Hands-On GPU:Accelerated Computer Vision with OpenCV and CUDA
- 深入RabbitMQ
- Raspberry Pi Home Automation with Arduino(Second Edition)
- App Inventor創(chuàng)意趣味編程進階
- 代替VBA!用Python輕松實現(xiàn)Excel編程
- 后臺開發(fā):核心技術(shù)與應(yīng)用實踐
- C++從入門到精通(第6版)
- Exploring SE for Android
- Simulation for Data Science with R
- Clojure Polymorphism
- Monitoring Docker
- Pandas 1.x Cookbook
- Learning GraphQL and Relay