版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
MYSQL慣用命令1.導(dǎo)出整個(gè)數(shù)據(jù)庫mysqldump-u顧客名-p–default-character-set=latin1數(shù)據(jù)庫名>導(dǎo)出的文獻(xiàn)名(數(shù)據(jù)庫默認(rèn)編碼是latin1)mysqldump-uwcnc-psmgp_apps_wcnc>wcnc.sql2.導(dǎo)出一種表mysqldump-u顧客名-p數(shù)據(jù)庫名表名>導(dǎo)出的文獻(xiàn)名mysqldump-uwcnc-psmgp_apps_wcncusers>wcnc_users.sql3.導(dǎo)出一種數(shù)據(jù)庫構(gòu)造mysqldump-uwcnc-p-d–add-drop-tablesmgp_apps_wcnc>d:wcnc_db.sql-d沒有數(shù)據(jù)–add-drop-table在每個(gè)create語句之前增加一種droptable4.導(dǎo)入數(shù)據(jù)庫A:慣用source命令進(jìn)入mysql數(shù)據(jù)庫控制臺(tái),如mysql-uroot-pmysql>use數(shù)據(jù)庫然后使用source命令,背面參數(shù)為腳本文獻(xiàn)(如這里用到的.sql)mysql>sourcewcnc_db.sqlB:使用mysqldump命令mysqldump-uusername-pdbname<filename.sqlC:使用mysql命令mysql-uusername-p-Ddbname<filename.sql一、啟動(dòng)與退出1、進(jìn)入MySQL:?jiǎn)?dòng)MySQLCommandLineClient(MySQL的DOS界面),直接輸入安裝時(shí)的密碼即可。此時(shí)的提示符是:mysql>2、退出MySQL:quit或exit二、庫操作1、、創(chuàng)立數(shù)據(jù)庫命令:createdatabase<數(shù)據(jù)庫名>例如:建立一種名為xhkdb的數(shù)據(jù)庫mysql>createdatabasexhkdb;2、顯示全部的數(shù)據(jù)庫命令:showdatabases(注意:最后有個(gè)s)mysql>showdatabases;3、刪除數(shù)據(jù)庫命令:dropdatabase<數(shù)據(jù)庫名>例如:刪除名為xhkdb的數(shù)據(jù)庫mysql>dropdatabasexhkdb;4、連接數(shù)據(jù)庫命令:use<數(shù)據(jù)庫名>例如:如果xhkdb數(shù)據(jù)庫存在,嘗試存取它:mysql>usexhkdb;屏幕提示:Databasechanged5、查看目前使用的數(shù)據(jù)庫mysql>selectdatabase();6、目前數(shù)據(jù)庫包含的表信息:mysql>showtables;(注意:最后有個(gè)s)三、表操作,操作之前應(yīng)連接某個(gè)數(shù)據(jù)庫1、建表命令:createtable<表名>(<字段名><類型>[,..<字段名n><類型n>]);mysql>createtableMyClass(>idint(4)notnullprimarykeyauto_increment,>namechar(20)notnull,>sexint(4)notnulldefault’′,>degreedouble(16,2));2、獲取表構(gòu)造命令:desc表名,或者showcolumnsfrom表名mysql>DESCRIBEMyClassmysql>descMyClass;mysql>showcolumnsfromMyClass;3、刪除表命令:droptable<表名>例如:刪除表名為MyClass的表mysql>droptableMyClass;4、插入數(shù)據(jù)命令:insertinto<表名>[(<字段名>[,..<字段名n>])]values(值)[,(值n)]例如,往表MyClass中插入二條統(tǒng)計(jì),這二條統(tǒng)計(jì)表達(dá):編號(hào)為的名為Tom的成績(jī)?yōu)?45,編號(hào)為的名為Joan的成績(jī)?yōu)?99,編號(hào)為的名為Wang的成績(jī)?yōu)?5.mysql>insertintoMyClassvalues(1,’Tom’,96.45),(2,’Joan’,82.99),(2,’Wang’,96.59);5、查詢表中的數(shù)據(jù)1)、查詢?nèi)啃忻睿簊elect<字段,字段,...>from<表名>where<體現(xiàn)式>例如:查看表MyClass中全部數(shù)據(jù)mysql>select*fromMyClass;2)、查詢前幾行數(shù)據(jù)例如:查看表MyClass中前行數(shù)據(jù)mysql>select*fromMyClassorderbyidlimit0,2;或者:mysql>select*fromMyClasslimit0,2;6、刪除表中數(shù)據(jù)命令:deletefrom表名where體現(xiàn)式例如:刪除表MyClass中編號(hào)為的統(tǒng)計(jì)mysql>deletefromMyClasswhereid=1;7、修改表中數(shù)據(jù):update表名set字段=新值,…where條件mysql>updateMyClasssetname=’Mary’whereid=1;7、在表中增加字段:命令:altertable表名add字段類型其它;例如:在表MyClass中添加了一種字段passtest,類型為int(4),默認(rèn)值為mysql>altertableMyClassaddpasstestint(4)default’′8、更改表名:命令:renametable原表名to新表名;例如:在表MyClass名字更改為YouClassmysql>renametableMyClasstoYouClass;更新字段內(nèi)容update表名set字段名=新內(nèi)容update表名set字段名=replace(字段名,’舊內(nèi)容’,'新內(nèi)容’)文章前面加入個(gè)空格updatearticlesetcontent=concat(‘’,content);字段類型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.BLOBTEXT類型,最大長(zhǎng)度為(2^16-1)個(gè)字符。6.VARCHAR型:變長(zhǎng)字符串類型5.導(dǎo)入數(shù)據(jù)庫表()創(chuàng)立.sql文獻(xiàn)()先產(chǎn)生一種庫如auction.c:mysqlbin>mysqladmin-uroot-pcreatauction,會(huì)提示輸入密碼,然后成功創(chuàng)立。()導(dǎo)入auction.sql文獻(xiàn)c:mysqlbin>mysql-uroot-pauction<auction.sql。通過以上操作,就能夠創(chuàng)立了一種數(shù)據(jù)庫auction以及其中的一種表auction。6.修改數(shù)據(jù)庫()在mysql的表中增加字段:altertabledbnameaddcolumnuseridint(11)notnullprimarykeyauto_increment;這樣,就在表dbname中添加了一種字段userid,類型為int(11)。7.mysql數(shù)據(jù)庫的授權(quán)mysql>grantselect,insert,delete,create,dropon*.*(或test.*/user.*/..)to顧客名@localhostidentifiedby‘密碼’;如:新建一種顧客帳號(hào)方便能夠訪問數(shù)據(jù)庫,需要進(jìn)行以下操作:mysql>grantusage->ONtest.*->TOtestuser@localhost;QueryOK,0rowsaffected(0.15sec)此后就創(chuàng)立了一種新顧客叫:testuser,這個(gè)顧客只能從localhost連接到數(shù)據(jù)庫并能夠連接到test數(shù)據(jù)庫。下一步,我們必須指定testuser這個(gè)顧客能夠執(zhí)行哪些操作:mysql>GRANTselect,insert,delete,update->ONtest.*->TOtestuser@localhost;QueryOK,0rowsaffected(0.00sec)此操作使testuser能夠在每一種test數(shù)據(jù)庫中的表執(zhí)行SELECT,INSERT和DELETE以及UPDATE查詢操作?,F(xiàn)在我們結(jié)束操作并退出MySQL客戶程序:mysql>exitBye9!1:使用SHOW語句找出在服務(wù)器上目前存在什么數(shù)據(jù)庫:mysql>SHOWDATABASES;2:2、創(chuàng)立一種數(shù)據(jù)庫MYSQLDATAmysql>CreateDATABASEMYSQLDATA;3:選擇你所創(chuàng)立的數(shù)據(jù)庫mysql>USEMYSQLDATA;(按回車鍵出現(xiàn)Databasechanged時(shí)闡明操作成功!)4:查看現(xiàn)在的數(shù)據(jù)庫中存在什么表mysql>SHOWTABLES;5:創(chuàng)立一種數(shù)據(jù)庫表mysql>CreateTABLEMYTABLE(nameVARCHAR(20),sexCHAR(1));6:顯示表的構(gòu)造:mysql>DESCRIBEMYTABLE;7:往表中加入統(tǒng)計(jì)mysql>insertintoMYTABLEvalues(“hyq”,”M”);8:用文本方式將數(shù)據(jù)裝入數(shù)據(jù)庫表中(例如D:/mysql.txt)mysql>LOADDATALOCALINFILE“D:/mysql.txt”INTOTABLEMYTABLE;9:導(dǎo)入.sql文獻(xiàn)命令(例如D:/mysql.sql)mysql>usedatabase;mysql>sourced:/mysql.sql;10:刪除表mysql>dropTABLEMYTABLE;11:清空表mysql>deletefromMYTABLE;12:更新表中數(shù)據(jù)mysql>updateMYTABLEsetsex=”f”wherename=’hyq’;下列是無意中在網(wǎng)絡(luò)看到的使用MySql的管理心得,在windows中MySql以服務(wù)形式存在,在使用前應(yīng)確保此服務(wù)已經(jīng)啟動(dòng),未啟動(dòng)可用netstartmysql命令啟動(dòng)。而Linux中啟動(dòng)時(shí)可用“/etc/rc.d/init.d/mysqldstart”命令,注意啟動(dòng)者應(yīng)含有管理員權(quán)限。剛安裝好的MySql包含一種含空密碼的root帳戶和一種匿名帳戶,這是很大的安全隱患,對(duì)于某些重要的應(yīng)用我們應(yīng)將安全性盡量提高,在這里應(yīng)把匿名帳戶刪除、root帳戶設(shè)立密碼,可用以下命令進(jìn)行:usemysql;deletefromUserwhereUser=”";updateUsersetPassword=PASSWORD(‘newpassword’)whereUser=’root’;如果要對(duì)顧客所用的登錄終端進(jìn)行限制,能夠更新User表中對(duì)應(yīng)顧客的Host字段,在進(jìn)行了以上更改后應(yīng)重新啟動(dòng)數(shù)據(jù)庫服務(wù),此時(shí)登錄時(shí)可用以下類似命令:mysql-uroot-p;mysql-uroot-pnewpassword;mysqlmydb-uroot-p;mysqlmydb-uroot-pnewpassword;上面命令參數(shù)是慣用參數(shù)的一部分,具體狀況可參考文檔。此處的mydb是要登錄的數(shù)據(jù)庫的名稱。在進(jìn)行開發(fā)和實(shí)際應(yīng)用中,顧客不應(yīng)當(dāng)只用root顧客進(jìn)行連接數(shù)據(jù)庫,即使使用root顧客進(jìn)行測(cè)試時(shí)很方便,但會(huì)給系統(tǒng)帶來重大安全隱患,也不利于管理技術(shù)的提高。我們給一種應(yīng)用中使用的顧客賦予最恰當(dāng)?shù)臄?shù)據(jù)庫權(quán)限。如一種只進(jìn)行數(shù)據(jù)插入的顧客不應(yīng)賦予其刪除數(shù)據(jù)的權(quán)限。MySql的顧客管理是通過User表來實(shí)現(xiàn)的,添加新顧客慣用的辦法有兩個(gè),一是在User表插入對(duì)應(yīng)的數(shù)據(jù)行,同時(shí)設(shè)立對(duì)應(yīng)的權(quán)限;二是通過GRANT命令創(chuàng)立含有某種權(quán)限的顧客。其中GRANT的慣用使用方法以下:grantallonmydb.*toNewUserName@HostNameidentifiedby“password”;grantusageon*.*toNewUserName@HostNameidentifiedby“password”;grantselect,insert,updateonmydb.*toNewUserName@HostNameidentifiedby“password”;grantupdate,deleteonmydb.TestTabletoNewUserName@HostNameidentifiedby“password”;若要給此顧客賦予他在對(duì)應(yīng)對(duì)象上的權(quán)限的管理能力,可在GRANT背面添加WITHGRANTOPTION選項(xiàng)。而對(duì)于用插入U(xiǎn)ser表添加的顧客,Password字段應(yīng)用PASSWORD函數(shù)進(jìn)行更新加密,以防不軌之人竊看密碼。對(duì)于那些已經(jīng)不用的顧客應(yīng)予以去除,權(quán)限過界的顧客應(yīng)及時(shí)回收權(quán)限,回收權(quán)限能夠通過更新User表對(duì)應(yīng)字段,也能夠使用REVOKE操作。下面給出本人從其它資料(.com)獲得的對(duì)慣用權(quán)限的解釋:全局管理權(quán)限:FILE:在MySQL服務(wù)器上讀寫文獻(xiàn)。PROCESS:顯示或殺死屬于其它顧客的服務(wù)線程。RELOAD:重載訪問控制表,刷新日志等。SHUTDOWN:關(guān)閉MySQL服務(wù)。數(shù)據(jù)庫/數(shù)據(jù)表/數(shù)據(jù)列權(quán)限:Alter:修改已存在的數(shù)據(jù)表(例如增加/刪除列)和索引。Create:建立新的數(shù)據(jù)庫或數(shù)據(jù)表。Delete:刪除表的統(tǒng)計(jì)。Drop:刪除數(shù)據(jù)表或數(shù)據(jù)庫。INDEX:建立或刪除索引。Insert:增加表的統(tǒng)計(jì)。Select:顯示/搜索表的統(tǒng)計(jì)。Update:修改表中已存在的統(tǒng)計(jì)。特別的權(quán)限:ALL:允許做任何事(和root同樣)。USAGE:只允許登錄–其它什么也不允許做?!狹YSQL慣用命令有諸多朋友即使安裝好了mysql但卻不知如何使用它。在這篇文章中我們就從連接MYSQL、修改密碼、增加顧客等方面來學(xué)習(xí)某些MYSQL的慣用命令。有諸多朋友即使安裝好了mysql但卻不知如何使用它。在這篇文章中我們就從連接MYSQL、修改密碼、增加顧客等方面來學(xué)習(xí)某些MYSQL的慣用命令。一、連接MYSQL格式:mysql-h主機(jī)地址-u顧客名-p顧客密碼、例:連接到本機(jī)上的MYSQL首先在打開DOS窗口,然后進(jìn)入目錄mysqlbin,再鍵入命令mysql-uroot-p,回車后提示你輸密碼,如果剛安裝好MYSQL,超級(jí)顧客root是沒有密碼的,故直接回車即可進(jìn)入到MYSQL中了,MYSQL的提示符是:mysql>、例:連接到遠(yuǎn)程主機(jī)上的MYSQL假設(shè)遠(yuǎn)程主機(jī)的IP為:.110.110.110,顧客名為root,密碼為abcd123。則鍵入下列命令:mysql-h10-uroot-pabcd123(注:u與root能夠不用加空格,其它也同樣)、退出MYSQL命令:exit(回車)二、修改密碼格式:mysqladmin-u顧客名-p舊密碼password新密碼、例:給root加個(gè)密碼ab12。首先在DOS下進(jìn)入目錄mysqlbin,然后鍵入下列命令mysqladmin-uroot-passwordab12注:由于開始時(shí)root沒有密碼,因此-p舊密碼一項(xiàng)就能夠省略了。、例:再將root的密碼改為djg345mysqladmin-uroot-pab12passworddjg345MYSQL慣用命令(下)一、操作技巧、如果你打命令時(shí),回車后發(fā)現(xiàn)忘記加分號(hào),你不必重打一遍命令,只要打個(gè)分號(hào)回車就能夠了。也就是說你能夠把一種完整的命令分成幾行來打,完后用分號(hào)作結(jié)束標(biāo)志就OK。、你能夠使用光標(biāo)上下鍵調(diào)出以前的命令。但以前我用過的一種MYSQL舊版本不支持。我現(xiàn)在用的是mysql-3.23.27-beta-win。二、顯示命令、顯示數(shù)據(jù)庫列表。showdatabases;剛開始時(shí)才兩個(gè)數(shù)據(jù)庫:mysql和test。mysql庫很重要它里面有MYSQL的系統(tǒng)信息,我們改密碼和新增顧客,事實(shí)上就是用這個(gè)庫進(jìn)行操作。、顯示庫中的數(shù)據(jù)表:usemysql;//打開庫,學(xué)過FOXBASE的一定不會(huì)陌生吧showtables;、顯示數(shù)據(jù)表的構(gòu)造:describe表名;、建庫:createdatabase庫名;、建表:use庫名;createtable表名(字段設(shè)定列表);、刪庫和刪表:dropdatabase庫名;droptable表名;、將表中統(tǒng)計(jì)清空:deletefrom表名;、顯示表中的統(tǒng)計(jì):select*from表名;三、一種建庫和建表以及插入數(shù)據(jù)的實(shí)例dropdatabaseifexistsschool;//如果存在SCHOOL則刪除createdatabaseschool;//建立庫SCHOOLuseschool;//打開庫SCHOOLcreatetableteacher//建立表TEACHER(idint(3)auto_incrementnotnullprimarykey,namechar(10)notnull,addressvarchar(50)default‘深圳’,yeardate);//建表結(jié)束//下列為插入字段insertintoteachervalues(”,’glchengang’,'深圳一中’,’-10-10′);insertintoteachervalues(”,’jack’,'深圳一中’,’-12-23′);注:在建表中()將ID設(shè)為長(zhǎng)度為的數(shù)字字段:int(3)并讓它每個(gè)統(tǒng)計(jì)自動(dòng)加一:auto_increment并不能為空:notnull并且讓他成為主字段primarykey()將NAME設(shè)為長(zhǎng)度為的字符字段()將ADDRESS設(shè)為長(zhǎng)度的字符字段,并且缺省值為深圳。varchar和char有什么區(qū)別呢,只有等后來的文章再說了。()將YEAR設(shè)為日期字段。如果你在mysql提示符鍵入上面的命令也能夠,但不方便調(diào)試。你能夠?qū)⒁陨厦钤瓨訉懭胍环N文本文獻(xiàn)中假設(shè)為school.sql,然后復(fù)制到c:\下,并在DOS狀態(tài)進(jìn)入目錄\mysql\bin,然后鍵入下列命令:mysql-uroot-p密碼<c:\school.sql如果成功,空出一行無任何顯示;如有錯(cuò)誤,會(huì)有提示。(以上命令已經(jīng)調(diào)試,你只要將//的注釋去掉即可使用)。四、將文本數(shù)據(jù)轉(zhuǎn)到數(shù)據(jù)庫中、文本數(shù)據(jù)應(yīng)符合的格式:字段數(shù)據(jù)之間用tab鍵隔開,null值用\n來替代.例:rose深圳二中1976-10-10mike深圳一中1975-12-23、數(shù)據(jù)傳入命令loaddatalocalinfile"文獻(xiàn)名"intotable表名;注意:你最佳將文獻(xiàn)復(fù)制到\mysql\bin目錄下,并且要先用use命令打表所在的庫。五、備份數(shù)據(jù)庫:(命令在DOS的\mysql\bin目錄下執(zhí)行)mysqldump--optschool>school.bbb注釋:將數(shù)據(jù)庫school備份到school.bbb文獻(xiàn),school.bbb是一種文本文獻(xiàn),文獻(xiàn)名任取,打開看看你會(huì)有新發(fā)現(xiàn)。一.SELECT語句的完整語法為:SELECT[ALL|DISTINCT|DISTINCTROW|TOP]{*|talbe.*|[table.]field1[ASalias1][,[table.]field2[ASalias2][,…]]}FROMtableexpression[,…][INexternaldatabase][WHERE…][GROUPBY…][HAVING…][ORDERBY…][WITHOWNERACCESSOPTION]闡明:用中括號(hào)([])括起來的部分表達(dá)是可選的,用大括號(hào)({})括起來的部分是表達(dá)必須從中選擇其中的一種。1FROM子句FROM子句指定了SELECT語句中字段的來源。FROM子句背面是包含一種或多個(gè)的體現(xiàn)式(由逗號(hào)分開),其中的體現(xiàn)式可為單一表名稱、已保存的查詢或由INNERJOIN、LEFTJOIN或RIGHTJOIN得到的復(fù)合成果。如果表或查詢存儲(chǔ)在外部數(shù)據(jù)庫,在IN子句之后指明其完整途徑。例:下列SQL語句返回全部有定單的客戶:SELECTOrderID,Customer.customerIDFROMOrdersCustomersWHEREOrders.CustomerID=Customers.CustomeersID2ALL、DISTINCT、DISTINCTROW、TOP謂詞(1)ALL返回滿足SQL語句條件的全部統(tǒng)計(jì)。如果沒有指明這個(gè)謂詞,默認(rèn)為ALL。例:SELECTALLFirstName,LastNameFROMEmployees(2)DISTINCT如果有多個(gè)統(tǒng)計(jì)的選擇字段的數(shù)據(jù)相似,只返回一種。(3)DISTINCTROW如果有重復(fù)的統(tǒng)計(jì),只返回一種(4)TOP顯示查詢頭尾若干統(tǒng)計(jì)。也可返回統(tǒng)計(jì)的比例,這是要用TOPNPERCENT子句(其中N表達(dá)比例)例:返回%定貨額最大的定單SELECTTOP5PERCENT*FROM[OrderDetails]ORDERBYUnitPrice*Quantity*(1-Discount)DESC3用AS子句為字段取別名如果想為返回的列取一種新的標(biāo)題,或者,通過對(duì)字段的計(jì)算或總結(jié)之后,產(chǎn)生了一種新的值,但愿把它放到一種新的列里顯示,則用AS保存。例:返回FirstName字段取別名為NickNameSELECTFirstNameASNickName,LastName,CityFROMEmployees例:返回新的一列顯示庫存價(jià)值SELECTProductName,UnitPrice,UnitsInStock,UnitPrice*UnitsInStockASvalueInStockFROMProducts二.WHERE子句指定查詢條件1比較運(yùn)算符比較運(yùn)算符含義=等于>不不大于<不大于>=不不大于等于<=不大于等于<>不等于!>不不不大于!<不不大于例:返回年月的定單SELECTOrderID,CustomerID,OrderDateFROMOrdersWHEREOrderDate>#1/1/96#ANDOrderDate<#1/30/96#注意:McirosoftJETSQL中,日期用‘#’定界。日期也能夠用Datevalue()函數(shù)來替代。在比較字符型的數(shù)據(jù)時(shí),要加上單引號(hào)’’,尾空格在比較中被忽視。例:WHEREOrderDate>#96-1-1#也能夠表達(dá)為:WHEREOrderDate>Datevalue(‘/1/96’)使用NOT體現(xiàn)式求反。例:查看年月日后來的定單WHERENotOrderDate<=#1/1/96#2范疇(BETWEEN和NOTBETWEEN)BETWEEN…AND…運(yùn)算符指定了要搜索的一種閉區(qū)間。例:返回年月到年月的定單。WHEREOrderDateBetween#1/1/96#And#2/1/96#3列表(IN,NOTIN)IN運(yùn)算符用來匹配列表中的任何一種值。IN子句能夠替代用OR子句連接的一連串的條件。例:要找出住在London、Paris或Berlin的全部客戶SELECTCustomerID,CompanyName,ContactName,CityFROMCustomersWHERECityIn(‘London’,’Paris’,’Berlin’)4模式匹配(LIKE)LIKE運(yùn)算符檢查一種包含字符串?dāng)?shù)據(jù)的字段值與否匹配一指定模式。LIKE運(yùn)算符里使用的通配符通配符含義?任何一種單一的字符*任意長(zhǎng)度的字符#0~9之間的單一數(shù)字[字符列表]在字符列表里的任一值[!字符列表]不在字符列表里的任一值-指定字符范疇,兩邊的值分別為其上下限例:返回郵政編碼在()-0000到()-9999之間的客戶SELECTCustomerID,CompanyName,City,PhoneFROMCustomersWHEREPhoneLike‘(171)555-####’LIKE運(yùn)算符的某些樣式及含義樣式含義不符合LIKE‘A*’A后跟任意長(zhǎng)度的字符Bc,c255LIKE’[*]’5*5555LIKE’?5’5與之間有任意一種字符55,5wer5LIKE’##5’5235,5kd5,5346LIKE’[a-z]’a-z間的任意一種字符5,%LIKE’[!0-9]’非-9間的任意一種字符0,1LIKE’[[]’1,*三.用ORDERBY子句排序成果ORDER子句按一種或多個(gè)(最多個(gè))字段排序查詢成果,能夠是升序(ASC)也能夠是降序(DESC),缺省是升序。ORDER子句普通放在SQL語句的最后。ORDER子句中定義了多個(gè)字段,則按照字段的先后次序排序。例:SELECTProductName,UnitPrice,UnitInStockFROMProductsORDERBYUnitInStockDESC,UnitPriceDESC,ProductNameORDERBY子句中能夠用字段在選擇列表中的位置號(hào)替代字段名,能夠混合字段名和位置號(hào)。例:下面的語句產(chǎn)生與上列相似的效果。SELECTProductName,UnitPrice,UnitInStockFROMProductsORDERBY1DESC,2DESC,3四.運(yùn)用連接關(guān)系實(shí)現(xiàn)多表查詢例:找出同一種都市中供應(yīng)商和客戶的名字SELECTCustomers.CompanyName,Suppliers.ComPany.NameFROMCustomers,SuppliersWHERECustomers.City=Suppliers.City例:找出產(chǎn)品庫存量不不大于同一種產(chǎn)品的定單的數(shù)量的產(chǎn)品和定單SELECTProductName,OrderID,UnitInStock,QuantityFROMProducts,[OrderDeails]WHEREPductID=[OrderDetails].ProductIDANDUnitsInStock>Quantity另一種辦法是用MicrosofJETSQL獨(dú)有的JNNERJOIN語法:FROMtable1INNERJOINtable2ONtable1.field1comparisiontable2.field2其中comparision就是前面WHERE子句用到的比較運(yùn)算符。SELECTFirstName,lastName,OrderID,CustomerID,OrderDateFROMEmployeesINNERJOINOrdersONEmployees.EmployeeID=Orders.EmployeeID注意:INNERJOIN不能連接MemoOLEObjectSingleDouble數(shù)據(jù)類型字段。在一種JOIN語句中連接多個(gè)ON子句語法:SELECTfieldsFROMtable1INNERJOINtable2ONtable1.field1compoprtable2.field1ANDONtable1.field2compoprtable2.field2ORONtable1.field3compoprtable2.field3也能夠SELECTfieldsFROMtable1INNERJOIN(table2INNERJOIN[(]table3[INNERJOER][(]tablex[INNERJOIN]ONtable1.field1compoprtable2.field1ONtable1.field2compoprtable2.field2ONtable1.field3compoprtable2.field3外部連接返回更多統(tǒng)計(jì),在成果中保存不匹配的統(tǒng)計(jì),不管存不存在滿足條件的統(tǒng)計(jì)都要返回另一側(cè)的全部統(tǒng)計(jì)。FROMtable[LEFT|RIGHT]JOINtable2ONtable1.field1comparisiontable.field2用左連接來建立外部連接,在體現(xiàn)式的左邊的表會(huì)顯示其全部的數(shù)據(jù)例:不管有無定貨量,返回全部商品SELECTProductName,OrderIDFROMProductsLEFTJOINOrdersONProducts.PrductsID=Orders.ProductID右連接與左連接的差別在于:不管左側(cè)表里有無匹配的統(tǒng)計(jì),它都從左側(cè)表中返回全部統(tǒng)計(jì)。例:如果想理解客戶的信息,并統(tǒng)計(jì)各個(gè)地區(qū)的客戶分布,這時(shí)能夠用一種右連接,即使某個(gè)地區(qū)沒有客戶,也要返回客戶信息??罩挡粫?huì)互相匹配,能夠通過外連接才干測(cè)試被連接的某個(gè)表的字段與否有空值。SELECT*FROMtalbe1LEFTJOINtable2ONtable1.a=table2.c1連接查詢中使用Iif函數(shù)實(shí)現(xiàn)以值顯示空值Iif體現(xiàn)式:Iif(IsNull(Amount,0,Amout)例:無論定貨不不大于或不大于¥,都要返回一種標(biāo)志。Iif([Amount]>50,?Bigorder?,?Smallorder?)五.分組和總結(jié)查詢成果在SQL的語法里,GROUPBY和HAVING子句用來對(duì)數(shù)據(jù)進(jìn)行匯總。GROUPBY子句指明了按照哪幾個(gè)字段來分組,而將統(tǒng)計(jì)分組后,用HAVING子句過濾這些統(tǒng)計(jì)。GROUPBY子句的語法SELECTfidldlistFROMtableWHEREcriteria[GROUPBYgroupfieldlist[HAVINGgroupcriteria]]注:MicrosoftJet數(shù)據(jù)庫Jet不能對(duì)備注或OLE對(duì)象字段分組。GROUPBY字段中的Null值以備分組但是不能被省略。在任何SQL累計(jì)函數(shù)中不計(jì)算Null值。GROUPBY子句后最多能夠帶有十個(gè)字段,排序優(yōu)先級(jí)按從左到右的次序排列。例:在‘WA’地區(qū)的雇員表中按頭銜分組后,找出含有同等頭銜的雇員數(shù)目不不大于人的全部頭銜。SELECTTitle,Count(Title)asTotalFROMEmployeesWHERERegion=‘WA’GROUPBYTitleHAVINGCount(Title)>1JETSQL中的聚積函數(shù)聚集函數(shù)意義SUM()求和AVG()平均值COUNT()體現(xiàn)式中統(tǒng)計(jì)的數(shù)目COUNT(*)計(jì)算統(tǒng)計(jì)的數(shù)目MAX最大值MIN最小值VAR方差STDEV原則誤差FIRST第一種值LAST最后一種值六.用Parameters聲明創(chuàng)立參數(shù)查詢Parameters聲明的語法:PARAMETERSnamedatatype[,namedatatype[,…]]其中name是參數(shù)的標(biāo)志符,能夠通過標(biāo)志符引用參數(shù).Datatype闡明參數(shù)的數(shù)據(jù)類型.使用時(shí)要把PARAMETERS聲明置于任何其它語句之前.例:PARAMETERS[Lowprice]Currency,[Beginningdate]datatimeSELECTOrderID,OrderAmountFROMOrdersWHEREOrderAMount>[lowprice]ANDOrderDate>=[Beginningdate]七.功效查詢所謂功效查詢,事實(shí)上是一種操作查詢,它能夠?qū)?shù)據(jù)庫進(jìn)行快速高效的操作.它以選擇查詢?yōu)槟康?挑選出符合條件的數(shù)據(jù),再對(duì)數(shù)據(jù)進(jìn)行批解決.功效查詢涉及更新查詢,刪除查詢,添加查詢,和生成表查詢.1更新查詢UPDATE子句能夠同時(shí)更改一種或多個(gè)表中的數(shù)據(jù).它也能夠同時(shí)更改多個(gè)字段的值.更新查詢語法:UPDATE表名SET新值WHERE準(zhǔn)則例:英國(guó)客戶的定貨量增加%,貨運(yùn)量增加%UPDATEOEDERSSETOrderAmount=OrderAmount*1.1Freight=Freight*1.03WHEREShipCountry=‘UK’2刪除查詢DELETE子句能夠使顧客刪除大量的過時(shí)的或冗于的數(shù)據(jù).注:刪除查詢的對(duì)象是整個(gè)統(tǒng)計(jì).DELETE子句的語法:DELETE[表名.*]FROM來源表WHERE準(zhǔn)則例:要?jiǎng)h除全部年前的定單DELETE*FROMOrdersWHEREOrderData<#94-1-1#3追加查詢INSERT子句能夠?qū)⒁环N或一組統(tǒng)計(jì)追加到一種或多個(gè)表的尾部.INTO子句指定接受新統(tǒng)計(jì)的表valueS核心字指定新統(tǒng)計(jì)所包含的數(shù)據(jù)值.INSERT子句的語法:INSETRINTO目的表或查詢(字段,字段,…)valueS(數(shù)值,數(shù)值,…)例:增加一種客戶INSERTINTOEmployees(FirstName,LastName,title)valueS(‘Harry’,’Washington’,’Trainee’)4生成表查詢能夠一次性地把全部滿足條件的統(tǒng)計(jì)拷貝到一張新表中.普通制作統(tǒng)計(jì)的備份或副本或作為報(bào)表的基礎(chǔ).SELECTINTO子句用來創(chuàng)立生成表查詢語法:SELECT字段,字段,…INTO新表[IN外部數(shù)據(jù)庫]FROM來源數(shù)據(jù)庫WHERE準(zhǔn)則例:為定單制作一種存檔備份SELECT*INTOOrdersArchiveFROMOrders八.聯(lián)合查詢UNION運(yùn)算能夠把多個(gè)查詢的成果合并到一種成果集里顯示.UNION運(yùn)算的普通語法:[表]查詢UNION[ALL]查詢UNION…例:返回巴西全部供應(yīng)商和客戶的名字和都市SELECTCompanyName,CityFROMSuppliersWHERECountry=‘Brazil’UNIONSELECTCompanyName,CityFROM
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 關(guān)工委工作先進(jìn)集體申報(bào)表(幼兒園)
- 2024年吉林小車客運(yùn)從業(yè)資格證考試
- 2024年寧夏駕駛員客運(yùn)資格證模擬考試題及答案詳解
- 2024年石家莊客運(yùn)資格證理論考試答題技巧
- 2024年延邊考從業(yè)資格證客運(yùn)試題
- 2024年福建客運(yùn)應(yīng)用能力考試題庫
- 2024年河南客運(yùn)從業(yè)資格證操作考試題答案
- 2024年梅州客運(yùn)資格證題庫下載
- 2025屆河南省周口市商水縣周口中英文學(xué)校高三生物第一學(xué)期期末統(tǒng)考模擬試題含解析
- 《星期日的安排》課件
- 電氣專項(xiàng)施工方案(廠房)
- 消化道出血病人護(hù)理查房課件
- 梁祝(梁山伯與祝英臺(tái))克萊德曼(原版)鋼琴雙手簡(jiǎn)譜 鋼琴譜
- 公共關(guān)系學(xué)-實(shí)訓(xùn)項(xiàng)目1:公關(guān)三要素分析
- 人教版2022年四年級(jí)上冊(cè)數(shù)學(xué)期中考試考點(diǎn)檢查試卷
- 花城版音樂八年級(jí)下冊(cè)第3單元《生死不離》教案
- GB∕T 8163-2018 輸送流體用無縫鋼管
- 南京中醫(yī)大《金匱要略》教學(xué)大綱
- 鋼混組合梁施工方案
- 課件《“多元一體”視域下的中國(guó)古代民族關(guān)系》
- 初中班主任三年工作規(guī)劃8篇
評(píng)論
0/150
提交評(píng)論