常用指令
原則:能用可視化工具的盡量使用工具,指令行僅限于問題排查。
mysql -u ACCOUNT -pPWD -h IP -P port [-D database] //連接配接資料庫
show databases; //顯示資料庫清單
use db_name; //使用資料庫
show tables; //展示所有表
desc table_name; //展示表結構
select XXX from XXX where XXX;
select count(*) from XXX; //統計總記錄
删除資料的兩種方法
delete from tablename [where XXX]; //可以指定條件,删除整表/部分記錄,會傳回被删除記錄數,執行速度不快
truncate TABLE tablename; //不可指定條件,删除整表,傳回記錄數為0,執行非常快,不可以恢複資料
delete from tablename where 1; //删除所有記錄後,自增字段不會恢複為1
結論:delete的效果有點像将mysql表中所有記錄一條一條删除到删完,而truncate相當于保留mysql表的結構,重新建立了這個表,所有的狀态都相當于新表。
count(1)、count(*)、count(column)
- count(*)——對行的數目進行計算,包含NULL
- count(column)——對特定的列的值具有的行數進行統計,不包含NULL值
- count(1)——和count(*)效果一樣
關鍵結論:
- 列名為主鍵,count(列名)會比count(1)快。
- 列名不為主鍵,count(1)會比count(列名)快。
- 如果表多個列且沒有主鍵,那麼count(1)比count(*)快.
- 如果有主鍵,count(主鍵,聯合主鍵)比count(*)快.
- 如果表隻有一個字段,count(*)最快。
\g與\G
- \g:作用相當于分号“;”
- \G: 将查到結果的結構旋轉90度變成縱向
mysql> show tables \g
+----------------------------------+
| Tables_XXX |
+----------------------------------+
mysql> select * from XXX \G
作者:AmyZYX
出處:http://www.cnblogs.com/amyzhu/
本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接配接,否則保留追究法律責任的權利。