MySQL 運維常用

1.導出整個數(shù)據(jù)庫
mysqldump -u 用戶名 -p –default-character-set=latin1 數(shù)據(jù)庫名 > 導出的文件名(數(shù)據(jù)庫默認編碼是latin1)  
mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql
2.導出一個表
mysqldump -u 用戶名 -p 數(shù)據(jù)庫名 表名> 導出的文件名  
mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql  
3.導出一個數(shù)據(jù)庫結構
mysqldump -u wcnc -p -d –add-drop-table smgp_apps_wcnc >d:wcnc_db.sql  
-d 沒有數(shù)據(jù) –add-drop-table 在每個create語句之前增加一個drop table 
4.導入數(shù)據(jù)庫
A:常用source 命令  
進入mysql數(shù)據(jù)庫控制臺,  
如mysql -u root -p  
mysql>use 數(shù)據(jù)庫  
然后使用source命令,后面參數(shù)為腳本文件(如這里用到的.sql)  
mysql>source wcnc_db.sql  
B:使用mysqldump命令  
mysqldump -u username -p dbname < filename.sql  
C:使用mysql命令  
mysql -u username -p -D dbname < filename.sql  

啟動與退出

1、進入MySQL:啟動MySQL Command Line Client(MySQL的DOS界面),直接輸入安裝時的密碼即可。此時的提示符是:mysql>

2、退出MySQL:quit或exit

庫操作

1、創(chuàng)建數(shù)據(jù)庫  
命令:create database <數(shù)據(jù)庫名>  
例如:建立一個名為sqlroad的數(shù)據(jù)庫  
mysql> create database sqlroad;  

2、顯示所有的數(shù)據(jù)庫  
命令:show databases (注意:最后有個s)  
mysql> show databases;  

3、刪除數(shù)據(jù)庫  
命令:drop database <數(shù)據(jù)庫名>  
例如:刪除名為 sqlroad的數(shù)據(jù)庫  
mysql> drop database sqlroad;  

4、連接數(shù)據(jù)庫  
命令:use <數(shù)據(jù)庫名>  
例如:如果sqlroad數(shù)據(jù)庫存在,嘗試存取它: 
mysql> use sqlroad;  
屏幕提示:Database changed  

5、查看當前使用的數(shù)據(jù)庫  
mysql> select database();  

6、當前數(shù)據(jù)庫包含的表信息: 
mysql> show tables; (注意:最后有個s)  

表操作,操作之前應連接某個數(shù)據(jù)庫

1、建表  
命令:create table <表名> ( <字段名> <類型> [,..<字段名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 ’′,  
> 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、插入數(shù)據(jù)
命令:insert into <表名> [( <字段名>[,..<字段名n> ])] values ( 值 )[, ( 值n )]  
例如,往表 MyClass中插入二條記錄, 這二條記錄表示:編號為的名為Tom的成績?yōu)?45, 編號為 的名為Joan 的成績?yōu)?99,編號為 的名為Wang 的成績?yōu)?5.  
mysql> insert into MyClass values(1,’Tom’,96.45),(2,’Joan’,82.99), (2,’Wang’, 96.59);  

5、查詢表中的數(shù)據(jù)
1)、查詢所有行  
命令:select <字段,字段,...> from < 表名 > where < 表達式 >  
例如:查看表 MyClass 中所有數(shù)據(jù)  
mysql> select * from MyClass;  
2)、查詢前幾行數(shù)據(jù)  
例如:查看表 MyClass 中前行數(shù)據(jù)  
mysql> select * from MyClass order by id limit 0,2;  
或者:  
mysql> select * from MyClass limit 0,2;  

6、刪除表中數(shù)據(jù)  
命令:delete from 表名 where 表達式  
例如:刪除表 MyClass中編號為 的記錄  
mysql> delete from MyClass where id=1; 

7、修改表中數(shù)據(jù):update 表名 set 字段=新值,…where 條件  
mysql> update MyClass set name=’Mary’where id=1; 

