[转] Mysql命令基础
【From】?http://c.biancheng.net/cpp/u/mysql_ml/
?
連接Mysql數據庫
mysql命令格式: mysql -h主機地址 -u用戶名 -p用戶密碼
1) 連接到本機上的MYSQL
首先打開DOS窗口,然后進入目錄mysql\bin,再鍵入命令mysql -u root -p,回車后提示你輸密碼。
注意用戶名前可以有空格也可以沒有空格,但是密碼前必須沒有空格,否則讓你重新輸入密碼。
如果剛安裝好MYSQL,超級用戶root是沒有密碼的,故直接回車即可進入到MYSQL中了,MYSQL的提示符是: mysql>
2) 連接到遠程主機上的MYSQL
假設遠程主機的IP為:110.110.110.110,用戶名為root,密碼為abcd123。則鍵入以下命令:
? ? mysql -h110.110.110.110 -u root -p 123;(注:u與root之間可以不用加空格,其它也一樣)
3) 退出MYSQL命令
exit (回車)
?
修改用戶密碼
mysqladmin命令格式:mysqladmin -u 用戶名 -p 舊密碼 password 新密碼
1) 給root加個密碼ab12
首先在DOS下進入目錄mysql\bin,然后鍵入以下命令:
? ? mysqladmin -u root -password ab12
注:因為開始時root沒有密碼,所以-p 舊密碼一項就可以省略了。
2) 再將root的密碼改為djg345
? ? mysqladmin -u root -p ab12 password djg345
?
增加新用戶并控制其權限
grant on命令用于增加新用戶并控制其權限。
grant on命令格式:grant select on 數據庫.* to 用戶名@登錄主機 identified by “密碼”;
1) 增加一個用戶test1,密碼為abc,讓他可以在任何主機上登錄,并對所有數據庫有查詢、插入、修改、刪除的權限。首先用root用戶連入MYSQL,然后鍵入以下命令:
? ? grant select,insert,update,delete on *.* to [email=test1@”%]test1@”%[/email]” Identified by “abc”;
但增加的用戶是十分危險的,你想如某個人知道test1的密碼,那么他就可以在internet上的任何一臺電腦上登錄你的mysql數據庫并對你的數據可以為所欲為了,解決辦法如下。
2) 增加一個用戶test2密碼為abc,讓他只可以在localhost上登錄,并可以對數據庫mydb進行查詢、插入、修改、刪除的操作(localhost指本地主機,即MYSQL數據庫所在的那臺主機),這樣用戶即使用知道test2的密碼,他也無法從internet上直接訪問數據庫,只能通過MYSQL主機上的web頁來訪問了。
? ? grant select,insert,update,delete on mydb.* to [email=test2@localhost]test2@localhost[/email] identified by “abc”;
如果你不想test2有密碼,可以再打一個命令將密碼消掉。
??? grant select,insert,update,delete on mydb.* to [email=test2@localhost]test2@localhost[/email] identified by “”;
?
創建數據庫
create命令格式:create database <數據庫名>;
注意:創建數據庫之前要先連接Mysql服務器。
1) 建立一個名為xhkdb的數據庫:
? ? mysql> create database xhkdb;
2) 創建數據庫并分配用戶:
依次執行3個命令完成數據庫創建。
?
顯示所有數據庫
show databases命令用于顯示所有數據庫。
show databases命令格式:show databases; (注意:最后有個s)
?
drop database:刪除數據庫
use:使用數據庫
?
當前選擇(連接)的數據庫
select命令表示當前選擇(連接)的數據庫。
select命令格式:mysql> select database();
MySQL中SELECT命令類似于其他編程語言里的print或者write,你可以用它來顯示一個字符串、數字、數學表達式的結果等等。如何使用MySQL中SELECT命令的特殊功能呢?
1) 顯示MYSQL的版本
mysql> select version();?
+-----------------------+?
| version()???????????? |?
+-----------------------+?
| 6.0.4-alpha-community |?
+-----------------------+?
1 row in set (0.02 sec)?
2) 顯示當前時間
mysql> select now();?
+---------------------+?
| now()?????????????? |?
+---------------------+?
| 2009-09-15 22:35:32 |?
+---------------------+?
1 row in set (0.04 sec)?
3) 顯示年月日
SELECT DAYOFMONTH(CURRENT_DATE);?
+--------------------------+?
| DAYOFMONTH(CURRENT_DATE) |?
+--------------------------+?
|?????????????????????? 15 |?
+--------------------------+?
1 row in set (0.01 sec)?
??
SELECT MONTH(CURRENT_DATE);?
+---------------------+?
| MONTH(CURRENT_DATE) |?
+---------------------+?
|?????????????????? 9 |?
+---------------------+?
1 row in set (0.00 sec)?
??
SELECT YEAR(CURRENT_DATE);?
+--------------------+?
| YEAR(CURRENT_DATE) |?
+--------------------+?
|?????????????? 2009 |?
+--------------------+?
1 row in set (0.00 sec)?
4) 顯示字符串
mysql> SELECT "welecome to my blog!";?
+----------------------+?
| welecome to my blog! |?
+----------------------+?
| welecome to my blog! |?
+----------------------+?
1 row in set (0.00 sec)?
5) 當計算器用
select ((4 * 4) / 10 ) + 25;?
+----------------------+?
| ((4 * 4) / 10 ) + 25 |?
+----------------------+?
|??????????????? 26.60 |?
+----------------------+?
1 row in set (0.00 sec)?
6) 串接字符串
select CONCAT(f_name, " ", l_name)?
AS Name?
from employee_data?
where title = 'Marketing Executive';?
+---------------+?
| Name????????? |?
+---------------+?
| Monica Sehgal |?
| Hal Simlai??? |?
| Joseph Irvine |?
+---------------+?
3 rows in set (0.00 sec)?
注意:這里用到CONCAT()函數,用來把字符串串接起來。另外,我們還用到以前學到的AS給結果列'CONCAT(f_name, " ", l_name)'起了個假名。
?
備份數據庫
mysqldump命令用來備份數據庫。
mysqldump命令在DOS的 \mysql\bin\ 目錄下執行。
1) 導出整個數據庫(導出文件默認是存在mysql\bin目錄下)
? ? mysqldump -u 用戶名 -p 數據庫名 > 導出的文件名
??? mysqldump -u user_name -p123456 database_name > outfile_name.sql
2) 導出一個表
??? mysqldump -u 用戶名 -p 數據庫名 表名> 導出的文件名
??? mysqldump -u user_name -p database_name table_name > outfile_name.sql
3) 導出一個數據庫結構
??? mysqldump -u user_name -p -d –add-drop-table database_name > outfile_name.sql
??? -d 沒有數據 –add-drop-table 在每個create語句之前增加一個drop table
4) 帶語言參數導出
??? mysqldump -uroot -p –default-character-set=latin1 –set-charset=gbk –skip-opt database_name > outfile_name.sql
例如,將aaa庫備份到文件back_aaa中:
[root@test1 root]# cd /home/data/mysql
[root@test1 mysql]# mysqldump -u root -p --opt aaa > back_aaa
?
轉載于:https://www.cnblogs.com/pekkle/p/8878672.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的[转] Mysql命令基础的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 201571030322/2015710
- 下一篇: SQL简单基础