mysql使用教程指南_第1頁
mysql使用教程指南_第2頁
mysql使用教程指南_第3頁
mysql使用教程指南_第4頁
mysql使用教程指南_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

有很多朋友雖然安裝好了mysql但卻不知如何使用它。在這篇文章中我們就從連接mysql、修改密碼、增加用戶等方面來學(xué)習(xí)一些mysql的常用命令。一、連接mysql。格式例連接到本機(jī)上址mys用。名一p用戶密碼首先在打開DOS窗口,然后進(jìn)入目錄mysqlin,再鍵入命令mysql-uroot-p,回車后提示你輸密碼,如果剛安裝好mysq],超級用戶root是沒有密碼的,故直接回車即可進(jìn)入連接到遠(yuǎn)中主機(jī)上的m的提示符設(shè)遠(yuǎn)程主機(jī)的ip為:ii0.ii0.ii0.ii0,用戶名為root,密碼為abcdi23。則鍵入以下命令:mysql-hii0.ii0.ii0.ii0-uroot-pabcdi23(注:u與root可以不用加空格津它也一樣)3、退出mysql命令:exit(回車)二、 修改密碼。1、 式例?:#烈¥加個密碼名恕日密碼在D腭下進(jìn)密錄mysqlbin,然后鍵入以下命令mysqladmin-urootpasswordabi2注:因為開始時root沒有密碼,所以-p舊密碼一項就可以省略了。2、 例2:再將root的密碼改為djg345。mysqladmin-uroot-pabi2passworddjg345另一種方法:shell>mysql-uroot-pmysql>SETPASSWORDFORroot=PASSWORD("root");三、 增加新用戶。(注意:和上面不同,下面的因為是mysql環(huán)境中的命令,所以后面都帶一個分號作為命令結(jié)束符)格式:grantselecton數(shù)據(jù)庫.*to用戶名@登錄主機(jī)identifiedby"密碼"例i、增加一個用戶testi密碼為abc,讓他可以在任何主機(jī)上登錄,并對所有數(shù)據(jù)庫有査詢、插入、修改、刪除的權(quán)限。首先用以root用戶連入mysql,然后鍵入以下命令:grantselect,insert,update,deleteon*.*totesti@"%"Identifiedby"abc";但例r^上的任何是十分腦上的箓你想如某個數(shù)據(jù)庫并對你的數(shù)碼可那么他就可了在解決辦法見例2。例ydb進(jìn)行查詢式插入、修密碼刪除的操其可應(yīng)t指本地主機(jī)登錄即my可以對數(shù)據(jù)庫庫所在的那臺主機(jī)),這樣用戶即使用知道test2的密碼,也無法從internet上直接訪問數(shù)據(jù)庫,只能通過mysql主機(jī)上的web頁來訪問了。? “grantselect,insert,update,deleteonmydb.*totest2@localhostidentifiedby"abc";如果你不想test2有密碼,可以再打一個命令將密碼消掉。grantselect,insert,update,deleteonmydb.*totest2@localhostidentifiedby"";有關(guān)數(shù)據(jù)庫方面的操作。注意:你必須首先登錄到mysql中,以下操作都是在mysql的提示符下進(jìn)行的,而且每個命令以分號結(jié)束。一、操作技打命令時,回車后發(fā)現(xiàn)忘記加分號,你無須重打一遍命令,只要打個分號回車就可以了。也就是說你可以把一個完整的命令分成幾行來打,完后用分號作結(jié)束標(biāo)志就OK。

