Skip to content

[MySQL] 心得筆記(4) Table 的新增、修改、刪除

Last Updated on 2021-05-15 by Clay

一個資料庫,裡面通常都存在著複數的 Table ,裡面存放著各式各樣的資料。除了怎麼進行資料的『查詢』外,若我們是資料庫的管理員,我們也需要知道怎麼『 新增 』、『 修改 』、『 刪除 』 Table 以及 Table 裡面的欄位、資料。

今天就來紀錄關於這方面的指令吧。


資料的資料型態 (Data Type)

在進行資料的新增之前,我們需要對 SQL 的資料型態有一些了解。

  • char(n): 固定長度字串資料,n 為字串長度 (位元組)上限,只能為 1-8000。
  • varchar(n): 可變長度資料,n 同樣為字串長度 (位元組) 上限,只能為 1-8000。

[註:當資料項目大小教固定適於於 char,若長度變化大適用於 varchar]

Data TypeRangeMemory
bigint-2^63 - 2^63-18 bytes
int-2^31 - 2^31-14 bytes
smallint-2^15 - 2^15-12 bytes
tinyint0 - 2551 bytes

以上為相當基本的字元以及數值的資料型態, SQL 的資料型態不只如此,不過今天筆記不會用到太多種類。


創造 Table

一開始我創造了個叫『test』的資料庫才實驗,一開始剛創造的時候,要使用以下指令來使用資料庫、並顯示 Table。

use test;
show tables;



一開始我們什麼表格都看不到,我們需要先創造一個 Table。

create table Students(
    SID int,
    Name varchar(10),
    Grade int,
    primary key (SID)
);
show tables



Tables_in_test
students

現在就可以看到我們 test 的資料庫裡面有著 students 這個 Table 了。


刪除 Table

如果要刪除 Table,可以使用以下這個指令:

drop table "Your_Table_Name"; 

像是我若要刪除剛剛建立的 students 這個 Table,我會使用以下指令刪除。

drop table students;




新增資料

我們可以使用以下指令新增 Table 的資料。

insert into students values (1, 'Clay', 100);



基本上插入的資料要符合我們一開始設定的 (int, varchar, int)

除了一次插入一筆資料外,我們也可以一次插入多筆資料。

insert into students values (2, 'Akito', 80), (3, 'ccs96307', 90);



然後我們看看現在 Table 的狀態:

SIDNameGrade
1Clay100
2Akito80
3ccs9630790

三筆資料已經依序存入了。


刪除資料

delete from "Your_Table_Name" where "Condition";

例如我可以這樣刪掉 SID 為 2 的資料:

delete from students where SID = 2;
select * from students;



Output:

SIDNameGrade
1Clay100
3ccs9630790

新增欄位

如果我們臨時又要新增資料欄位,我們可以使用以下指令來新增欄位:

alter table "Your table name" add "Column name" "Data type"

比如說:

alter table students add home varchar(20);
select * from students;



Output:

SIDNameGradeHome
1Clay100NULL
3ccs9630790 NULL

這樣我們就可以新增新的資料欄位了。


修改資料

那假設我們新增了一個新的欄位 "home" ,我們該怎麼該新欄位下現有的資料呢?

update "Your_Table_Name" set "Column" = "New value" where "condition";

比如說可以這樣更新我的資料:

update students set home = "Taipei" where SID = 1;
select * from students;



Output:

SIDNameGradeHome
1Clay100Taipei
3ccs9630790 NULL

可以看到,我把 SID 為 1 的資料中 Home 欄位設定為 "Taipei" 了。


刪除欄位

如果一個欄位已經不再使用了,我們可以使用以下指令將其刪除:

alter table "Your_Table_Name" drop "Column";

比如我把剛剛新增的 "home" 欄位刪除:

alter table students drop home;
select * from students;



Output:

SIDNameGrade
1Clay100
3ccs9630790

刪除 Table

如果想要刪除整張 Table 的話,可以使用以下指令:

drop table "Your_Table_Name"; 

像我若想要刪除掉 students 這個 Table:

drop table students;



這樣一來,就可以把 Table 刪除掉了。

Leave a Reply