標籤:mysql表管理 mysql庫管理
庫管理
1.建立資料庫
mysql> help create database;CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name [create_specification] ...create_specification: [DEFAULT] CHARACTER SET [=] charset_name | [DEFAULT] COLLATE [=] collation_name
650) this.width=650;" src="http://s1.51cto.com/wyfs02/M02/8B/95/wKiom1hR63rw24WbAABFIvUbdEc505.png-wh_500x0-wm_3-wmp_4-s_3892430760.png" style="float:none;" title="1.png" alt="wKiom1hR63rw24WbAABFIvUbdEc505.png-wh_50" />
650) this.width=650;" src="http://s1.51cto.com/wyfs02/M02/8B/91/wKioL1hR63qSr-MCAAAuHD_Ml5U350.png-wh_500x0-wm_3-wmp_4-s_2814784678.png" style="float:none;" title="2.png" alt="wKioL1hR63qSr-MCAAAuHD_Ml5U350.png-wh_50" />
2.刪除資料庫
mysql> help drop database;DROP {DATABASE | SCHEMA} [IF EXISTS] db_name
650) this.width=650;" src="http://s4.51cto.com/wyfs02/M00/8B/95/wKiom1hR67HCmaGyAAATnjhcWQw529.png-wh_500x0-wm_3-wmp_4-s_3238174143.png" title="3.png" alt="wKiom1hR67HCmaGyAAATnjhcWQw529.png-wh_50" />
3.修改資料庫的字元集和排序字元以及資料字典
mysql> help alter database;ALTER {DATABASE | SCHEMA} [db_name] alter_specification ...ALTER {DATABASE | SCHEMA} db_name UPGRADE DATA DIRECTORY NAMEalter_specification: [DEFAULT] CHARACTER SET [=] charset_name | [DEFAULT] COLLATE [=] collation_name
表管理
1.建立表
(a)第一種方式
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name (create_definition,...) [table_options] [partition_options][create_definition] 欄位的定義:欄位名、類型和類型修飾符; 鍵、索引和約束; --> 鍵是索引,索引未必是鍵;鍵可以表示約束 primary key、unique key、foreign key、check(條件約束) {index|key}[table_options] engine [=] engine_name ---> 注1 AUTO_INCREMENT [=] value 指定AUTO_INCREMENT的起始值 [DEFAULT] CHARACTER SET [=] charset_name 指定預設字元集 CHECKSUM [=] {0 | 1} 是否使用校正值 [DEFAULT] COLLATE [=] collation_name 定序 COMMENT [=] ‘string‘ 注釋 DELAY_KEY_WRITE [=] {0 | 1} 是否啟用鍵延遲寫入 (索引降低了寫操作) ROW_FORMAT [=] {DEFAULT(預設)|DYNAMIC(動態)|FIXED(靜態)|COMPRESSED(壓縮)|REDUNDANT(冗餘)|COMPACT(緊緻)} 表格式 TABLESPACE tablespace_name [STORAGE {DISK|MEMORY|DEFAULT}] 資料表空間 ---> 注2
(b)第二種方式(複製表資料)
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [(create_definition,...)] [table_options] select_statement
650) this.width=650;" src="http://s4.51cto.com/wyfs02/M00/8B/95/wKioL1hSLjzR52sGAAA5HWGB2yU554.png-wh_500x0-wm_3-wmp_4-s_406056528.png" title="4.png" alt="wKioL1hSLjzR52sGAAA5HWGB2yU554.png-wh_50" />
650) this.width=650;" src="http://s5.51cto.com/wyfs02/M01/8B/99/wKiom1hSLk6wZeeSAABRPnRxwFQ883.png-wh_500x0-wm_3-wmp_4-s_354820693.png" title="5.png" alt="wKiom1hSLk6wZeeSAABRPnRxwFQ883.png-wh_50" />
(c)第三種方式(複製表結構)
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name | (LIKE old_tbl_name) }
650) this.width=650;" src="http://s5.51cto.com/wyfs02/M02/8B/99/wKiom1hSLmChBp9WAACNS5nXsSU347.png-wh_500x0-wm_3-wmp_4-s_1846609802.png" title="6.png" alt="wKiom1hSLmChBp9WAACNS5nXsSU347.png-wh_50" />
2.查看錶的狀態資訊
show table status like ‘table_name’
3.刪除表
DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ... [RESTRICT | CASCADE]
4.修改表
ALTER [ONLINE | OFFLINE] [IGNORE] TABLE tbl_name [alter_specification [, alter_specification] ...]
(a)修改欄位定義
插入新欄位: ADD [COLUMN] col_name column_definition [FIRST | AFTER col_name ]刪除欄位 DROP [COLUMN] col_name修改欄位 修改欄位名稱 CHANGE [COLUMN] old_col_name new_col_name column_definition [FIRST|AFTER col_name] 修改欄位類型及屬性等 MODIFY [COLUMN] col_name column_definition [FIRST | AFTER col_name]
(b)表改名
mysql > rename table to old_name TO new_name
(c)修改儲存引擎
engine =
(d)指定排序標準的欄位
ORDER BY col_name [, col_name] ...
(e)轉換字元集及定序
CONVERT TO CHARACTER SET charset_name [COLLATE collation_name]
注1
mysql > show engine
650) this.width=650;" src="http://s1.51cto.com/wyfs02/M00/8B/98/wKiom1hSLV2isa0uAAAvI96VMig510.png-wh_500x0-wm_3-wmp_4-s_275739120.png" style="float:none;" title="1.png" alt="wKiom1hSLV2isa0uAAAvI96VMig510.png-wh_50" />
650) this.width=650;" src="http://s1.51cto.com/wyfs02/M00/8B/95/wKioL1hSLV2TdgSJAABPKdgjBc4680.png-wh_500x0-wm_3-wmp_4-s_3319661695.png" style="float:none;" title="2.png" alt="wKioL1hSLV2TdgSJAABPKdgjBc4680.png-wh_50" />
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/8B/98/wKiom1hSLWKBxyXiAAA7OZn7mEA585.png-wh_500x0-wm_3-wmp_4-s_2119650250.png" style="float:none;" title="3.png" alt="wKiom1hSLWKBxyXiAAA7OZn7mEA585.png-wh_50" />
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/8B/95/wKioL1hSLWKBqyRxAABfOd1aMZ0799.png-wh_500x0-wm_3-wmp_4-s_2947597198.png" style="float:none;" title="4.png" alt="wKioL1hSLWKBqyRxAABfOd1aMZ0799.png-wh_50" />
注2
TABLESPACE tablespace_name [STORAGE {DISK|MEMORY|DEFAULT}] 資料表空間
MyISAM表,每個表有三個檔案,都位於資料庫目錄中
tb_name.frm:表結構定義
tb_name.MYD:資料檔案
tb_name.MYI:索引檔案
InnoDB表,有兩種儲存方式
1.預設:每表有一個獨立檔案和一個多表共用的檔案
tb_name.frm:表結構的定義,位於資料庫目錄中
ibdata#:共用的資料表空間檔案,預設位於資料目錄(datadir指向的目錄)中
圖
2.獨立的資料表空間檔案:
每表有一個表結構檔案tb_name.frm
一個獨立的資料表空間檔案 tb_name.ibd(資料和索引)
(a)應該修改innodb_file_per_table為ON
(b)可以通過修改設定檔永久有效在 [mysqld]段
innodb_file_per_table=ON
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/8B/95/wKioL1hSLgGC0fZHAAAw3NHf2iU216.png-wh_500x0-wm_3-wmp_4-s_3630345718.png" style="float:none;" title="2.png" alt="wKioL1hSLgGC0fZHAAAw3NHf2iU216.png-wh_50" />
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/8B/99/wKiom1hSLgLAOGdHAABP3KqBTgc446.png-wh_500x0-wm_3-wmp_4-s_2946384484.png" style="float:none;" title="3.png" alt="wKiom1hSLgLAOGdHAABP3KqBTgc446.png-wh_50" />
本文出自 “似水流年” 部落格,請務必保留此出處http://sixijie123.blog.51cto.com/11880770/1882988
MySQL資料庫及表的管理