Mysql 控制檯命令介紹

(一) 連接MySQL:
格式: mysql -h主機地址 -u用戶名 -p用戶密碼
1、例1:連接到本機上的MYSQL
首先在打開DOS窗口,然後進入mysql安裝目錄下的bin目錄下,例如: D:/mysql/bin,再鍵入命令mysql -uroot -p,回車後提示你輸密碼,如果剛安裝好MYSQL,超級用戶root是沒有密碼的,故直接回車即可進入到MYSQL中了,MYSQL的提示符是:mysql>
2、例2:連接到遠程主機上的MYSQL (遠程:IP地址)
假設遠程主機的IP爲:10.0.0.1,用戶名爲root,密碼爲123。則鍵入以下命令:
mysql -h10.0.0.1 -uroot -p123
(注:u與root可以不用加空格,其它也一樣)
3、退出MYSQL命令
exit (回車)
(二) 修改密碼:
格式:mysqladmin -u用戶名 -p舊密碼 password 新密碼
1、例1:給root加個密碼123。首先在DOS下進入目錄C:/mysql/bin,然後鍵入以下命令:
mysqladmin -uroot -password 123
注:因爲開始時root沒有密碼,所以-p舊密碼一項就可以省略了。
2、例2:再將root的密碼改爲456
mysqladmin -uroot -pab12 password 456
(三) 增加新用戶:(注意:和上面不同,下面的因爲是MYSQL環境中的命令,所以後面都帶一個分號作爲命令結束符)
格式:grant select on 數據庫.* to 用戶名@登錄主機 identified by “密碼”
例1、增加一個用戶test1密碼爲abc,讓他可以在任何主機上登錄,並對所有數據庫有查詢、插入、修改、刪除的權限。首先用以root用戶連入MYSQL,然後鍵入以下命令: grant select,insert,update,delete on . to test2@localhost identified by “abc”;
如果你不想test2有密碼,可以再打一個命令將密碼消掉。 grant select,insert,update,delete on mydb.* to test2@localhost identified by “”;
(四) 顯示命令
1、顯示數據庫列表:
show databases; 剛開始時才兩個數據庫:mysql和test。mysql庫很重要它裏面有MYSQL的系統信息,我們改密碼和新增用戶,實際上就是用這個庫進行操作。
2、顯示庫中的數據表:
use mysql; //打開庫 show tables;
3、顯示數據表的結構:
describe 表名;
4、建庫:
create database 庫名;
5、建表:
use 庫名; create table 表名 (字段設定列表);
6、刪庫和刪表:
drop database 庫名; drop table 表名;
7、將表中記錄清空:
delete from 表名;
8、顯示錶中的記錄:
select * from 表名;
導出sql腳本
mysqldump -u 用戶名 -p 數據庫名 > 存放位置
mysqldump -u root -p test > c:/a.sql
MySQL導出導入命令的用例
1.導出整個數據庫
mysqldump -u 用戶名 -p 數據庫名 > 導出的文件名
mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql
2.導出一個表
mysqldump -u 用戶名 -p 數據庫名錶名> 導出的文件名
mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql
3.導出一個數據庫結構
mysqldump -u wcnc -p -d –add-drop-table smgp_apps_wcnc >d:wcnc_db.sql
-d 沒有數據 –add-drop-table 在每個create語句之前增加一個drop table
4.導入數據庫
常用source 命令
進入mysql數據庫控制檯,
如mysql -u root -p
mysql>use 數據庫
然後使用source命令,後面參數爲腳本文件(如這裏用到的.sql)
mysql>source d:wcnc_db.sql

Mysql命令desc:獲取數據表結構

desc命令用於獲取數據表結構。

desc命令格式:
desc 表名;
同樣
show columns from 表名;
也能獲取數據表結構。

舉例如下:
mysql> desc MyClass;
mysql> show columns from MyClass;

使用MySQL數據庫desc 表名時,我們看到Key那一欄,可能會有4種值,即 ’ ‘,’PRI’,’UNI’,’MUL’。
1. 如果Key是空的,那麼該列值的可以重複,表示該列沒有索引,或者是一個非唯一的複合索引的非前導列;
2. 如果Key是PRI,那麼該列是主鍵的組成部分;
3. 如果Key是UNI,那麼該列是一個唯一值索引的第一列(前導列),並別不能含有空值(NULL);
4. 如果Key是MUL,那麼該列的值可以重複,該列是一個非唯一索引的前導列(第一列)或者是一個唯一性索引的組成部分但是可以含有空值NULL。

如果對於一個列的定義,同時滿足上述4種情況的多種,比如一個列既是PRI,又是UNI,那麼”desc 表名”的時候,顯示的Key值按照優先級來顯示 PRI->UNI->MUL。那麼此時,顯示PRI。

一個唯一性索引列可以顯示爲PRI,並且該列不能含有空值,同時該表沒有主鍵。

一個唯一性索引列可以顯示爲MUL,如果多列構成了一個唯一性複合索引,因爲雖然索引的多列組合是唯一的,比如ID+NAME是唯一的,但是沒一個單獨的列依然可以有重複的值,只要ID+NAME是唯一的即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章