1. 程式人生 > 其它 >MySQL的一些常用基本命令的使用說明

MySQL的一些常用基本命令的使用說明

這裡整理一下MySQL的一些常用命令的使用方法。

連線到伺服器

要使用資料庫要先連線到MySQL,在Windows中可以在DOS視窗中進入 MySQL\bin 目錄,當然設定環境變數也可以直接在任何目錄中進行,輸入 mysql -u root -p 然後就會提示你輸入密碼。
當然在這之前你要確定自己MySQL已經啟動了,用 net start mysql 命令啟動mysql服務,用 net stop mysql 命令停止mysql服務(當然命令需要管理員許可權)。

如果是在Linux可以使用 systemctl start mysql 啟動mysql服務,systemctl status mysql

mysql 狀態資訊,systemctl restart mysql 重新啟動mysql服務,systemctl stop mysql停止mysql服務。

當然在Windows中也可以直接開啟MySQL的程式,會直接讓你輸入密碼。
如果在你安裝後沒有對root使用者進行設定是沒有密碼的,直接回車就進去了。

這裡還要給出一些和mysql一起使用的命令列引數

MySQL命令列引數

引數 描述
-A 禁止自動重新生成雜湊表
-b 禁用出錯的beep聲
-B 不使用歷史檔案
-C 壓縮客戶端和伺服器之間傳送的所有資訊
-D 制定要用的資料庫
-e 制定執行語句並退出
-E 豎直方向顯示查詢輸出,每一行一個欄位
-f 如果有SQL錯誤繼續執行
-G 使能命名命令的使用
-h 指定MySQL伺服器主機名(預設localhost)
-H 用HTML程式碼顯示查詢結果
-i 忽略函式名後的空格
-N 結果中不顯示列名稱
-o 忽略語句,除了在命令列上命名的預設資料庫的語句
-p 為使用者帳戶提示輸入命令
-P 指定網路連線用的TCP埠號
-q 不快取每條查詢結果
-r 顯示列輸出,不轉義
-s 使用安靜模式
-S 為本地(localhost)連線指定一個套接字
-t 以表的形式顯示輸出
-T 在程式退出時顯示除錯資訊、記憶體以及CPU統計資訊
-u 指定登入使用者名稱
-U 只允許指定了鍵值的UPDATE和DELETE語句
-v 使用詳細模式
-w 如果連線沒有完成,等待並重試
-X 用XHTML程式碼顯示查詢輸出

連線到遠端主機上的MYSQL。假設遠端主機的IP為:110.110.110.110,使用者名稱為root,密碼為abcd123。則鍵入以下命令:
mysql -h 110.110.110.110 -u root -p 123;(注:u與root之間可以不用加空格,其它也一樣)
在你輸入使用者對應的密碼,就登入上了伺服器,接下來就可以輸入命令了。

MySQL命令

除了標準SQL命令,還有一些mysql特殊的命令在下面先列出。

MySQL命令

命令 簡單指令 描述
? ? 幫助資訊
clear \c 清空命令
connect \r 連線到資料庫和伺服器
delimiter \d 設定SQL語句分隔符
edit \e 用命令列編輯器編輯命令
ego \G 將命令傳送到MySQL伺服器並垂直顯示結果
exit \q 退出mysql程式
go \g 將命令傳送到MySQL伺服器
help \h 顯示幫助資訊
nopager \n 禁用輸出分頁將輸出傳送到STDOUT
note \t 不要將輸出傳送到輸出檔案
pager \P 將分頁命令設為指定的程式(預設是more)
print \p 列印當前命令
prompt \R 修改mysql命令提示符
quit \q 退出mysql程式(同exit)
rehash \# 重新構建命令補全雜湊表
source \. 執行指定檔案中的SQL指令碼
status \s 從MySQL伺服器提取狀態資訊
system \! 在系統上執行shell命令
tee \T 將所有輸出附加到指定檔案中
use \u 使用另一個數據庫
charset \C 切換到另一個數據庫
warnings \W 在每條語句之後顯示警告資訊
nowrning \w 不要在每條語句之後顯示警告資訊

