mysql基礎篇 - 數據庫及表的修改和刪除


基礎篇 - 數據庫及表的修改和刪除

 
 
 
 

修改和刪除

一、實驗簡介

本節實驗中,我們將學習並實踐如何對數據庫的內容做修改,刪除,重命名等操作。

二、實驗准備

在正式開始本實驗內容之前,需要先下載相關代碼。

該代碼可以新建兩個數據庫,分別名為 test_01 和mysql_shiyan ,並在 mysql_shiyan 數據庫中建 4 個表(department,employee,project,table_1),然后向其中插入數據。

具體操作如下,首先輸入命令進入 /home/shiyanlou/Desktop 目錄:

cd /home/shiyanlou/Desktop 

然后再輸入命令,下載代碼:

git clone http://git.shiyanlou.com/shiyanlou/SQL5 

下載完成后,輸入命令開啟 MySQL 服務並使用 root 用戶登錄:

#打開 MySQL 服務 sudo service mysql start #使用 root 用戶登錄 mysql -u root 

下載的 SQL5 目錄下,有 1 個文件 MySQL-05.sql (SQL5 目錄在桌面上,你可以用 Gedit 查看、編輯里面的文件。)

加載文件中的數據,需要在 MySQL 控制台中輸入命令,完成實驗准備:

source /home/shiyanlou/Desktop/SQL5/MySQL-05.sql 

三、實驗內容

1、對數據庫的修改

使用命令 SHOW DATABASES; 可以看到剛才運行MySQL-05.sql 文件生成的兩個數據庫:

01

現在我們運行命令刪除名為 test_01 的數據庫:

DROP DATABASE test_01; 

現在再次使用命令 SHOW DATABASES; 可以發現,test_01 數據庫已經被成功刪除:

02

2、對一張表的修改

(1) 重命名一張表

重命名一張表的語句有多種形式,以下 3 種格式效果是一樣的:

RENAME TABLE 原名 TO 新名字; ALTER TABLE 原名 RENAME 新名; ALTER TABLE 原名 RENAME TO 新名; 

使用命令嘗試修改 table_1 的名字為 table_2 :

03

(2)刪除一張表

刪除一張表的語句,類似於剛才用過的刪除數據庫的語句,格式是這樣的:

DROP TABLE 表名字; 

比如我們把 table_2 表刪除:

04

3、對一列的修改(即對表結構的修改)

對表結構的修改,是本節實驗的難點,有時候一些小的錯誤會造成不可挽回的后果,所以請細心操作。另外需要注意,不是必需盡量避免更改表結構。

(1)增加一列

在表中增加一列的語句格式為:

ALTER TABLE 表名字 ADD COLUMN 列名字 數據類型 約束; 或: ALTER TABLE 表名字 ADD 列名字 數據類型 約束; 

現在 employee 表中有 id、name、age、salary、phone、in_dpt 這6個列,我們嘗試加入 height (身高)一個列並指定DEFAULT 約束:

05

可以發現:新增加的列,被默認放置在這張表的最右邊。如果要把增加的列插入在指定位置,則需要在語句的最后使用AFTER關鍵詞(“AFTER 列1” 表示新增的列被放置在 “列1” 的后面)。

比如我們新增一列 weight (體重)放置在 age (年齡)的后面:

06

上面的效果是把新增的列加在某位置的后面,如果想放在第一列的位置,則使用 FIRST 關鍵詞,如語句:

ALTER TABLE employee ADD test INT(10) DEFAULT 11 FIRST; 

效果如下:

07

(2)刪除一列

刪除表中的一列和剛才使用的新增一列的語句格式十分相似,只是把關鍵詞 ADD 改為 DROP ,語句后面不需要有數據類型、約束或位置信息。具體語句格式:

ALTER TABLE 表名字 DROP COLUMN 列名字; 或: ALTER TABLE 表名字 DROP 列名字; 

我們把剛才新增的 test 刪除:

08

(3)重命名一列

這條語句其實不只可用於重命名一列,准確地說,它是對一個列做修改(CHANGE) :

ALTER TABLE 表名字 CHANGE 原列名 新列名 數據類型 約束; 

注意:這條重命名語句后面的 “數據類型” 不能省略,否則重命名失敗。

當原列名和新列名相同的時候,指定新的數據類型或約束,就可以用於修改數據類型或約束。需要注意的是,修改數據類型可能會導致數據丟失,所以要慎重使用。

我們用這條語句將 “height” 一列重命名為漢語拼音 “shengao” ,效果如下:

09

(4)改變數據類型

要修改一列的數據類型,除了使用剛才的CHANGE語句外,還可以用這樣的MODIFY語句:

ALTER TABLE 表名字 MODIFY 列名字 新數據類型; 

再次提醒,修改數據類型必須小心,因為這可能會導致數據丟失。在嘗試修改數據類型之前,請慎重考慮。

4、對表的內容修改

(1)修改表中某個值

大多數時候我們需要做修改的不會是整個數據庫或整張表,而是表中的某一個或幾個數據,這就需要我們用下面這條命令達到精確的修改:

UPDATE 表名字 SET 列1=值1,列2=值2 WHERE 條件; 

比如,我們要把 Tom 的 age 改為 21,salary 改為 3000:

10

注意:一定要有WHERE條件,否則會出現你不想看到的后果

(2)刪除一行記錄

刪除表中的一行數據,也必須加上WHERE條件,否則整列的數據都會被刪除。刪除語句:

DELETE FROM 表名字 WHERE 條件; 

我們嘗試把Tom的數據刪除:

11

四、總結

本節實驗中我們學習了對數據庫、數據庫表、數據庫表項及記錄的修改和刪除方法。

五、作業

  1. 按照實驗過程完整操作一遍:先用下載的代碼建立數據庫並插入數據,然后試用各種修改語句。實驗過程截圖。
  2. 使用沒有 WHERE 條件的 UPDATE 語句,查看有什么不良后果(截圖並說明)。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM