CREATE TABLE 表格名稱
(欄位定義, ...)
[{ENGINE|TYPE} [=] 儲存引擎名稱]
[CHARACTER SET [=] 字元集名稱]
[COLLATE [=] collation名稱]
IF NOT EXISTS
: 預防發生表格已存在的錯誤CREATE TABLE IF NOT EXISTS addressbook (
name VARCHAR(20),
tel VARCHAR(20),
address VARCHAR(20),
birthdate DATE
)
SHOW ENGINE
: 不同應用的儲存引擎查詢CREATE TABLE IF NOT EXISTS addressbook (
name VARCHAR(20),
tel VARCHAR(20),
address VARCHAR(20),
birthdate DATE
)ENGINE = InnoDB
CHARACTER SET = utf8
COLLATE = utf8_unicode_ci
CREATE TABLE IF NOT EXISTS addressbook (
name VARCHAR(20), CHARSET big5,
tel VARCHAR(20),
address VARCHAR(20),
birthdate DATE
)
UNSIGNED
, ZEROFILL
, AUTO_INCREMENT
UNSIGNED
:ZEROFILL
: 補零AUTO_INCREMENT
: 與索引有關NOT NULL
: 禁止某個欄位儲存「NULL」值,查詢表格欄位資訊時,是在「Null」欄位用「YES」或「NO」來表示DEFAULT
: 設定欄位的預設值,預設值只能是「一個明確的值」CREATE TABLE cityoftaiwan
SELECT Name, Population
FROM world.city
WHERE CountryCode='TWN'
CREATE TABLE 表格名稱
{ LIKE 表格名稱 | (LIKE 表格名稱)}
CREATE [TEMPORARY] TABLE 表格名稱
ADD [COLUMN] 欄位定義 [FIRST | AFTER 欄位名稱]
ALTER TABLE
ADD newcolumn int FIRST/AFTER two
ALTER TABLE mytable
ADD (newcolumn int, newcolumn2 iny)
CHANGE
: 可以修改欄位的名稱與定義,語法
CHANGE [COLUMN] 就欄位名稱 心蘭位定義 [FIRST | AFTER 欄位名稱]
MODIFY
: 只能修改欄位的定義,不能修改欄位名稱,語法
MODIFY [COLUMN] 欄位定義 [FIRST | AFTER 欄位名稱]
DROP [COLUMN] 欄位名稱
ALTER TABLE
:RENAME TABLE
: 可以一次修改多的表格名稱ALTER TABLE 舊表格名稱 RENAME [TO] 新表格名稱
RENAME TABLE 就表格名稱 TO 新表格名稱[, ...]
DROP TABLE [IF EXISTS] 表格名稱 [,...,]
可以利用「索引、index」預防你的資料出現問題,也可以增加查詢與維護資料的效率。
CREATE 表格名稱(
id INT UNSIGNED PRIMARY KEY,
email VARCHAR(36) UNIQUE KEY
CREATE 表格名稱(
id INT UNSIGNED,
email VARCHAR(36),
PRIMARY KEY(id),
UNIQUE KEY(email)
INDEX(name, tel, ...)
CREATE TABLE 表格名稱(
address VARCHAR(80),
INDEX (address (5) DESC)
)
ALTER TABLE addressbook
ADD PRIMARY KEY (id)
CREATE UNIQUE INDEX email_index
ON addressbook (email)
CREATE INDEX name_tel_index
ON addressbook (name, tel)
CREATE INDEX address_index
ON addressbook (address (5) DESX)
CREATE [UNIQUE | FULLTEXT | SPATIAL ] INDEX 索引名稱
ALTER TABLE 表格名稱
DROP PRIMARY KEY,
DROP {INDEX | KEY} 牽引名稱1,
DROP {INDEX | KEY} 牽引名稱2
DROP INDEX email ON addressbook;
SHOW TABLES FROM 資料庫名稱
SHOW TABLES FROM 資料庫名稱 LIKE %y
SHOW CREATE TABLE 資料庫名稱.表格名稱
SHOW INDEX FROM 表格名稱