MySQL - table 建立、刪除、修改

 

要先下「use `資料庫名稱`」語法,才可使用 table 相關動作


    use `my_db`



顯示 table 清單


    show tables



 建立 table


CREATE TABLE IF NOT EXISTS `tb_name`(
`sn`INT NOT NULL AUTO_INCREMENT, // sn 1開始自動增加
`name`varchar(50) NOT NULL, // 字串欄位
`value`INT NOT NULL, // 數字欄位
`value2`INT(5) UNSIGNED ZEROFILL, // 無號數5位數數字欄位, 不足5位在前面補0
INDEX(`name`), // 加速搜尋速度
PRIMARY KEY(`sn`) // 資料不可重覆的欄位
);



查看 table 目前欄位


desc `tb_name`



清除 table 內容


    TRUNCATE `tb_name`;



刪除 table


    DROP TABLE `tb_name`;



檢查欄位是否存在


    SHOW FULL COLUMNS FROM `tb_name` LIKE '欄位名稱'



增加欄位


    ALTER TABLE `tb_name` ADD COLUMN `欄位名稱` 形態(長度);



刪除欄位


    ALTER TABLE `tb_name` DROP COLUMN `欄位名稱`;



修改欄位


    ALTER TABLE `tb_name` CHANGE COLUMN `舊欄位` `新欄位` 新形態(新長度);


增加 INDEX


    ALTER TABLE `tb_name` ADD INDEX(`欄位名稱`), ADD INDEX(`欄位名稱`), ... ;



刪除 INDEX


    ALTER TABLE `tb_name` DROP INDEX `欄位名稱`;



增加 KEY


    ALTER TABLE `tb_name` ADD PRIMARY KEY(`欄位名稱`);



刪除 KEY


    ALTER TABLE `tb_name` DROP PRIMARY KEY;




欄位常用型態

數字型態

TINYINT (1 Bytes) -128 ~ 127
SMALLINT (2 Bytes) -32768 ~ 32767
MEDIUMINT (3 Bytes) -8388608 ~ 8388607
INT (4 Bytes) -2147483648 ~ 2147483647
BIGINT (8 Bytes) -9223372036854775808 ~ 9223372036854775807

FLOAT (4 Bytes) -3.402823466E+38 ~ 3.402823466E+38
DOUBLE (8 Bytes) -1.7976931348623157E+308 ~ 1.7976931348623157E+308
DECIMAL(M,D) M:整數+小數的總位數長度(1~65), D:小數位數(0~30). (可簡寫 DEC)

BIT(M) M: bit個數(1~64)

INT(5) 其中 5  代表 SELECT 出來的顯示位數, 不影響可儲存值的大小 
(可配合ZEROFILL的欄位型態,而且存入的值不可超過設定的位數,否則可能會無效)



字串型態 (文字類型 / 二進制類型)

TINYTEXT / TINYBOLB 最大 255
TEXT / BOLB 最大 65KB
MEDIUMTEXT / MEDIUMBOLB 最大 16MB
LONGTEXT / LONGBOLB 最大 4GB
CHAR / BINARY 最大 255
VARCHAR / VARBINARY 最大 65KB

固定長度 (字串不足長度會補空白):CHAR
動態長度:VARCHAR、TEXT
可設定初始值:CHAR、VARCHAR
不可給初始值:TEXT



時間型態

DATE '0000-00-00'
DATETIME '0000-00-00 00:00:00'
TIMESTAMP '19700101080001' (年月日時分秒 的數字串在一起)
TIME '00:00:00'
YEAR '1901'

TIMESTAMP 欄位在 SELECT 時可多加 +0,即可顯示出沒有連接符號的數字,否則會跟 DATETIME 顯示的一樣









沒有留言:

張貼留言