2、你可以使用光標(biāo)上下鍵調(diào)出以前的命令。但以前我用過的一個mysql舊版本不支持。我現(xiàn)在用的是mysql-3.23.27-beta-win。1二、、顯顯示示命數(shù)令據(jù)庫列表showdatabases;,-ep./? ”數(shù)據(jù)表:剛開始時才兩個數(shù)據(jù)庫:mysql和test。,-ep./? ”數(shù)據(jù)表:2、 顯示庫中的usemysql;//打開庫,學(xué)過FOXBASE的一定不會陌生吧showtables;3、 顯示數(shù)據(jù)表的結(jié)構(gòu):describe表名;4、 建庫:createdatabase庫名;5、 建表:createtable表名(createtable表名(字段設(shè)定列表);6、刪庫和刪表:dropdatabase庫名;droptable表名;7、將表中記錄清空:deletefrom表名;8、顯示表中的記錄:select*from表名;dropdatabaSefeXiStS^ChOO;號/如果存在SCHOOL則刪除createdatabaseschool;//建立庫SCHOOLuseschool;//打開庫SCHOOLcreatetableteacher//建立表TEACHER(idint(3)auto_incrementnotnullprimarykey,namechar(10)notnull,addressvarchar(50)default'深圳',yeardate);//建表結(jié)束//以下為插入字段insertintoteacher(name,address,year)values('glchengang','深圳一中','1976-10-10');insertintoteacher(name,address,year)values('jack','深圳一中','1975-12-23'):(1)將ID設(shè)為長度為3的數(shù)字字段:int(3),并讓它每個記錄自動加一:auto_increment,并不能為空Eo設(shè)為長度而且讓它字符主字段primarykey(3)將ADDRESS設(shè)為長度50的字符字段,而且缺省值為深圳。varchar和char有什么區(qū)別呢)只有等R設(shè)為文章字段了。如果你在mysql提示符鍵入上面的命令也可以,但不方便調(diào)試。你可以將以上命令原樣寫入一個文本文件中假設(shè)為school.sql,然后復(fù)制到c:下,并在DOS狀態(tài)進(jìn)入目錄mysqlin,然后鍵入以下命令:mysql-uroot-p密碼<c:school.sql如果成功,空出一行無任何顯示;如有錯誤,會有提示。(以上命令已經(jīng)調(diào)試,你只要將//的注釋去掉即可使用)。

四將文本數(shù)據(jù)符合數(shù)據(jù)式中字段數(shù)據(jù)之間用tab鍵隔開,null值用來代替。例:rose深圳二中1976-10-10mike深圳一中1975-12-232、數(shù)據(jù)傳入命令loaddatalocalinfile"文件名"intotable表名:注意:你最好將文件復(fù)制到mysqlin目錄下,并且要先用use命令選表所在的庫。五、導(dǎo)出和導(dǎo)入數(shù)據(jù):(命令在DOS的mysqlin目錄下執(zhí)行)導(dǎo)出表mysqldump--optschool>school.sql注釋:將數(shù)據(jù)庫school中的表全部備份到school.sql文件,school.sql是一個文本文件,文件名任取,打開看看你會有新發(fā)現(xiàn)。mysqldump--optschoolteacherstudent>school.teacher.student.sql注釋:將數(shù)據(jù)庫school中的teacher表和student表備份到school.teacher.student.sql文件,school.teacher.student.sql是一個文本文件,文件名任取,打開看看你會有新發(fā)現(xiàn)。導(dǎo)入表mysqlmysql>createdatabaseschool;mysql>useschool;mysql>sourceschool.sql;(或?qū)chool.sql換為school.teacher.sql/school.teacher.student.sql)mysqldump--databasesdb1db2>db1.db2.sql注釋:將數(shù)據(jù)庫dbl和db2備份到db1.db2.sql文件,db1.db2.sql是一個文本文件,文件名(任舉取個,例打子開:看看你會有新發(fā)現(xiàn)。mysqldump-hhost-uuser-ppass--databasesdbname>file.dump就是把host上的以名字user,口令pass的數(shù)據(jù)庫dbname導(dǎo)入到文件file.dump中。)b1.db2.sqlall-databases>all-databases.sql注釋:將所有數(shù)據(jù)庫備份到all-databases.sql文件,all-databases.sql是一個文本文件,文件名任取。導(dǎo)入數(shù)據(jù)庫mysqlmysql>dropdatabasea;mysql>dropdatabaseb;mysql>dropdatabasec;???mysql>sourceall-databases.sql;(或exit退出mysql后mysql<all-databases.sql)后記:其實mysql的對數(shù)據(jù)庫的操作與其它的SQL類數(shù)據(jù)庫大同小異,您最好找本將SQL的書看看。我在這里只介紹一些基本的,其實我也就只懂這些了,呵呵。最好的mysql教程還是"晏子"譯的"mysql中文參考手冊”。不僅免費(fèi),每個相關(guān)網(wǎng)站都有下載,而且它是最權(quán)威的??上Р幌?PHP4中文手冊"那樣是chm的格式,在査找函數(shù)命令的時候不太方便。

