mysql 常用操作命令
有些時候我們不得不去用命令行操作mysql數據庫,下面是筆者總結的常見操作命令:
1.連接
? 命令:? mysql -h主機地址 -u用戶名 -p密碼
? 本地:連接?? cmd進入mysql/bin之后, 輸入mysql -uroot -p然后回車 會提示你輸入密碼 接著回車即可(如果密碼為空);
? 遠程連接:假設遠程主機的IP為:222.222.212.212,用戶名為root,密碼為abcdef。則鍵入以下命令:
???? mysql -h222.222.212.212 ?-uroot? -pabcdef
2.對數據庫和表的操作
???
???查看用戶擁有權限的數據庫?:????? show databases;(注意分號)
?
?? 創建數據庫test:? create database testdb;
?? 切換到testdb數據庫:?????? use testdb;
?? 刪除數據庫testdb: drop database?testdb;
?? 查看當前數據庫中有權限的表: show tables;
?? 創建表s_position,department,,depart_pos,testtable:
???? create table s_position
???? (
???????? id int not null auto_increment,
???????? name varchar(20) not null default? '經理',????????? #設定默認值
???????? description varchar(100),
???????? primary key PK_positon (id)?????????????????????????? ?#設定主鍵
???? );????
???? create table department
???? (
???????? id int not null auto_increment,
???????? name varchar(20) not null default '系統部',????????? #設定默認值
???????? description varchar(100),
???????? primary key PK_department (id)??????????????????????? #設定主鍵
???? );
???? create table depart_pos
???? (
???????? department_id int not null,
???????? position_id int not null,
???????? primary key PK_depart_pos (department_id,position_id)? #設定復和主鍵
???? );
???? create table testtable
???? (
???????? id int not null auto_increment primary key,???? #設定主鍵
???????? name varchar(20) not null default '無名氏',? #設定默認值
???????? department_id int not null,
???????? position_id int not null,
???????? unique (department_id,position_id)????????????? #設定唯一值
???? );
?? 查看表testtable的結構:?? desc testtable;
?? 刪除表testtable:?????
??????? drop table testtable;???????
? 修改表結構 操作數據(增,刪,改,查)
???.....(同sql語句,略)
?3. 備份和恢復
?? 對數據的備份和恢復命令,在網上有許多種版本,經筆者親身測驗,下面的命令是可行方法之一:
???
??? 備份數據庫testdb:??
??? 本地:mysqldump -uroot? -pabcdef testdb>e:testdb.sql?
??? 遠程:mysqldump -h222.222.212.212 -uroot? -pabcdef testdb>e:testdb.sql?
???這里假設數據庫的用戶名和密碼分別是root和abcdef, 導出到額盤根目錄下,得到的testdb.sql是一個sql腳本,不包括建庫的語句,所以你需要手工創建數據庫下次才可以導入 恢復數據庫testdb;
??????
???? 恢復數據庫testdb:??????首先 需要創建一個空庫testdb(原因如上);
???? 命令:??
???? 本地:mysql -uroot -pabcdef? testdb<e:testdb.sql????
???? 遠程:mysql -h222.222.212.212? -uroot -pabcdef? testdb<e:testdb.sql????
???? 后面e:testdb.db代表本地sql文件路徑,如果mysql安裝在本地可以把sql文件考到mysql/bin的安裝目錄下,就不用寫路徑了.
注:在網上有些朋友說,mysql的安裝目錄必須為默認目錄(即c:/mysql),否則會出問題,筆者也測驗了一下在安裝d盤的效果,結果暫時沒有發現什么問題.,這說明有時候命令執行異??赡芎桶惭b目錄無關.^_^