1. 程式人生 > >mysql常用命令集

mysql常用命令集

MySQL常用操作基本操作,以下都是MySQL5.0下測試通過首先說明下,記住在每個命令結束時加上;(分號)
1.匯出整個資料庫
mysqldump -u 使用者名稱 -p --default-character-set=latin1 資料庫名 > 匯出的檔名(資料庫預設編碼是latin1)
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

一、啟動與退出
1、進入MySQL:啟動MySQL Command Line Client(MySQL的DOS介面),直接輸入安裝時的密碼即可。此時的提示符是:mysql>
2、退出MySQL:quit或exit
二、庫操作
1、、建立資料庫
命令:create database <資料庫名>
例如:建立一個名為xhkdb的資料庫
mysql> create database xhkdb;
2、顯示所有的資料庫
命令:show databases (注意:最後有個s)
mysql> show databases;
3、刪除資料庫
命令:drop database <資料庫名>
例如:刪除名為 xhkdb的資料庫
mysql> drop database xhkdb;
4、連線資料庫
命令: use <資料庫名>
例如:如果xhkdb資料庫存在,嘗試存取它:
mysql> use xhkdb;
螢幕提示:Database changed
5、當前選擇(連線)的資料庫
mysql> select database();


6、當前資料庫包含的表資訊:
mysql> show tables; (注意:最後有個s)

三、表操作,操作之前應連線某個資料庫
1、建表
命令:create table <表名> ( <欄位名1> <型別1> [,..<欄位名n> <型別n>]);

mysql> create table MyClass(
> id int(4) not null primary key auto_increment,
> name char(20) not null,
> sex int(4) not null default ''0'',
> degree double(16,2));
2、獲取表結構
命令: desc 表名,或者show columns from 表名
mysql>DESCRIBE MyClass
mysql> desc MyClass;
mysql> show columns from MyClass;
3、刪除表
命令:drop table <表名>
例如:刪除表名為 MyClass 的表
mysql> drop table MyClass;
4、插入資料
命令:insert into <表名> [( <欄位名1>[,..<欄位名n > ])] values ( 值1 )[, ( 值n )]
例如,往表 MyClass中插入二條記錄, 這二條記錄表示:編號為1的名為Tom的成績為96.45, 編號為2 的名為Joan 的成績為82.99,編號為3 的名為Wang 的成績為96.5.
mysql> insert into MyClass values(1,''Tom'',96.45),(2,''Joan'',82.99), (2,''Wang'', 96.59);
5、查詢表中的資料
1)、查詢所有行
命令: select <欄位1,欄位2,...> from < 表名 > where < 表示式 >
例如:查看錶 MyClass 中所有資料
mysql> select * from MyClass;
2)、查詢前幾行資料
例如:查看錶 MyClass 中前2行資料
mysql> select * from MyClass order by id limit 0,2;
6、刪除表中資料
命令:delete from 表名 where 表示式
例如:刪除表 MyClass中編號為1 的記錄
mysql> delete from MyClass where id=1;
7、修改表中資料:update 表名 set 欄位=新值,… where 條件
mysql> update MyClass set name=''Mary'' where id=1;
7、在表中增加欄位:


命令:alter table 表名 add欄位 型別 其他;
例如:在表MyClass中添加了一個欄位passtest,型別為int(4),預設值為0
mysql> alter table MyClass add passtest int(4) default ''0''
8、更改表名:
命令:rename table 原表名 to 新表名;
例如:在表MyClass名字更改為YouClass
mysql> rename table MyClass to YouClass;


更新欄位內容
update 表名 set 欄位名 = 新內容
update 表名 set 欄位名 = replace(欄位名,''舊內容'',''新內容'');

文章前面加入4個空格
update article set content=concat(''  '',content);

欄位型別
1.INT[(M)] 型: 正常大小整數型別
2.DOUBLE[(M,D)] [ZEROFILL] 型: 正常大小(雙精密)浮點數字型別
3.DATE 日期型別:支援的範圍是1000-01-01到9999-12-31。MySQL以YYYY-MM-DD格式來顯示DATE值,但是允許你使用字串或數字把值賦給DATE列
4.CHAR(M) 型:定長字串型別,當儲存時,總是是用空格填滿右邊到指定的長度
5.BLOB TEXT型別,最大長度為65535(2^16-1)個字元。
6.VARCHAR型:變長字串型別

5.匯入資料庫表
   (1)建立.sql檔案
   (2)先產生一個庫如auction.c:mysqlbin>mysqladmin -u root -p creat auction,會提示輸入密碼,然後成功建立。
   (2)匯入auction.sql檔案
   c:mysqlbin>mysql -u root -p auction < auction.sql。
   通過以上操作,就可以建立了一個數據庫auction以及其中的一個表auction。
   6.修改資料庫
   (1)在mysql的表中增加欄位:
   alter table dbname add column userid int(11) not null primary key auto_increment;
   這樣,就在表dbname中添加了一個欄位userid,型別為int(11)。
   7.mysql資料庫的授權
   mysql>grant select,insert,delete,create,drop
   on *.* (或test.*/user.*/..)
   to 使用者名稱@localhost
   identified by ''密碼'';
   如:新建一個使用者帳號以便可以訪問資料庫,需要進行如下操作:
   mysql> grant usage
   -> ON test.*
   -> TO [email protected];
   Query OK, 0 rows affected (0.15 sec)
   此後就建立了一個新使用者叫:testuser,這個使用者只能從localhost連線到資料庫並可以連線到test 資料庫。下一步,我們必須指定testuser這個使用者可以執行哪些操作:
   mysql> GRANT select, insert, delete,update
   -> ON test.*
   -> TO [email protected];
   Query OK, 0 rows affected (0.00 sec)
   此操作使testuser能夠在每一個test資料庫中的表執行SELECT,INSERT和DELETE以及UPDATE查詢操作。現在我們結束操作並退出MySQL客戶程式:
   mysql> exit
   Bye9!

 

 