打開數(shù)據(jù)庫:usedbname;顯示所有數(shù)據(jù)庫:showdatabases;顯示數(shù)據(jù)庫mysql中所有的表:先usemysql;然后showtables;顯示表的列信息:describeuser:(顯示表mysql數(shù)據(jù)庫中user表的信息);創(chuàng)建一個可以從任何地方連接服務(wù)器的一個完全的超級用戶,但是必須使用一個口令something做這個GRANTALLPRIVILEGESON*.*TOmonty@localhostIDENTIFIEDBY'something'WITHGRANTOPTION;GRANTALLPRIVILEGESON*.*TOmonty@"%"IDENTIFIEDBY'something'WITHGRANTOPTION;刪除授權(quán):REVOKEALLPRIVILEGESON*.*FROMroot@"%";USEmysql;DELETEFROMuserWHEREUser="root"andHost="%";FLUSHPRIVILEGES;創(chuàng)建一個用戶custom在特定客戶端/r/登錄,可訪問特定數(shù)據(jù)庫bankaccountmysql>GRANTSELECT,INSERT,UPDATE,DELETE,CREATE,DROPONbankaccount.*TO[email]custom@[/email]IDENTIFIEDBY'stupid';重命名表:ALTERTABLEt1RENAMEt2;為了改變列a,從INTEGER改為TINYINTNOTNULL(名字一樣),并MBle從CMRD10Y改為CHWnOT時重命名它鈕欺滋御);ALTERTABTLIEMtE2STAADMDPdTIMESTdAMP;在列ERTABLe個索Dd并且使列(d),主A鍵DPRIMARYKEY(a):刪刪除列R^ABLEt2DROPCOLUMNc:增加一個新的AUTOINCREMENT整數(shù)列,命名為c:ALTERTABLEt2ADDcINTUNSIGNEDNOTNULLAUTO_INCREMENT,ADDINDEX(c):NOTNULL,因為索引了的列不能是NULL。注意,我們索引了c,因為AUTO_INCREMENT柱必須被索引,并且另外我們聲明cNOTNULL,因為索引了的列不能是NULL。DELETEFROMt1WHEREC>10:改變某幾行:UPDATEt1SETuser=weiqiong,password=weiqiong:7.使用name列的頭10個字符創(chuàng)建一個索引:CREATEINDEXpart_of_nameONcustomer(name(10)):數(shù)據(jù)導(dǎo)入問題(byseseandZjtv)大家一定使用過phpmyadmin里面的數(shù)據(jù)庫導(dǎo)入,導(dǎo)出功能,非常方便。但是在實際應(yīng)用中,我發(fā)現(xiàn)如下幾個問題:1、數(shù)據(jù)庫超過一定尺寸,比如6M這時使用導(dǎo)出一般沒問題,可以正確的保存到本機(jī)硬盤上面,但是導(dǎo)入則不行!原因是:一般的PHP.INI里面設(shè)置臨時文件/上傳文件的大小限制為2M,而phpmyadmin使用了上傳的方式,造成失敗。2、導(dǎo)出到硬盤的.SQL文件在導(dǎo)回時,經(jīng)常出現(xiàn)由于某些單引號的問題引起失敗,造成導(dǎo)入失敗,只能用mysql等應(yīng)用程序?qū)肓?。我的?shù)據(jù)庫已經(jīng)超過10M,所以必須解決這個問題。我的思路:導(dǎo)出:用phpmyadmin保存數(shù)據(jù)庫/表格結(jié)構(gòu),用腳本讀取數(shù)據(jù)庫內(nèi)容并保存到文件里面!導(dǎo)入:用phpmyadmin恢復(fù)數(shù)據(jù)庫/表格結(jié)構(gòu),用腳本讀取文件,然后保存到庫里面!導(dǎo)出程序如下:調(diào)用方法為****.php?table=tablename這個簡單的程序目前一次保存一個表格??!每行為一個字段的數(shù)據(jù)??!if($table=="")exit();mysql_connect("localhost","name","password");mysql_select_db("database");$result=mysql_query("select*from$table");if(mysql_num_rows($result)<=0)exit();echo"開始轉(zhuǎn)換數(shù)據(jù)到文本...";";$handle=fopen("$table.txt","w");$numfields=mysql_num_fields($result);fputs($handle,$numfields."\r\n");for($k=0;$k{$msg=mysql_fetch_row($result);for($i=0;$i<$numfields;$i++){$msg[$i]=str_replace("\r\n","&&php2000mysqlreturn&&",$msg[$i]);$msg[$i]=str_replace("\n","&&php2000mysqlreturn&&",$msg[$i]);fputs($handle,$msg[$i]."\r\n");}fputs($handle," php2000dumpdataprogramV1.0forMySQL \r\n");}fclose($handle);echo"ok";?>導(dǎo)入的程序如下:用法同上面!if($table=="")exit();mysql_connect("localhost","name","password");mysql_select_db("database");$message=file("$table.txt");echo$numfields=chop($message[0]);for($k=1;$k{$value="";for($i=$k;$i<($k+$numfields-1);$i++){$tmp=str_replace("&&php2000mysqlreturn&&","\r\n",chop($message[$i]));$value.="'".addslashes($tmp)."',";}$tmp=str_replace("&&php2000mysqlreturn&&","\r\n",chop($message[$k+$numfields-1]));$value.="'".$tmp."'";$query="insertinto$tablevalues(".$value.")";echomysql_error();mysql_query($query);echo$k."";}echo"ok";?>MySQL使用初級教程如果MYSQL運(yùn)行在服務(wù)器上,而你在客戶端需要連接的化,需要按如下方式進(jìn)行連接:shell>mysql-hhost-uuser-pEnterpassword:************host和user分別代表MySQL服務(wù)器運(yùn)行的主機(jī)名和MySQL帳戶名.添寫時寫上對應(yīng)的機(jī)器的名稱和MySQL用戶名.*********代表你的密碼.如果有效,你會看到如下提示:WelcometotheMySQLmonitor.Commandsendwith;or\g.YourMySQLconnectionidis7toserverversion:5.0.18-ntType'help;'or、h'forhelp.Type、c'toclearthebuffer.mysql>mysql>提示符告訴你該輸入命令了.有些時候MySQL會允許你匿名登陸到服務(wù)器上,此時直接輸入mysql即可.shell>mysql成功連接后,可在mysq卜提示下輸入quit隨時退出:mysql>quitBye下面顯示一個簡單的查詢實例,這是一個簡單命令,要求得到服務(wù)器的版本號和當(dāng)前日期:mysql>selectversion(),current_date;TOC\o"1-5"\h\z+ + +|version()|current_date|+ + +|5.0.18-nt|2006-07-29 |+ + +1rowinset(0.00sec)mysql>在這里我們要明白:一個命令通常由SQL語句組成,隨后跟著一個分號.MySQL的顯示結(jié)果用表格(行和列)方式輸出.第一行為列的標(biāo)簽,隨后行為査詢的結(jié)果.通常列標(biāo)簽是你查詢的數(shù)據(jù)庫表的列名,但若檢索的是一表達(dá)式而非列值(如上一個例子),通常用表達(dá)式本身來標(biāo)記列.隨后它會顯示返回了多少行以及查詢時間,它提供了服務(wù)器性能的一個大致估計.它表示的是時鐘時間并非CPU或機(jī)器時間.能夠以大小寫輸入關(guān)鍵字,即在MySQL中大小寫是等價的,但在一個査詢語句中,要求大小寫統(tǒng)一.以下是另一個査詢:mysql>SELEC

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論