一些基礎常見的 SQL 語法。
示範的資料#
目前資料表內有以下資料:
id | phone | name | age |
---|---|---|---|
1 | 0123456789 | 新之助 | 5 |
2 | NULL | Anonymous | 19 |
3 | NULL | 向日葵 | 0 |
4 | 0111222333 | 美冴 | 29 |
5 | 0444555666 | 廣志 | 35 |
如果可以的話也試著一起做做看。
修改#
修改資料筆#
修改資料筆需要使用「UPDATE
」語法:
1UPDATE `資料表名稱`
2SET `欄位1` = 欄位1新的值, `欄位2` = 欄位2新的值...
3WHERE 修改條件;
範例 - 修改資料筆#
輸入語法:
1UPDATE `資料表名稱`
2SET `name` = "小白", `age` = 0
3WHERE `name` LIKE '%onym%';
原資料:
id | phone | name | age |
---|---|---|---|
2 | NULL | Anonymous | 19 |
被更改為:
id | phone | name | age |
---|---|---|---|
2 | NULL | 小白 | 0 |
條件「`name` LIKE '%onym%'
」表示模糊查詢 name
欄位「含有 "onym"
」的資料筆。
ps. 若沒有寫 WHERE
條件,則會更改所有資料。
所有資料的欄位 name
會變「小白
」,欄位 age
會變「0
」…
修改欄位#
新增欄位#
1ALTER TABLE `資料表名稱` ADD COLUMN `欄位名稱` 資料型態(長度) 屬性1 屬性2...;
範例 - 新增欄位#
1ALTER TABLE `資料表名稱` ADD COLUMN `jp_name` varchar(20) NULL;
資料表欄位多出「jp_name
」:
id | phone | name | age | jp_name |
---|---|---|---|---|
1 | 0123456789 | 新之助 | 5 | NULL |
2 | NULL | 小白 | 0 | NULL |
3 | NULL | 向日葵 | 0 | NULL |
4 | 0111222333 | 美冴 | 29 | NULL |
5 | 0444555666 | 廣志 | 35 | NULL |
修改欄位#
1ALTER TABLE `資料表名稱` CHANGE COLUMN `舊欄位名稱`
2`新欄位名稱` 新資料形態(長度) 屬性1 屬性2...;
範例 - 修改欄位#
1ALTER TABLE `資料表名稱` CHANGE COLUMN `phone`
2`phone` varchar(11) NULL;
則資料欄位 phone
由型態「char(10)
」更改至「varchar(11)
」。
刪除欄位#
1ALTER TABLE `資料表名稱` DROP COLUMN `欄位名稱`;
範例 - 刪除欄位#
1ALTER TABLE `資料表名稱` DROP COLUMN `age`;
欄位「age
」被刪除了:
id | phone | name | jp_name |
---|---|---|---|
1 | 0123456789 | 新之助 | NULL |
2 | NULL | 小白 | NULL |
3 | NULL | 向日葵 | NULL |
4 | 0111222333 | 美冴 | NULL |
5 | 0444555666 | 廣志 | NULL |
刪除#
刪除資料筆#
刪除資料筆使用的語法為「DELETE
」:
1DELETE FROM `資料表名稱` WHERE 刪除條件
範例 - 刪除資料筆#
1DELETE FROM `資料表名稱` WHERE `phone` IS NULL
ps. 「IS NULL
」這個寫法表示比對值為 NULL (空值)
,等同於「`phone` = ""
」。
原資料為:
id | phone | name | jp_name |
---|---|---|---|
1 | 0123456789 | 新之助 | NULL |
2 | NULL | 小白 | NULL |
3 | NULL | 向日葵 | NULL |
4 | 0111222333 | 美冴 | NULL |
5 | 0444555666 | 廣志 | NULL |
刪除後:
id | phone | name | jp_name |
---|---|---|---|
1 | 0123456789 | 新之助 | NULL |
4 | 0111222333 | 美冴 | NULL |
5 | 0444555666 | 廣志 | NULL |
當然,如同 UPDATE
語法一樣,沒有指定 WHERE
刪除條件,則會刪除全部
!
刪除資料表#
刪除資料表使用的是「DROP
」語法:
1DROP TABLE `資料表名稱`;
刪除資料庫#
刪除資料庫一樣使用「DROP
」語法:
1DROP DATABASE `資料庫名稱`;