1. 程式人生 > >常用MySQL語句蒐集整理

常用MySQL語句蒐集整理

折騰 WordPress 多少要接觸到 MySQL 的一些操作,比如,瑪思閣之前重灌 postview 外掛後發現所有的 view 資料都被清空了!只好到 phpMyAdmin 後臺去進行 wp_postmeta 表的部分資料恢復,其中就會用到下文【根據條件匯出 mysql 的指定表】的方法,將 meta_key=views 的欄位對應的 meta_value 值全部恢復過來。所以,以下內容很基礎,但是卻很實用,特地蒐集整理,以備不時之需。

一、終端登陸 Mysql

Shell
1 $mysql-u[使用者名稱]-p[password]

例:賬號:root,密碼:123456,登陸成功的情形如下

Shell
1234567891011121314 [root@localhost~]# mysql -uroot -p123456   Welcome tothe MySQL monitor.Commands endwith;or\g.Your MySQL connection idis1Server version:5.5.34MySQL Community Server(GPL)Copyright(c)2000,2013,Oracle and/orits affiliates.All rights reserved.Oracle
isaregistered trademark of Oracle Corporation and/orits   affiliates.Other names may be trademarks of their respective   owners.Type'help;'or'\h'forhelp.Type'\c'toclearthe current input statement.mysql>

二、建立使用者

①、建立只能本地登陸的使用者 newuser,允許在 dbname 上進行 select,insert,update,delete 操作,密碼 abc.123:

MySQL
1 mysql>grantselect,insert,update,deleteondbname.*to[email protected]Identified by"abc.123";

②、建立允許遠端登陸的使用者 newuser,允許在 dbname 上進行 select,insert,update,delete 操作,密碼 abc.123:

MySQL
1 mysql>grantselect,insert,update,deleteondbname.*to'newuser'@'%'Identified by"abc.123";

最後重新整理 MySQL 許可權即可:

MySQL
1 mysql>flushprivileges;

三、建立,刪除和最基本查詢

Ps:舉例資料庫名為 dbname,表為 mytable

MySQL
12345678 顯示資料庫mysql->showdatabases;建立資料庫mysql->createdatabasedbname;刪除資料庫  mysql->dropdatabasedbname;選擇資料庫mysql->usedbname建立表mysql->createtablemytable(namevarchar(20),sex(char(1),birthdate);刪除表    mysql->droptablemytable;顯示錶的內容mysql->showtables;顯示錶的結構mysql->describemytable;

四、更新操作

1、對列的操作:

MySQL
12 在一個表中增加一條欄位mysql->altertableyourtableaddnamevarchar(20)not null;刪除一個欄位mysql->altertableyourtabledropname;

2、對行的操作:

MySQL
12345 插入一條記錄mysql->insertintomytablevalues('summer','m','1983-08-24');刪除一條記錄mysql->deletefrommytablewherename='summer';修改一條記錄mysql->updatemytablesetsex='vm'wherename='summer';插入多條記錄mysql->insertintomytableselect*fromyourtable;根據條件插入mysql->insertintomytableselect*fromyourtablewhere`key`='value';

五、簡單查詢:

1.在查詢結果中顯示列名

MySQL
12 a.用as關鍵字:selectnameas'姓名'fromstudentsorder byageb.直接表示:selectname'姓名'fromstudentsorder byage

2.精確查詢:

MySQL
12345678910111213141516 a.用in限定範圍:select*fromstudentswherenativein('湖南','四川')b.between...andselect*fromstudentswhereagebetween20and30c.比較測試符:(包括=,<>,<,<=,>,>=)select*fromstudentswherename='李山'd.like:select*fromstudentswherenamelike'李%'(注意查詢條件中有“%”,則說明是部分匹配,而且還有先後資訊在裡面,即查詢以“李”開頭的匹配項。所以若查詢有“李”的所有物件,應該命令:'% 李%';若是第二個字為李,則應為'_李%''_李''_李_'。)e.[]匹配檢查符:select*fromcourseswherecnolike'[AC]%'(表示或的關係,與"in(...)"類似,而且"[]"可以表示範圍,如:select*fromcourseswherecnolike'[A-C]%')注:關於這個字元我在mysql裡用的時候mysql把它當兩個普通自符處理的。[^]stocknamelike'[^F-M]%'--------- (^排除指定範圍)   f.count()求總數,如:select count(*)fromstudents(求學生總人數)g.avg(列)求平均,如:selectavg(mark)fromgradeswherecno=’B2’h.max(列)和min(列),求最大與最小

六、其他語句整理

1. 根據條件匯出 mysql 的指定表(即部分資料匯出,WordPress 網站應該用得到):

MySQL
1 mysqldump-hmysql伺服器IP-u使用者名稱-p密碼資料庫名錶名--where="篩選條件">匯出檔案路徑;

恢復方法:先用 “use dbname” 選定資料庫,然後使用 “source sql 的檔案路徑”命令即可恢復。

例:從 wp_blog 資料庫的 wp_postmeta 表中匯出 meta_key=views 的資料到 /home/xyx/Temp.sql 這個檔案中

Shell
1 mysqldump-uroot-p123456 wp_blog wp_postmeta--where="meta_key=views">/home/xyx/Temp.sql

如果是在終端可如下恢復:

MySQL
1234567 mysql>usemydbReadingtableinformationforcompletionoftableandcolumnnamesYoucanturnoffthisfeaturetogetaquickerstartupwith-ADatabasechangedmysql>source/home/xyx/Temp.sqlQueryOK,30rowsaffected(0.00sec)

當然,也可以進入 phpMyAdmin 中,選定指定表格匯入 Temp.sql 即可。

本文將持續更新,收集更多的實用 Mysql 命令。