連接命令
# 本地
mysql -h localhost -u root -p123
# 遠程(指定端口)
mysql -h 172.16.xx.xx -P 3306 -u root -p
DDL:數據定義語言
創建表(規範模板)
CREATE TABLE `device_label` (
`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '主鍵-自增ID',
`origin_model` VARCHAR(64) COLLATE utf8_bin NOT NULL COMMENT '收集機型',
`origin_vendor` VARCHAR(64) COLLATE utf8_bin NOT NULL COMMENT '收集廠商',
`vendor` VARCHAR(32) COLLATE utf8_bin NOT NULL COMMENT '標注廠商',
`model` VARCHAR(32) COLLATE utf8_bin NOT NULL COMMENT '標注品牌',
PRIMARY KEY (`id`),
UNIQUE KEY `device_key` (`origin_model`,`origin_vendor`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='設備標注表';
修改表結構
-- 修改列類型
ALTER TABLE device_label MODIFY origin_model VARCHAR(32);
-- 修改列名+類型
ALTER TABLE device_label CHANGE origin_model device_model VARCHAR(16);
-- 新增列(指定位置)
ALTER TABLE device_label ADD os_type VARCHAR(8) COLLATE utf8_bin NOT NULL COMMENT '操作系統' AFTER id;
-- 調整列順序
ALTER TABLE device_label MODIFY os_type VARCHAR(8) AFTER origin_model;
-- 重定義主鍵
ALTER TABLE device_label DROP PRIMARY KEY, ADD PRIMARY KEY (`origin_model`,`origin_vendor`);
清空表
TRUNCATE TABLE device_label; -- 等同無 WHERE 的 DELETE,但重置自增 ID、不觸發觸發器、速度極快
DCL:數據控制語言(權限管理)
創建用戶並授權
-- 單條顯式列名(推薦)
INSERT INTO device_label (origin_model, origin_vendor, vendor, model)
VALUES ('h9', 'bbk', '步步高', 'H9');
-- 查詢結果插入(表結構兼容)
INSERT INTO device_label_copy (origin_model, origin_vendor, vendor, model)
SELECT origin_model, origin_vendor, vendor, model FROM device_label;
-- 批量載入 CSV(需 --local-infile 啟動客戶端)
LOAD DATA LOCAL INFILE 'dvc-label.csv' INTO TABLE device_label
FIELDS TERMINATED BY ',' IGNORE 1 LINES (origin_model, origin_vendor, vendor, model);
更新數據
DELETE FROM device_label WHERE origin_vendor = 'alps';
查詢進階
| 場景 | 語句 |
| 查看建表語句 | SHOW CREATE TABLE tbl\G |
| 查看表結構 | DESC tbl / SHOW COLUMNS FROM tbl |
| 查看索引 | SHOW INDEX FROM tbl |
| 查看執行計劃 | EXPLAIN SELECT ... |
| 查看進程 | SHOW FULL PROCESSLIST |
| 殺死進程 | KILL connection_id |
| 查看引擎狀態 | SHOW ENGINE INNODB STATUS\G |