2015年6月10日 星期三

[MariaDB] 常用指令


===終端機命令列上執行===


版本查詢: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]




沒有留言:

張貼留言

熱門文章