今天浩道跟大家分享mysql數(shù)據(jù)庫運(yùn)維硬核干貨,一序列實(shí)用運(yùn)維腳本給大家送上,記得收藏好,別說沒有告訴你們了?。。?/strong>
常用功能腳本
1.導(dǎo)出整個(gè)數(shù)據(jù)庫
mysqldump-u用戶名-p–default-character-set=latin1數(shù)據(jù)庫名>導(dǎo)出的文件名(數(shù)據(jù)庫默認(rèn)編碼是latin1)
mysqldump-uwcnc-psmgp_apps_wcnc>wcnc.sql
2.導(dǎo)出一個(gè)表
mysqldump-u用戶名-p數(shù)據(jù)庫名表名>導(dǎo)出的文件名
mysqldump-uwcnc-psmgp_apps_wcncusers>wcnc_users.sql
3.導(dǎo)出一個(gè)數(shù)據(jù)庫結(jié)構(gòu)
mysqldump-uwcnc-p-d–add-drop-tablesmgp_apps_wcnc>d:wcnc_db.sql
-d沒有數(shù)據(jù)–add-drop-table在每個(gè)create語句之前增加一個(gè)droptable
4.導(dǎo)入數(shù)據(jù)庫
A:常用source命令
進(jìn)入mysql數(shù)據(jù)庫控制臺(tái),
如mysql-uroot-p
mysql>use數(shù)據(jù)庫
然后使用source命令,后面參數(shù)為腳本文件(如這里用到的.sql)
mysql>sourcewcnc_db.sql
B:使用mysqldump命令
mysqldump-uusername-pdbname
C:使用mysql命令
mysql-uusername-p-Ddbname
啟動(dòng)與退出
1、進(jìn)入MySQL:?jiǎn)?dòng)MySQL Command Line Client(MySQL的DOS界面),直接輸入安裝時(shí)的密碼即可。此時(shí)的提示符是:mysql> 2、退出MySQL:quit或exit
庫操作 1、、創(chuàng)建數(shù)據(jù)庫 命令:create database <數(shù)據(jù)庫名> 例如:建立一個(gè)名為sqlroad的數(shù)據(jù)庫 mysql> create databasesqlroad; 2、顯示所有的數(shù)據(jù)庫 命令:show databases (注意:最后有個(gè)s) mysql> show databases; 3、刪除數(shù)據(jù)庫 命令:drop database <數(shù)據(jù)庫名> 例如:刪除名為sqlroad的數(shù)據(jù)庫 mysql> drop databasesqlroad; 4、連接數(shù)據(jù)庫 命令:use <數(shù)據(jù)庫名> 例如:如果sqlroad數(shù)據(jù)庫存在,嘗試存取它:mysql> usesqlroad; 屏幕提示:Database changed 5、查看當(dāng)前使用的數(shù)據(jù)庫 mysql> select database(); 6、當(dāng)前數(shù)據(jù)庫包含的表信息:mysql> show tables; (注意:最后有個(gè)s)
表操作,操作之前應(yīng)連接某個(gè)數(shù)據(jù)庫
1、建表
1命令:create table <表名>(<字段名><類型>[,..<字段名n><類型n>]);
2
3mysql>createtableMyClass(
4
5>idint(4)notnullprimarykeyauto_increment,
6
7>namechar(20)notnull,
8
9>sexint(4)notnulldefault’′,
10
11>degreedouble(16,2));
2、獲取表結(jié)構(gòu)
1命令:desc 表名,或者show columns from表名
2
3mysql>DESCRIBEMyClass
4
5mysql>descMyClass;
6
7mysql>showcolumnsfromMyClass;
3、刪除表
1命令:droptable<表名>
2
3例如:刪除表名為 MyClass 的表
4
5mysql>droptableMyClass;
4、插入數(shù)據(jù)
1命令:insertinto<表名>[(<字段名>[,..<字段名n>])]values(值)[,(值n)]
2
3例如,往表MyClass中插入二條記錄, 這二條記錄表示:編號(hào)為的名為Tom的成績(jī)?yōu)?span style="font-size:inherit;line-height:inherit;color:rgb(165,218,45);">.45,編號(hào)為的名為Joan的成績(jī)?yōu)?span style="font-size:inherit;line-height:inherit;color:rgb(165,218,45);">.99,編號(hào)為的名為Wang的成績(jī)?yōu)?span style="font-size:inherit;line-height:inherit;color:rgb(165,218,45);">.5.
4
5mysql>insertintoMyClassvalues(1,’Tom’,96.45),(2,’Joan’,82.99),(2,’Wang’,96.59);
5、查詢表中的數(shù)據(jù)
11)、查詢所有行
2
3命令:select<字段,字段,...>fromwhere
4
5例如:查看表MyClass中所有數(shù)據(jù)
6
7mysql>select*fromMyClass;
8
92)、查詢前幾行數(shù)據(jù)
10
11例如:查看表MyClass中前行數(shù)據(jù)
12
13mysql>select*fromMyClassorderbyidlimit0,2;
14
15或者:
16
17mysql>select*fromMyClasslimit0,2;
6、刪除表中數(shù)據(jù)
1命令:deletefrom表名where表達(dá)式
2
3例如:刪除表 MyClass中編號(hào)為的記錄
4
5mysql>deletefromMyClasswhereid=1;
7、修改表中數(shù)據(jù):update 表名 set 字段=新值,…where 條件
1mysql>updateMyClasssetname=’Mary’whereid=1;
8、在表中增加字段:
1命令:alter table 表名add字段類型其他;
2
3例如:在表MyClass中添加了一個(gè)字段passtest,類型為int(4),默認(rèn)值為
4
5mysql>altertableMyClassaddpasstestint(4)default’′
6
9、更改表名:
1命令:rename table 原表名to新表名;
2
3例如:在表MyClass名字更改為YouClass
4
5mysql>renametableMyClasstoYouClass;
6
7更新字段內(nèi)容
8
9update表名set字段名=新內(nèi)容
10
11update表名set字段名=replace(字段名,’舊內(nèi)容’,新內(nèi)容’)
12
13updatearticlesetcontent=concat(‘’,content);
字段類型和數(shù)據(jù)庫操作
1.INT[(M)] 型:正常大小整數(shù)類型 2.DOUBLE[(M,D)] [ZEROFILL] 型:正常大小(雙精密)浮點(diǎn)數(shù)字類型 3.DATE 日期類型:支持的范圍是-01-01到-12-31。MySQL以YYYY-MM-DD格式來顯示DATE值,但是允許你使用字符串或數(shù)字把值賦給DATE列 4.CHAR(M) 型:定長(zhǎng)字符串類型,當(dāng)存儲(chǔ)時(shí),總是是用空格填滿右邊到指定的長(zhǎng)度 5.BLOB TEXT類型,最大長(zhǎng)度為(2^16-1)個(gè)字符。 6.VARCHAR型:變長(zhǎng)字符串類型 7.導(dǎo)入數(shù)據(jù)庫表
1創(chuàng)建.sql文件
2
3先產(chǎn)生一個(gè)庫如auction.c:mysqlbin>mysqladmin-uroot-pcreateauction,會(huì)提示輸入密碼,然后成功創(chuàng)建。
4
5導(dǎo)入auction.sql文件
6
7c:mysqlbin>mysql-uroot-pauctionauction.sql。
8
9通過以上操作,就可以創(chuàng)建了一個(gè)數(shù)據(jù)庫auction以及其中的一個(gè)表auction。
8.修改數(shù)據(jù)庫
1在mysql的表中增加字段:
2
3altertabledbnameaddcolumnuseridint(11)notnullprimarykeyauto_increment;
4
5這樣,就在表dbname中添加了一個(gè)字段userid,類型為int(11)。
9.mysql數(shù)據(jù)庫的授權(quán)
1mysql>grantselect,insert,delete,create,drop
2
3on*.*(或test.*/user.*/..)
4
5to用戶名@localhost
6
7identified by ‘密碼’;
8
9如:新建一個(gè)用戶帳號(hào)以便可以訪問數(shù)據(jù)庫,需要進(jìn)行如下操作:
10
11mysql>grantusage
12
13->ONtest.*
14
15->TOtestuser@localhost;
16
17QueryOK,0rowsaffected(0.15sec)
18
19此后就創(chuàng)建了一個(gè)新用戶叫:testuser,這個(gè)用戶只能從localhost連接到數(shù)據(jù)庫并可以連接到test 數(shù)據(jù)庫。下一步,我們必須指定testuser這個(gè)用戶可以執(zhí)行哪些操作:
20
21mysql>GRANTselect,insert,delete,update
22
23->ONtest.*
24
25->TOtestuser@localhost;
26
27QueryOK,0rowsaffected(0.00sec)
28
29此操作使testuser能夠在每一個(gè)test數(shù)據(jù)庫中的表執(zhí)行SELECT,INSERT和DELETE以及UPDATE查詢操作?,F(xiàn)在我們結(jié)束操作并退出MySQL客戶程序:
30
31mysql>exit
DDL操作 1:使用SHOW語句找出在服務(wù)器上當(dāng)前存在什么數(shù)據(jù)庫:mysql> SHOW DATABASES; 2、創(chuàng)建一個(gè)數(shù)據(jù)庫MYSQLDATA mysql> Create DATABASE MYSQLDATA; 3:選擇你所創(chuàng)建的數(shù)據(jù)庫 mysql> USE MYSQLDATA; (按回車鍵出現(xiàn)Database changed 時(shí)說明操作成功!) 4:查看現(xiàn)在的數(shù)據(jù)庫中存在什么表 mysql> SHOW TABLES; 5:創(chuàng)建一個(gè)數(shù)據(jù)庫表 mysql> Create TABLE MYTABLE (name VARCHAR(20), sex CHAR(1)); 6:顯示表的結(jié)構(gòu):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:導(dǎo)入.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’;
-
數(shù)據(jù)庫
+關(guān)注
關(guān)注
7文章
3799瀏覽量
64396 -
MySQL
+關(guān)注
關(guān)注
1文章
809瀏覽量
26575 -
腳本
+關(guān)注
關(guān)注
1文章
389瀏覽量
14866
原文標(biāo)題:mysql運(yùn)維實(shí)用腳本序列~別說沒有告訴你了!
文章出處:【微信號(hào):浩道linux,微信公眾號(hào):浩道linux】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論