庫管理
mysql
1.建立數據庫sql
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
2.刪除數據庫
數據庫
mysql> help drop database; DROP {DATABASE | SCHEMA} [IF EXISTS] db_name
3.修改數據庫的字符集和排序字符以及數據字典bash
mysql> help alter database; ALTER {DATABASE | SCHEMA} [db_name] alter_specification ... ALTER {DATABASE | SCHEMA} db_name UPGRADE DATA DIRECTORY NAME alter_specification: [DEFAULT] CHARACTER SET [=] charset_name | [DEFAULT] COLLATE [=] collation_name
表管理ide
1.建立表spa
(a)第一種方式3d
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)第二種方式(複製表數據)blog
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [(create_definition,...)] [table_options] select_statement
(c)第三種方式(複製表結構)排序
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name | (LIKE old_tbl_name) }
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
注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