基本操作
- 啟動MySQL:
net start mysql - 創(chuàng)建Windows服務(wù):
sc create mysql binPath = mysqld_bin_path - 連接服務(wù)器 :
mysql -h 地址 -P 端口 -u 用戶名 -p 密碼 - 顯示哪些線程正在運行:
SHOW PROCESSLIST - 顯示系統(tǒng)變量信息:
SHOW VARIABLES
數(shù)據(jù)庫操作
- 查看當(dāng)前數(shù)據(jù)庫:
SELECT DATABASE(); - 顯示當(dāng)前時間、用戶名、數(shù)據(jù)庫版本:
SELECT now(); SELECT user(); SELECT version(); - 創(chuàng)建庫:
CREATE DATABASE [IF NOT EXISTS] 數(shù)據(jù)庫名 [CHARACTER SET charset_name] [COLLATE collation_name]; - 查看已有庫:
SHOW DATABASES LIKE 'xxx' - 查看當(dāng)前庫信息:
SHOW CREATE DATABASE 數(shù)據(jù)庫名 - 修改庫的選項信息:
ALTER DATABASE 庫名 選項信息 - 刪除庫:
DROP DATABASE [IF EXISTS] 數(shù)據(jù)庫名
表操作
創(chuàng)建表
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] [庫名.]表名 (表的結(jié)構(gòu)定義)[表選項]-
表選項
- 字符集
CHARSET = charset_name
如果表沒有設(shè)定,則使用數(shù)據(jù)庫字符集 - 存儲引擎
ENGINE = engine_name
表在管理數(shù)據(jù)時采用的不同的數(shù)據(jù)結(jié)構(gòu),結(jié)構(gòu)不同會導(dǎo)致處理方式、提供的特性操作等不同
常見的引擎:InnoDB MyISAM Memory/Heap BDB Merge Example CSV MaxDB Archive
不同的引擎在保存表的結(jié)構(gòu)和數(shù)據(jù)時采用不同的方式
MyISAM表文件含義:.frm表定義,.MYD表數(shù)據(jù),.MYI表索引
InnoDB表文件含義:.frm表定義,表空間數(shù)據(jù)和日志文件
SHOW ENGINES -- 顯示存儲引擎的狀態(tài)信息
SHOW ENGINE 引擎名 {LOGS|STATUS} -- 顯示存儲引擎的日志或狀態(tài)信息 - 自增起始數(shù)
AUTO_INCREMENT= 行數(shù) - 數(shù)據(jù)文件目錄
DATA DIRECTORY= 目錄 - 索引文件目錄
INDEX DIRECTORY= 目錄 - 表注釋
COMMENT = 'string' - 分區(qū)選項
PARTITION BY ...
- 字符集
查看所有表
SHOW TABLES [LIKE 'xx']
SHOW TABLES FROM 庫名查看表機構(gòu)
SHOW CREATE TABLE 表名(信息更詳細)
DESC 表名 / DESCRIBE 表名 / EXPLAIN 表名 / SHOW COLUMNS FROM 表名 [LIKE 'PATTERN']
SHOW TABLE STATUS [FROM db_name] [LIKE 'pattern']-
修改表
- 修改表本身的選項
ALTER TABLE 表名 表的選項
ALTER TABLE 表名 ENGINE=MYISAM; - 對表進行重命名
RENAME TABLE 原表名 TO 新表名
RENAME TABLE 原表名 TO 庫名.表名 (可將表移動到另一個數(shù)據(jù)庫) - 修改表的字段機構(gòu)(13.1.2. ALTER TABLE語法)
ALTER TABLE 表名 操作名- 操作名
ADD[ COLUMN] 字段定義 -- 增加字段
AFTER 字段名 -- 表示增加在該字段名后面
FIRST -- 表示增加在第一個
ADD PRIMARY KEY(字段名) -- 創(chuàng)建主鍵
ADD UNIQUE [索引名] (字段名)-- 創(chuàng)建唯一索引
ADD INDEX [索引名] (字段名) -- 創(chuàng)建普通索引
DROP[ COLUMN] 字段名 -- 刪除字段
MODIFY[ COLUMN] 字段名 字段屬性 -- 支持對字段屬性進行修改,不能修改字段名(所有原有屬性也需寫上)
CHANGE[ COLUMN] 原字段名 新字段名 字段屬性 -- 支持對字段名修改
DROP PRIMARY KEY -- 刪除主鍵(刪除主鍵前需刪除其AUTO_INCREMENT屬性)
DROP INDEX 索引名 -- 刪除索引
DROP FOREIGN KEY 外鍵 -- 刪除外鍵
- 操作名
- 修改表本身的選項
刪除表:
DROP TABLE[ IF EXISTS] 表名 ...清空表數(shù)據(jù):
TRUNCATE [TABLE] 表名復(fù)制表結(jié)構(gòu):
CREATE TABLE 表名 LIKE 要復(fù)制的表名復(fù)制表結(jié)構(gòu)和數(shù)據(jù):
CREATE TABLE 表名 [AS] SELECT * FROM 要復(fù)制的表名檢查表是否有錯誤:
CHECK TABLE tbl_name [, tbl_name] ... [option] ...優(yōu)化表:OPTIMIZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name [, tbl_name] ...`
修復(fù)表:
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] ...