8、在表中增加字段: 
命令:alter table 表名 add字段 類型 其他;  
例如:在表MyClass中添加了一個字段passtest,類型為int(4),默認值為  
mysql> alter table MyClass add passtest int(4) default ''

9、更改表名: 
命令:rename table 原表名 to 新表名;  
例如:在表MyClass名字更改為YouClass  
mysql> rename table MyClass to YouClass;  
更新字段內容  
update 表名 set 字段名 = 新內容  
update 表名 set 字段名 = replace(字段名,’舊內容’, 新內容’)  
update article set content=concat(‘  ’,content);  

字段類型和數(shù)據(jù)庫操作

1.INT[(M)] 型:正常大小整數(shù)類型

2.DOUBLE[(M,D)] [ZEROFILL] 型:正常大小(雙精密)浮點數(shù)字類型

3.DATE 日期類型:支持的范圍是-01-01到-12-31。MySQL以YYYY-MM-DD格式來顯示DATE值,但是允許你使用字符串或數(shù)字把值賦給DATE列

4.CHAR(M) 型:定長字符串類型,當存儲時,總是是用空格填滿右邊到指定的長度

5.BLOB TEXT類型,最大長度為(2^16-1)個字符。

6.VARCHAR型:變長字符串類型

7.導入數(shù)據(jù)庫表

創(chuàng)建.sql文件  
先產生一個庫如auction.c:mysqlbin>mysqladmin -u root -p create auction,會提示輸入密碼,然后成功創(chuàng)建。  
導入auction.sql文件  
c:mysqlbin>mysql -u root -p auction < auction.sql。  
通過以上操作,就可以創(chuàng)建了一個數(shù)據(jù)庫auction以及其中的一個表auction。 

8.修改數(shù)據(jù)庫

在mysql的表中增加字段:  
alter table dbname add column userid int(11) not null primary key auto_increment;  
這樣,就在表dbname中添加了一個字段userid,類型為int(11)。

9.mysql數(shù)據(jù)庫的授權

mysql>grant select,insert,delete,create,drop  on *.* (或test.*/user.*/..)  to 用戶名@localhost  identified by ‘密碼’;  

如:新建一個用戶帳號以便可以訪問數(shù)據(jù)庫,需要進行如下操作:  
mysql> grant usage ON test.*  TO testuser@localhost;  
Query OK, 0 rows affected (0.15 sec)  
此后就創(chuàng)建了一個新用戶叫:testuser,這個用戶只能從localhost連接到數(shù)據(jù)庫并可以連接到test 數(shù)據(jù)庫。下一步,我們必須指定testuser這個用戶可以執(zhí)行哪些操作:  

mysql> GRANT select, insert, delete,update ON test.*  TO testuser@localhost;  
Query OK, 0 rows affected (0.00 sec)  
此操作使testuser能夠在每一個test數(shù)據(jù)庫中的表執(zhí)行SELECT,INSERT和DELETE以及UPDATE查詢操作?,F(xiàn)在我們結束操作并退出MySQL客戶程序:  

mysql> exit  

DDL操作

1:使用SHOW語句找出在服務器上當前存在什么數(shù)據(jù)庫: 
mysql> SHOW DATABASES;  

2、創(chuàng)建一個數(shù)據(jù)庫MYSQLDATA  
mysql> Create DATABASE MYSQLDATA;  

3:選擇你所創(chuàng)建的數(shù)據(jù)庫  
mysql> USE MYSQLDATA; (按回車鍵出現(xiàn)Database changed 時說明操作成功!)  

4:查看現(xiàn)在的數(shù)據(jù)庫中存在什么表  
mysql> SHOW TABLES;  

5:創(chuàng)建一個數(shù)據(jù)庫表  
mysql> Create TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));  

6:顯示表的結構: 
mysql> DESCRIBE MYTABLE;  

7:往表中加入記錄  
mysql> insert into MYTABLE values (“hyq”,”M”);  

8:用文本方式將數(shù)據(jù)裝入數(shù)據(jù)庫表中(例如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:更新表中數(shù)據(jù)  
mysql>update MYTABLE set sex=”f”where name=’hyq’;
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容