CREATE:建立資料庫及資料表
建立資料庫
CREATE DATABASE [IF NOT EXISTS] 資料庫名稱
[DEFAULT] CHARACTER SET 字元集
[DEFAULT] COLLATE 編碼
example:
CREATE DATABASE `abc`
DEFAULT CHARACTER SET utf8
COLLATE utf8_unicode_ci;
*[IF NOT EXISTS] 當資料庫不存在時則建立資料庫
建立資料表
CREATE TABLE [IF NOT EXISTS] 資料表名稱
(欄位名稱 資料類別 [資料屬性]
[, 欄位名稱 資料類別 [資料屬性]]...);
example:
CREATE TABLE `users` (
`cID` TINYINT(2) UNSIGEND NOT NULL AUTO_INCREMENT PRIMARY KEY,
`cName` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`cSex` ENUM('F', 'M') CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL DEFAULT 'F',
`cBirthday` DATE NOT NULL,
`cEmail` VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL,
`cPhone` VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL,
`cAddr` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL,
);
*UNSIGNED - 正整數, NOT NULL - 不能為空值,
*AUTO_INCREMENT - 自動編號, PRIMARY KEY - 主鍵
-----------------------------------------------------------------------
ALTER:變更資料庫及資料表內容
修改資料庫
ALTER DATABASE 資料庫名稱
[DEFAULT] CHARACTER SET 字元集
[DEFAULT] COLLATE 編碼
*資料庫僅能修改字元集與編碼
修改資料表欄位
ALTER TABLE 資料表名稱
CHANGE 原欄位名稱 新欄位名稱 資料類別 [資料屬性]
[, 原欄位名稱 新欄位名稱 資料類別 [資料屬性]]...);
example:
修改資料欄位名稱: cID 改 ccID
ALTER TABLE `users` CHANGE `cID` `ccID` TINYINT(2);
修改欄位資料型別: TINYINT(2) 改 INT
ALTER TABLE `users` CHANGE `ccID` `ccID` INT(2);
修改欄位資料屬性: cEmail 不能為空值
ALTER TABLE `users` CHANGE `cEmail` `cEmail` VARCHAR(20) NOT NULL;
新增資料表欄位
ALTER TABLE 資料表名稱
ADD 欄位名稱 資料類別 [資料屬性]
[, ADD 欄位名稱 資料類別 [資料屬性]]...)
[FIRST | AFTER 欄位名稱];
* FIRST 可將新增欄位放置在所有欄位之前
* AFTER 可將新增欄位放置在所有欄位之後
example:
ALTER TABLE `users` ADD `cAge` INT(3) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL;
ALTER TABLE `users` ADD `cAge` INT(3) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL AFTER `cBirthday`;
ALTER TABLE `users` ADD `cHeight` TINYINT(3) UNSIGNED NULL, ADD `cWeight` TINYINT(3) UNSIGNED NULL;
刪除資料表欄位
ALTER TABLE 資料表名稱 DROP 欄位名稱;
ALTER TABLE 資料表名稱 DROP PRIMARY KEY;
example:
ALTER TABLE `users` DROP `cAge`;
-----------------------------------------------------------------------------------------------------------------------
DROP:刪除資料庫及資料表
DROP DATABASE [IF EXISTS] 資料庫名稱;
DROP TABLE [IF EXISTS] 資料表名稱;
example:
DROP DATABASE `abc`;
DROP TABLE `users`;