1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
| CREATE [TEMPORARY] TABLE[ IF NOT EXISTS] [库名.]表名 ( 表的结构定义 )[ 表选项] 每个字段必须有数据类型 最后一个字段后不能有逗号 TEMPORARY 临时表,会话结束时表自动消失 对于字段的定义: 字段名 数据类型 [NOT NULL | NULL] [DEFAULT default_value] [AUTO_INCREMENT] [UNIQUE [KEY] | [PRIMARY] KEY] [COMMENT 'string']
CHARSET = charset_name 如果表没有设定,则使用数据库字符集 ENGINE = engine_name 表在管理数据时采用的不同的数据结构,结构不同会导致处理方式、提供的特性操作等不同 常见的引擎:InnoDB MyISAM Memory/Heap BDB Merge Example CSV MaxDB Archive 不同的引擎在保存表的结构和数据时采用不同的方式 MyISAM表文件含义:.frm表定义,.MYD表数据,.MYI表索引 InnoDB表文件含义:.frm表定义,表空间数据和日志文件 SHOW ENGINES SHOW ENGINE 引擎名 {LOGS|STATUS} AUTO_INCREMENT = 行数 DATA DIRECTORY = '目录' INDEX DIRECTORY = '目录' COMMENT = 'string' PARTITION BY ... (详细见手册)
SHOW TABLES[ LIKE 'pattern'] SHOW TABLES FROM 表名
SHOW CREATE TABLE 表名 (信息更详细) DESC 表名 / DESCRIBE 表名 / EXPLAIN 表名 / SHOW COLUMNS FROM 表名 [LIKE 'PATTERN'] SHOW TABLE STATUS [FROM db_name] [LIKE 'pattern']
ALTER TABLE 表名 表的选项 eg: ALTER TABLE 表名 ENGINE=MYISAM; RENAME TABLE 原表名 TO 新表名 RENAME TABLE 原表名 TO 库名.表名 (可将表移动到另一个数据库) ALTER TABLE 表名 操作名 ADD[ COLUMN] 字段定义 AFTER 字段名 FIRST ADD PRIMARY KEY(字段名) ADD UNIQUE [索引名] (字段名) ADD INDEX [索引名] (字段名) DROP[ COLUMN] 字段名 MODIFY[ COLUMN] 字段名 字段属性 CHANGE[ COLUMN] 原字段名 新字段名 字段属性 DROP PRIMARY KEY DROP INDEX 索引名 DROP FOREIGN KEY 外键
DROP TABLE[ IF EXISTS] 表名 ...
TRUNCATE [TABLE] 表名
CREATE TABLE 表名 LIKE 要复制的表名
CREATE TABLE 表名 [AS] SELECT * FROM 要复制的表名
CHECK TABLE tbl_name [, tbl_name] ... [option] ...
OPTIMIZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name [, tbl_name] ...
REPAIR [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name [, tbl_name] ... [QUICK] [EXTENDED] [USE_FRM]
ANALYZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name [, tbl_name] ...
|