===終端機命令列上執行===
版本查詢:mysql --version
MariaDB啟動的參數內容:mysqld --verbose --help
=== MY SQL 內執行===
顯示目前MariaDB的設定值:show variables;show status;
顯示當前資料庫的表格名稱:show tables;
顯示表格的架構碼:describe [TableName] ;
顯示目前連線狀況:show processlist ; 中斷連線 kill [id]
=== 全文索引相關 ====
將索引關掉(大量新增資料時):alter table [TableName] disable keys ; 開啟 enable keys;
==================DB 操作==========================
SHOW DATABASES; 目前所有資料庫
SHOW TABLES; 目前所有表格
DESCRIBE [TABLE_NAME] 顯示表格的架構
建立與另一個表格相同架構(含PRIVATE KEY)
CREATE TABLE [TABLE_NAME] LIKE [OLD_TABLE]
建立與另一個表格相同架構(不含PRIVATE KEY的空架構)
CREATE TABLE
SELECT * FROM [TABLE_NAME]
=============================查詢==========================
查詢字串後面加上 \G ,改以條列方式呈現
查詢目前AUTO_INCREMENT 增長的ID
SELECT AUTO_INCREMENT FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME='[QUERY TABLE]'
重新設定AUTO_INCREMENT ID
ALTER [TABLE_NAME] AUTO_INCREMENT=[NUMBER]
=======================INDEX 索引============================
顯示表格中的索引INDEX資料:
SHOW INDEX FROM [TABLE_NAME] \G
分析SELECT句子中的INDEX狀況
或 SHOW INDEX FROM [TABLE_NAME] WHERE KEY_NAME = '[INDEX_NAME]'
EXPLAIN SELECT * FROM [TABLE_NAME] \G
新增表格中的索引欄位
ALTER TABLE [TABLE_NAME] ADD INDEX [INDEX_NAME] (COLUMN1,COLUMN2)
=================================================
新增欄位:
ALTER TABLE [TABLE_NAME] ADD COLUMN [COLUMN_NAME] [TYPE_NAME]
ALTER TABLE USER ADD COLUMN NAME VARCHAR(20)
刪除欄位:
ALTER TABLE [TABLE_NAME]
DROP COLUMN [COLUMN_NAME]
新增欄位放置在某欄位後面
ALTER TABLE [TABLE_NAME] ADD COLUMN [COLUMN_NAME] [TYPE_NAME]
AFTER [COLUMN_NAME]
新增欄位放置在第一欄
ALTER TABLE [TABLE_NAME] ADD COLUMN [COLUMN_NAME] [TYPE_NAME]
FIRST
==========================修改===============================
改變原有欄位的名稱、型態
ALTER TABLE [TABLE_NAME] CHANGE COLUMN [OLD_COLUMN_NAME] [NEW_COLUMN_NAME] [COLUMN_TYPE] NOT NULL DEFAULT [DEFAULT_VALUE]
修改欄位預設值
ALTER TABLE [TABLE_NAME] ALTER [COLUMN_NAME] SET DEFAULT [VALUE]
修改表格名稱(表格層)
RENAME [TABLE_NAME] TO [NEW_TABLE_NAME]
修改表格名稱(資料庫層)
RENAME [TABLE_NAME_1] TO [TABLE_NAME_2] ,
[DATABASE].[TABLE_NAME_0] TO [DATABASE.[TABLE_NAME_1]]
============================備份、還原===========================
備份
mysqldump --user='[USER_NAME]' -p \
[DATABASE_NAME] [TABLE_NAME] > BACKUP.SQL
備份整個資料庫
mysqldump -u root -p --no-data [DATABASE_NAME] > schema.sql
還原
mysql --user='[USER_NAME]' -p \
[DATABASE_NAME] < [BACKUP_FILE]