修改密碼

格式:mysqladmin -u 使用者名稱 -p 舊密碼 password 新密碼

1、給root加個密碼123。
首先在DOS下進入目錄mysql\bin,然後鍵入以下命令
mysqladmin -u root -password 123

注:因為開始時root沒有密碼,所以-p舊密碼一項就可以省略了。

2、再將root的密碼改為123345。
mysqladmin -u root -p 123 password 12345

跳過登入驗證

在Windows系統中在my.ini檔案的末尾新增 skip_grant_tables,檔案就在你安裝MySQL的目錄下,你可以在你安裝MySQL的目錄下使用命令notepad my.ini彈出記事本,在末尾新增一行。

在Linux系統中你可以使用命令 vi /etc/my.cnf ,在檔案末尾新增 skip-grant-tables

最後都重啟服務,對密碼進行修改,修改密碼後,不要忘記再將配置檔案中新新增的最後一行刪除。

新增新使用者

格式:grant select on 資料庫.* to 使用者名稱@登入主機 identified by “密碼”

1、增加一個使用者staff1密碼為123,讓他可以在任何主機上登入,並對所有資料庫有查詢、插入、修改、刪除的許可權。首先用root使用者連入MYSQL,然後鍵入以下命令:
grant select,insert,update,delete on *.* to [email=staff1@”%]staff1@”%[/email]” identified by “123";

但增加的使用者是十分危險的,你想如某個人知道test1的密碼,那麼他就可以在internet上的任何一臺電腦上登入你的mysql資料庫並對你的資料可以為所欲為了。

2、增加一個使用者staff2密碼為123,讓他只可以在localhost上登入,並可以對資料庫data進行查詢、插入、修改、刪除的操作(localhost指本地主機,即MYSQL資料庫所在的那臺主機),這樣使用者即使用知道staff2的密碼,他也無法從internet上直接訪問資料庫,只能通過MYSQL主機上的web頁來訪問了。
grant select,insert,update,delete on data.* to [email=staff2@localhost]staff2@localhost[/email] identified by “123”;

建立資料庫

命令:create database 資料路名;

例1:建立一個叫data的資料庫
mysql> create database data;

例2:建立資料庫並分配使用者
①create database 資料庫名;
②grant select,insert,update,delete,create,drop,alter on 資料庫名.* to 資料庫名@localhost identified by '密碼';
③set password for '資料庫名'@'localhost' = old_password('密碼');
依次執行3個命令完成資料庫建立。注意:中文 “密碼”和“資料庫”是戶自己需要設定的。

顯示資料庫

命令:show databases
mysql> show databases;

注意:為了不再顯示的時候亂碼,要修改資料庫預設編碼。以下以GBK編碼頁面為例進行說明:

1、修改MYSQL的配置檔案:my.ini裡面修改default-character-set=gbk

2、程式碼執行時修改:
①Java程式碼:jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=gbk
②PHP程式碼:header("Content-Type:text/html;charset=gb2312");
③C語言程式碼:int mysql_set_character_set( MYSQL * mysql, char * csname);
該函式用於為當前連線設定預設的字符集。字串csname指定了1個有效的字符集名稱。連線校對成為字符集的預設校對。該函式的工作方式與SET NAMES語句類似,但它還能設定mysql- > charset的值,從而影響了由mysql_real_escape_string() 設定的字符集。

刪除資料庫

命令:drop database 資料庫名
例如:刪除名為data的資料庫
mysql> drop database data;

例子1:刪除一個已經確定存在的資料庫
mysql> drop database data;
Query OK, 0 rows affected (0.61 sec)

例子2:刪除一個不確定存在的資料庫
mysql> drop database data;
ERROR 1008 (HY000): Can't drop database 'data'; database doesn't exist
//不能夠刪除資料庫'data';資料庫不存在

mysql> drop database if exists drop_database;
Query OK, 0 rows affected (0.00 sec)
//if exists 判斷資料庫是否存在,不存在也不產生錯誤

連線資料庫

未完待續...