# Windows
net start mysql
net stop mysql
# 登入
mysql -u root -p
mysql -h localhost -u root -p dbname
SHOW DATABASES;
USE dbname;
SHOW TABLES;
SHOW COLUMNS FROM tbl;
DESC tbl;
CREATE DATABASE dbname;
CREATE TABLE tbl (id INT PRIMARY KEY, name VARCHAR(20));
DROP DATABASE dbname;
DROP TABLE tbl;
TRUNCATE TABLE tbl;
# 導出
mysqldump -u root -p dbname > backup.sql
mysqldump -u root -p dbname tbl > tbl.sql
mysqldump -u root -p -d --add-drop-table dbname > struct.sql
# 導入
mysql -u root -p dbname < backup.sql
# 或進入 mysql 後
SOURCE /path/backup.sql;
# 重命名表
ALTER TABLE old RENAME new;
# 增加列
ALTER TABLE tbl ADD COLUMN col VARCHAR(30);
ALTER TABLE tbl ADD COLUMN c1 INT, ADD COLUMN c2 VARCHAR(10);
# 刪除列
ALTER TABLE tbl DROP COLUMN col;
# 修改列名/類型
ALTER TABLE tbl CHANGE old_col new_col INT;
ALTER TABLE tbl MODIFY col VARCHAR(50);
# 索引
ALTER TABLE tbl ADD INDEX idx_col (col);
CREATE UNIQUE INDEX uk_col ON tbl (col);
DROP INDEX idx_col ON tbl;
ALTER TABLE tbl DROP INDEX idx_col;
SELECT CONCAT(id, ':', name) FROM tbl;SELECT * FROM tbl ORDER BY id LIMIT 9,10;(偏移量從 0 開始)CREATE TABLE t2 SELECT * FROM t1 WHERE 1<>1;CREATE TABLE t2 SELECT * FROM t1;事務、視圖、外鍵、存儲過程、觸發器(5.0+ 已支援,視版本而定)。
< <= >= > = BETWEEN IN LIKE 'abc%'(不以萬用字元開頭)。EXPLAIN 分析關鍵列:type(ref 最佳)、key、rows、Extra。CHAR 別用 VARCHAR,能用 SMALLINT 別用 INT。TEXT/BLOB 或長 VARCHAR 低頻訪問則垂直拆表。OPTIMIZE TABLE tbl;SELECT * FROM tbl PROCEDURE ANALYSE(); 獲取類型建議。query_cache_type=1、query_cache_size=256M,適配讀多寫少場景。