1:使用SHOW語句找出在伺服器上當前存在什麼資料庫:
mysql> SHOW DATABASES;
2:2、建立一個數據庫MYSQLDATA
mysql> Create DATABASE MYSQLDATA;
3:選擇你所建立的資料庫
mysql> USE MYSQLDATA; (按回車鍵出現Database changed 時說明操作成功!)
4:檢視現在的資料庫中存在什麼表
mysql> SHOW TABLES;
5:建立一個數據庫表
mysql> Create TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));
6:顯示錶的結構:
mysql> DESCRIBE MYTABLE;
7:往表中加入記錄
mysql> insert into MYTABLE values ("hyq","M");
8:用文字方式將資料裝入資料庫表中(例如D:/mysql.txt)
mysql> LOAD DATA LOCAL INFILE "D:/mysql.txt" INTO TABLE MYTABLE;
9:匯入.sql檔案命令(例如D:/mysql.sql)
mysql>use database;
mysql>source d:/mysql.sql;
10:刪除表
mysql>drop TABLE MYTABLE;
11:清空表
mysql>delete from MYTABLE;
12:更新表中資料
mysql>update MYTABLE set sex="f" where name=''hyq'';


以下是無意中在網路看到的使用MySql的管理心得,
摘自:http://www1.xjtusky.com/article/htmldata/2004_12/3/57/article_1060_1.html

在windows中MySql以服務形式存在,在使用前應確保此服務已經啟動,未啟動可用net start mysql命令啟動。而Linux中啟動時可用“/etc/rc.d/init.d/mysqld start"命令,注意啟動者應具有管理員許可權。
剛安裝好的MySql包含一個含空密碼的root帳戶和一個匿名帳戶,這是很大的安全隱患,對於一些重要的應用我們應將安全性儘可能提高,在這裡應把匿名帳戶刪除、 root帳戶設定密碼,可用如下命令進行:
use mysql;
delete from User where User="";
update User set Password=PASSWORD(''newpassword'') where User=''root'';
如果要對使用者所用的登入終端進行限制,可以更新User表中相應使用者的Host欄位,在進行了以上更改後應重新啟動資料庫服務,此時登入時可用如下類似命令:
mysql -uroot -p;
mysql -uroot -pnewpassword;
mysql mydb -uroot -p;
mysql mydb -uroot -pnewpassword;
上面命令引數是常用引數的一部分,詳細情況可參考文件。此處的mydb是要登入的資料庫的名稱。
在進行開發和實際應用中,使用者不應該只用root使用者進行連線資料庫,雖然使用root使用者進行測試時很方便,但會給系統帶來重大安全隱患,也不利於管理技術的提高。我們給一個應用中使用的使用者賦予最恰當的資料庫許可權。如一個只進行資料插入的使用者不應賦予其刪除資料的許可權。MySql的使用者管理是通過User表來實現的,新增新使用者常用的方法有兩個,一是在User表插入相應的資料行,同時設定相應的許可權;二是通過GRANT命令建立具有某種許可權的使用者。其中GRANT的常用用法如下:
grant all on mydb.* to [email protected] identified by "password" ;
grant usage on *.* to [email protected] identified by "password";
grant select,insert,update on mydb.* to [email protected] identified by "password";
grant update,delete on mydb.TestTable to [email protected] identified by "password";
若要給此使用者賦予他在相應物件上的許可權的管理能力,可在GRANT後面新增WITH GRANT OPTION選項。而對於用插入User表新增的使用者,Password欄位應用PASSWORD 函式進行更新加密,以防不軌之人竊看密碼。對於那些已經不用的使用者應給予清除,許可權過界的使用者應及時回收許可權,回收許可權可以通過更新User表相應欄位,也可以使用REVOKE操作。
下面給出本人從其它資料(www.cn-java.com)獲得的對常用許可權的解釋:
全域性管理許可權:
FILE: 在MySQL伺服器上讀寫檔案。
PROCESS: 顯示或殺死屬於其它使用者的服務執行緒。
RELOAD: 過載訪問控制表,重新整理日誌等。
SHUTDOWN: 關閉MySQL服務。
資料庫/資料表/資料列許可權:
Alter: 修改已存在的資料表(例如增加/刪除列)和索引。
Create: 建立新的資料庫或資料表。
Delete: 刪除表的記錄。
Drop: 刪除資料表或資料庫。
INDEX: 建立或刪除索引。
Insert: 增加表的記錄。
Select: 顯示/搜尋表的記錄。
Update: 修改表中已存在的記錄。
特別的許可權:
ALL: 允許做任何事(和root一樣)。
USAGE: 只允許登入--其它什麼也不允許做。

http://www.360doc.com/content/10/0608/01/276520_31866098.shtml