庫管理
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


2.刪除數據庫
mysql> help drop database;
DROP {DATABASE | SCHEMA} [IF EXISTS] db_name
3.修改數據庫的字符集和排序字符以及數據字典
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表管理
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


(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


免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。