iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 13
0
Software Development

SQL 30天手把手入門系列 第 13

Day13 - SQL 基本語法 - 資料表新增資料、修改和刪除資料表

  • 分享至 

  • xImage
  •  

接著先前的 Product 資料表,來實際新增一些資料表。

新增資料

對資料庫進行 1 個以上的更新動作,這些更新動作需要統一包裝在一筆交易(Transaction) 中,以確保能夠一起執行完畢,避免中途發生傳輸錯誤導致資料表的資料出現錯誤。

  • 標準語句架構以 BEGIN or START TRANSACTION 開頭,並以 COMMIT(確認) / ROLLBACK(取消) 作為結尾
  • 開頭語句部分,會依照各家資料庫系統的不同而有所差異
  1. SQL SERVER, PostgreSQL - BEGIN TRANSACTION
  2. MySQL, MariaDB - START TRANSACTION
  3. Oracle, DB2 - 不需要

了解以上資訊後,開始在 Product 表格中新增以下資料。請注意每一個欄位內所填的資料格式要合乎設定,否則會報錯。
instruction

/*新增資料*/
START TRANSACTION;
INSERT INTO Product VALUES('0001','apple','fruit',30,40,'2020-09-01');
INSERT INTO Product VALUES('0002','television','electronic device',6000,8000,'2020-08-07');
INSERT INTO Product VALUES('0003','banana','fruit',20,30,'2020-09-05');
INSERT INTO Product VALUES('0004','laptop','electronic device',12000,18000,'2020-09-01');
INSERT INTO Product VALUES('0005','grape','fruit',50,80,'2020-08-15');
INSERT INTO Product VALUES('0006','earphones','electronic device',1000,12000,'2020-09-01');
INSERT INTO Product VALUES('0007','strawberry','fruit',45,70,'2020-09-08');
INSERT INTO Product VALUES('0008','cell phone','electronic device',3000,3300,'2020-09-01');
COMMIT;
/*檢查資料是否成功輸入*/
SELECT * FROM Demo_Shop.Product;

如果成功的話,你會看到以下的表格。
result1

新增欄位

執行 ALTER TABLE 或是 DROP TABLE 之類的指令前,請先三思裡頭的資料是否還需要。因為一旦進行操作後,是很難回復原有的資料狀態的,你必須要全部重新建立和輸入,那會是相當大的工程。

若要新增一個欄位名為 info,最大長度為 100 的話,那麼指令如下:

/*語法會因版本而有所差異。以下為 MySQL 的樣式:
  ALTER TABLE <資料表名稱> ADD COLUMN <欄位名稱> <欄位設定>
*/
ALTER TABLE Product ADD COLUMN info VARCHAR(100);
SELECT * FROM Product;

ADD COLUMN

刪除欄位

把方才新增的欄位 info 給刪除:

ALTER TABLE Product DROP info;
SELECT * FROM Product;

DROP COLUMN

刪除整個資料表

請非常小心使用這個指令,資料是會徹底消失的(如果你沒有備份的話)。

DROP TABLE Product;

上一篇
Day12 SQL 基本語法 - 資料型別和約束條件
下一篇
Day 14 - SQL 基本語法 - 來選擇表單內的資料吧
系列文
SQL 30天手把手入門30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言