




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第1章MySQL的安裝與配 MySQL的在Windows平臺(tái)下 在Linux平臺(tái)下 MySQL的安 MySQL的配 小 第2章SQL基 SQL簡 (My)SQL使用入 SQL分 DDL語 DML語 DCL語 常用小 第3章MySQL支持的數(shù)據(jù)類 數(shù)值類 BINARY和VARBINARY類 ENUM類 SET類 小 第4章MySQL中的運(yùn)算 位運(yùn)算 小 第5章常用函 數(shù)值函 流程函 小 第6章圖形化工具的使 MySQL MySQLQuery 小 第7章表類型(引擎)的選 MySQL引擎概 小 第8章選擇合適的數(shù)據(jù)類 CHAR與 TEXT與 小 第9章字符 MySQL支持的字符集簡 MySQL字符集的設(shè) 小 第10章索引的設(shè)計(jì)和使 BTREE索引與HASH索 小 1111.1視 視圖操 刪除視 查看視 小 第12章過程和函 12.1過程和函 12.2過程和函數(shù)的相關(guān)操 12.3小 第13章觸發(fā) 小 第14章事務(wù)控制和鎖定語 小 第15章SQL中的安全問 SQL注入簡 PrepareStatement+Bind- 小 第16章SQLMode及相關(guān)問 MySQLSQLMode簡 常用的SQL SQLMode在遷移中如何使 小 第17章常用SQL技巧和常見問 巧用RAND()提取隨機(jī) 利用GROUPBY的WITHROLLUP子句做統(tǒng) 用BITGROUPFUNCTIONS做統(tǒng) 小 第18章SQL優(yōu) 優(yōu)化SQL語句的一般步 通過showstatus命令了解各種SQL的執(zhí)行頻 通過EXPLAIN分析低效SQL的執(zhí)行計(jì)劃 MySQL如何使用索 常用SQL的優(yōu) 優(yōu)化INSERT語 優(yōu)化GROUPBY語 優(yōu)化ORDERBY語句 MySQL如何優(yōu)化OR條 使用SQL提 小 第19章優(yōu)化數(shù)據(jù)庫對 小 第20章鎖問 MySQL鎖概 MyISAM表 MySQL表級(jí)鎖的鎖模 并發(fā)(Concurrent MyISAM的鎖調(diào) InnoDB鎖問 小 第21章優(yōu)化MySQL mit的設(shè) 小 第22章磁盤I/O問 常見RAID級(jí)別及其特 如何選擇RAID級(jí) 使用SymbolicLinks分布 操作系統(tǒng)更新文件的atime屬 小 第23章應(yīng)用優(yōu) 減少對MySQL的 增加CACHE 小 第24章MySQL高級(jí)安裝和升 Linux/UNIX下的安 安裝RPM 升級(jí) MySQL降 小 第25章MySQL中的常用工 mysql(客戶端連接工具 mysqlbinlog(日志管理工具 mysqldump(數(shù)據(jù)導(dǎo)出工具 mysqlimport(數(shù)據(jù)導(dǎo)入工具 mysqlshow(數(shù)據(jù)庫對象查看工具 小 第26章MySQL日 日志的 日志的 日志的 小 第27章備份與恢 備 導(dǎo) 導(dǎo) 小 第28章MySQL權(quán)限與安 MySQL權(quán)限管 MySQL安全問 safe-user- secure- skip-grant- skip- skip-show- 小 第29章MySQL 主要啟動(dòng)選 log-slave- master-connect- slave-skip- 日常管理 logevententryexceededmax_allowed_packet的處 多主時(shí)的自增長變量問 小 第30章MySQL MySQLCluster架 MySQLCluster的配 MySQLCluster的版本支 Cluster 小 第31章MySQL常見問題和應(yīng)用技 忘記MySQL的root MyISAM表超過4GB無法的問 DNS反向解析的問 小 第1章MySL的安裝與配優(yōu)點(diǎn),開源數(shù)據(jù)庫在中應(yīng)用上占據(jù)了很大的市場份額,而MySQL正是開源數(shù)據(jù)庫中的65536TBMySQL的發(fā)展非常迅猛,目前已經(jīng)MySQL用戶通??梢缘桨姹镜腗ySQL數(shù)據(jù)庫。按照用戶群分類,MySQL數(shù)據(jù)庫目前分為社區(qū)版(CommunityServer)和企業(yè)版(Enterprise,它們最重要的版,5.1和6.0都還是測試版,這些不同版本之間的主要區(qū)別如表1-1所示。 MySQL不同版本之間的重要改增加了子查詢的支持;字符集中增加了對UTF8的支增加了視圖、過程、觸發(fā)器的支持,增加了INFORMATION_SCHEMA系統(tǒng)數(shù)據(jù)FALCON引擎的支Debug:和Standard類似,但是包括了一些調(diào)試信息,會(huì)影響系統(tǒng)性能,所以不用包和圖形化安裝包以及Linux平臺(tái)下的RPM包為例,來說明MySQL的、安裝、配置、 在Windows平臺(tái)下打開瀏覽器,在地址欄中輸入ht C:\” 圖1-1Withoutinstaller(unzipin 在Linux平臺(tái)下在Linux平臺(tái)下,要MySQL可以采用以下兩種方法打開瀏覽器,在地址欄中輸入ht 開MySQL頁面,單擊“RedHatEnterpriseLinux3RPM(x86)downloads”下的“Server” irror”來選擇一個(gè)鏡像站點(diǎn)進(jìn)行,如圖1-2所示。圖1-2Server和將后的文件用FTP等工具傳送到Linux服務(wù)器上即可框中顯示的“地址”信息即是URL)1-3所示。圖1-3地址的Server=> ...Connectingto |9|:80...connected.HTTPreques t,awaitingresponse...302Found 6.rpm =>` Resolving.tw...C.tw||:80...connected.HTTPreques t,awaitingresponse...200OKLength:18,092,605(17M) ======>]======>] ETA => ...Connectingto |9|:80...connected.HTTPreques t,awaitingresponse...302Found 6.rpm =>` Resolving.tw...C.tw||:80...connected.HTTPreques t,awaitingresponse...200OKLength:6,257,771(6.0M)======>] ETA10:48:05(838.78KB/s)`munity-5.0.45-0.rhel3.i386.rpm.1' Windows平臺(tái)下安noinstall安在Windows平臺(tái)下安裝MySQL,其安裝步驟非常簡單:將的文件mysql-noinstall-5.0.45-win32.zip放到自定義安裝下,再用WinRAR等壓縮工具解壓即可。本例中解壓到C:\下,如圖1-4所示。1-4用WinRAR解壓noinstall包到c:\ c:\雙擊位于c:\setup.exe文件,進(jìn)入MySQL1-51-5MySQL1-6選擇MySQLTypical表示一般常用的組件都會(huì)被安裝,默認(rèn)情況下安裝到c:\ProgramFiles\MySQL\MySQLServer5.0下,建議大多數(shù)情況下選擇此安裝套件。1-7MySQLMySQLEnterprise版(企業(yè)版)1-9所示,可以單擊“Next”按1-8MySQL1-9MySQLEnterprise1-10MySQL“ConfiguretheMySQLServernow”復(fù)選框。如果想以后再配置,則取消復(fù)選框的選中取消選中狀態(tài),后面再進(jìn)行配置的介紹。至此,MySQL安裝完畢,Windows的“所有程序”菜單中已經(jīng)多了“MySQL”一項(xiàng),如圖1-11所示。1-11MySQLLinux平臺(tái)LinuxWindowsLinux平臺(tái)下進(jìn)行MySQL的安裝,其他安裝方式還會(huì)在本書第4篇的第24章中進(jìn)行詳細(xì)介紹。RPMRedhatPackageManage的縮寫,透過RPMSourceCode包裝成一種Source和Binary的形式,更加便于安裝。MySQL的RPM括很多套件,一般只安裝Server和Client就可以了。其中Server包是MySQL服務(wù)端套件,為用戶提供的MySQL服務(wù);Client包是連接MySQL服務(wù)的客戶端工具,方便管理員和開發(fā)在服務(wù)器[zzx@bj52zzx]$[zzx@bj52zzx]$[root@localhost[root@localhostzzx]#rpm-munity-5.0.45-munity-5.0.45-0.rhel3.i386.rpm:V3DSAsignature:NOKEY,key###########################################munity###########################################PLEASEREMEMBERTO SWORDFORTHEMySQLrootUSERToTodoso,starttheserver,thenissuethefollowing/usr/bin/mysqladmin-urootpassword /usr/bin/mysqladmin-uroot-hSeethemanualformorepasswordPleasereportanyproblemswiththe/usr/bin/mysqlbugThelatestinformationaboutMySQLisavailableonthewebSupportMySQLbybuyingsupport/licensesathttStartingMySQL[OK][root@localhostzzx]#rpm[root@localhostzzx]#rpm-munity-5.0.45-munity-5.0.45-0.rhel3.i386.rpm:V3DSAsignature:NOKEY,key###########################################munity###########################################最后運(yùn)行[root@localhost[root@localhostzzx]#mysql-etotheMySQLmonitor.Commandsendwith;orYourMySQLconnectionidisServer munityMySQLCommunityEditionType'help;'or'\h'forhelp.Type'\c'toclearthe注注意:在Server安裝過程中有時(shí)候會(huì)提示缺少perl-DBI-1.40-8.i386rpm,這時(shí)就需要先 裝包 地址為ftp://ftp.chg.ru/pub/Linux/scientific/43/i386/SL/RPMS/perl-DBI-1.40-8.i386rpmMySQLMySQL服務(wù),而不需要設(shè)置參數(shù)。因?yàn)閃indows和Linux兩種平臺(tái)下的配置方法進(jìn)行介紹。Windows平臺(tái)對于noinstall方式安裝的MySQL,系統(tǒng)的參數(shù)配置、服務(wù)的啟動(dòng)關(guān)閉都需要手工在命令窗口中進(jìn)行設(shè)置。參數(shù)文件可以在多個(gè)位置進(jìn)行設(shè)置,這里用一個(gè)c:\ f來進(jìn)行操作,其他更詳細(xì)的參數(shù)位置可以參考第24章中的參數(shù)設(shè)置方法。對于初學(xué)者來說,f并不知道該怎樣配置。MySQL為用戶提供了幾個(gè)樣例文件,位于解壓后的下,文件名類似于my-***.ini,其中“***”分別代表了不同的環(huán)境特點(diǎn),例如my-small.ini、my-large.ini分別代表了此文件適合于小型數(shù)據(jù)庫和大型數(shù)據(jù)庫,下面是一個(gè)#ExampleMySQLconfigfileforsmallsystems.#Thisisforasystemwithlittlememory(<=64M)whereMySQLisonlyused#fromtimetotimeandit'simportantthatthemysqlddaemon#doesn'tusemuch#ThefollowingoptionswillbepassedtoallMySQL#password=your_password =3306 =#Herefollowsentriesforsomespecificprograms#TheMySQLserver = =/tmp/mysql.sockkey_buffer=16Kmax_allowed_packet=1Mtable_cache=4sort_buffer_size=64Kread_buffer_size=256Kread_rnd_buffer_size=256Knet_buffer_length=2Kthread_stack=64Kmax_allowed_packet=16Mno-auto-key_buffer=8Msort_buffer_size=8Mkey_buffer=8Msort_buffer_size=8Minteractive-上面樣例中的粗體代表了不同方面的參數(shù),通常配置最多的是[mysqld],也就是服務(wù)器參數(shù)。如果將選擇的my-***.ini文件另存為c:\ f文件,則MySQL實(shí)例啟動(dòng)的時(shí)對于圖形化的安裝方式,MySQL提供了一個(gè)圖形化的實(shí)例配置向?qū)?,可以引?dǎo)用戶逐步進(jìn)ServerInstanceConfigurationWizard”菜單,進(jìn)入歡迎界面,如圖1-12所示。1-12MySQL1-13MySQLConfiguation1-14MySQL這里選擇“DeveloperMachine”單選按鈕,單擊“Next”按鈕,進(jìn)入數(shù)據(jù)庫用途選擇界面,如圖1-15所示。1-15MySQLNon-TransactionalDatabaseOnly(非事務(wù)型數(shù)據(jù)庫 1-16MySQLInnoDBInnoDB的數(shù)據(jù)文件會(huì)在數(shù)據(jù)庫第一次啟動(dòng)的時(shí)候進(jìn)行創(chuàng)建,默認(rèn)會(huì)創(chuàng)建在MySQL的安裝目1-17MySQLPocessing(TP(選擇“DecisionSupport(DSS)/OLAP”單選按鈕后,單擊“Next”按鈕,進(jìn)入網(wǎng)絡(luò)選項(xiàng)設(shè)置,如果1-18所示。1-18MySQL本界面中主要設(shè)置MySQL服務(wù)的端,選項(xiàng)“EnableTCP/IPNetworking”表示是否運(yùn)行TCP/IP連接,而選項(xiàng)“EnableStrictMode”表示是否采用嚴(yán)格模式來啟動(dòng)服務(wù),至于MySQL的模式,將在本書的第16章中詳細(xì)介紹。選擇“EnableTCP/IPNetworking”和“EnableStrictMode”復(fù)選框后,單擊“Next”按鈕,進(jìn)入默認(rèn)字符集選擇界面,如圖1-19所示。1-19MySQLManualSelectedDefaultCharacterSet/Collation(手工選擇字符集。關(guān)于字符集,將會(huì)在第9章中詳細(xì)介紹。置界面,如圖1-20所示。1-20MySQL相關(guān)的Windows這個(gè)界面上部是設(shè)置MySQLWindows的一個(gè)服務(wù),如果是,設(shè)置一個(gè)服務(wù)名稱并下面的“IncludeBinDirectoryinWindowsPATHMySQLBin是否寫入Windows的PATH中,這里選中該復(fù)選框。 MySQL的安全設(shè)修改默認(rèn)root,因?yàn)槟J(rèn)的root是空,因此建議用戶一定要修改;“CreateAnAnonymousAccount”復(fù)選框確定是否創(chuàng)建一個(gè)用戶,建議用戶不要?jiǎng)?chuàng)建,因?yàn)檫@樣會(huì)1-221-23MySQL單擊“Finish”按鈕后,安裝過程全部完成。這個(gè)時(shí)候可以發(fā)現(xiàn),Windows的服務(wù)列表中已經(jīng)增加了“MySQL5”這一項(xiàng),如圖1-24所示??梢酝ㄟ^啟動(dòng)停止這個(gè)服務(wù)來啟動(dòng)和關(guān)MySQL。1-24WindowLinux平臺(tái)下文件名不同。Linux下也可以在多個(gè)位置部署配置文件,大多數(shù)情況下都放在/etc下,文件名稱只能是f(Windowsmy.ini。Windows下類似,還是建議用MySQL自帶的多個(gè)樣例參數(shù)文件來代替實(shí)際的參數(shù)文件。在Linux下,如果安裝方式是RPM包,則自帶的參數(shù)文件會(huì)放到[root@localhostmysql]#[root@localhostmysql]#[root@localhostmysql]#ls*.cnffmy- fffcp到/etc下,改名為f,并根據(jù)實(shí)際需要做一些配置的改動(dòng)。MySQL啟動(dòng)的時(shí)候會(huì)此文件中的配置選項(xiàng)。MySQLMySQL服務(wù)了。這里強(qiáng)調(diào)一下,MySQL服務(wù)和MySQL數(shù)據(jù)庫不同,MySQL服務(wù)是一系列進(jìn)程,而MySQL數(shù)據(jù)庫則是一系列的數(shù)據(jù)目錄和數(shù)據(jù)文件;MySQL數(shù)據(jù)庫必須在MySQL服務(wù)啟動(dòng)之后才可以進(jìn)行。下面就針對Windows和Linux兩種平臺(tái),介紹一下MySQL服務(wù)的啟動(dòng)和關(guān)閉方法。 Windows平臺(tái)下啟動(dòng)和關(guān)閉MySQL服cdcdC:\mysql-5.0.45-C:\mysql-5.0.45-win32\bin>mysqldC:\mysql-5.0.45-win32\bin>mysqld--07070317:19:10InnoDB:Started;logsequencenumber04365507070317:19:10[Note]mysqld:readyforconnections.Version: munity-nt'socket:''port:3306MySQLCommunityC:\mysql-5.0.45-win32\bin>mysqladminC:\mysql-5.0.45-win32\bin>mysqladmin-uroot07070317:21:13[Note]mysqld:Normal07070317:21:13InnoDB:Starting07070317:21:16InnoDB:Shutdowncompleted;logsequencenumber007070317:21:16[Note]mysqld:ShutdownErrorinmy_thread_global_end():1threadsdidn't,如圖1-25服務(wù)列表中啟動(dòng)和關(guān)閉用戶也可以在命令行中手工啟動(dòng)和關(guān)閉MySQLC:\ProgramC:\ProgramFiles\MySQL\MySQLServer5.0\bin>netstartmysql5MySQL5服務(wù)正在啟動(dòng).C:\ProgramC:\ProgramFiles\MySQL\MySQLServer5.0\bin>netstopmysql5MySQL5服務(wù)正在停止. 在Linux平臺(tái)下啟動(dòng)和關(guān)閉MySQL服 [ACC [ACC[root@localhostbin]#netstat-nlpActiveInternetconnections(onlyservers)ProtoRecv-QSend-QLocalAddress ForeignAddress PID/Programname 0 0 Active sockets(only t I-NodePID/Program [ACC 16537243其中3306端口就是MySQL服務(wù) WindowsLinuxMySQL也有兩種方法,一種是通過在命令行方式下,啟動(dòng)和關(guān)閉MySQL[root@localhostbin]#cd/usr/bin[root@localhost[root@localhostbin]#cd/usr/bin[root@localhostbin]#./mysqld_safe&[1][root@localhostbin]#Startingmysqlddaemonwithdatabasesfrom[root@localhostbin]#[root@localhostbin]#mysqladmin-uroot serverfrompidfile07082004:36:30mysqld[1]+MySQLRPM包安裝的,則啟動(dòng)和關(guān)閉MySQL[root@localhostzzx]#[root@localhostzzx]#servicemysqlStartingMySQL[OK[root@localhost[root@localhostmysql]#servicemysqlrestartShuttingdownMySQL..[OK]StartingMySQL[OK[root@localhost[root@localhostbin]#servicemysql07072706:30:31mysqld[OK[1]+而是記錄在安裝下的data里面,文件名字一般是hostname.err,可以通過此文件查看MySQL的控制臺(tái)信息本章以Windows平臺(tái)和Linux平臺(tái)為例講述了MySQL在不同操作系統(tǒng)平臺(tái)上的、安裝、424章中,將會(huì)對Linux下的二進(jìn)制包和源碼包進(jìn)行詳細(xì)的介紹。 第2 標(biāo)準(zhǔn)SQL的使用,又能夠?qū)W習(xí)到MySQL中一些擴(kuò)展SQL的使用方法。SQL作,這個(gè)時(shí)候,就要用到SQL語言了。SQLStructureQueryLanguage(結(jié)構(gòu)化查詢語言)的縮寫,它是使用關(guān)系模型的數(shù)據(jù)庫應(yīng)1986SQL-86SQL作為標(biāo)準(zhǔn)關(guān)系數(shù)據(jù)庫語言的地位得到了加強(qiáng)。SQL標(biāo)準(zhǔn)目前已幾經(jīng)修改更趨完善。SQLSQL語言,它已經(jīng)發(fā)展SQLMySQL的SQL分DDL(DataDefinitionLanguages)語句:數(shù)據(jù)定義語言,這些語句定義了不同的數(shù)據(jù)段、DML(DataManipulationLanguage)語句:數(shù)據(jù)語句,用于添加、刪除、更新和查selectDCL(DontrolLanguage)語句:數(shù)據(jù)控制語句,用于控制不同數(shù)據(jù)段直接的和grant、revokeDDL語創(chuàng)建[mysql@db3~]$mysql-uroot[mysql@db3~]$mysql-uroot-pEnterpassword:etotheMySQLmonitor.Commandsendwith;orYourMySQLconnectionidis7344941toserverversion:5.1.9-beta-logType'help;'or'\h'forhelp.Type'\c'toclearthebuffer.自動(dòng)加1,本例中是7344941。版,則會(huì)用Standard代替Beta。通過“help;”或者“\h”命令來顯示幫助內(nèi)容,通過“\cbuffer。mysql>createdatabasemysql>createdatabaseQueryOK,1rowaffected(0.00查詢操作,為什么顯示查詢成功?其實(shí)這是MySQLDDLDML(不包mysql>createmysql>createdatabaseERROR1007(HY000):Can'tcreatedatabase'test1';databasemysql>showmysql>show | |information_schema| | | | 5rowsinset(0.00USEUSEmysql>usemysql>useDatabasemysql>showEmptymysql>showEmptyset(0.00操作的結(jié)果集為空。如果查看一下mysql數(shù)據(jù)庫里面的表,則可以得到以下信息:mysql>usemysql>useDatabasechangedmysql>showtables;+|+|||||||||||||||||||+|+||||||||||||||||||||time_zone_transition_type| 21rowsinset(0.00mysql>dropdatabasemysql>showcreatetableemp***************************1.row***************************Table:empCreateTable:mysql>showcreatetableemp***************************1.row***************************Table:empCreateTable:CREATETABLE`emp``ename`varchar(20)DEFAULT`hiredate`dateDEFAULT`sal`decimal(10,2)DEFAULT`deptno`int(2)DEFAULTMySQL里面,drop語句操作的結(jié)果顯示都是“0rowsaffected”。創(chuàng)建 constraints,MySQL的表名是以的形式存在于磁盤上,所以表名的字符可以用任何名允許mysql>createtableemp(enamevarchar(10),hiredatedate,saldecimal(10,2),deptnoQueryOK,0rowsaffected(0.02hiredat(mysql>createtableemp(enamevarchar(10),hiredatedate,saldecimal(10,2),deptnoQueryOK,0rowsaffected(0.02mysql>desc+|mysql>desc+|+|+|+|+++++|Null|Key|Default|Extra|hiredate|+|||||decimal(10,2)|||+||||++||||||||+||||+++++++4rowsinset(0.00DESCdesc命令可以查看表定義,但是其輸出的信息還是不夠全面,為了查看更全面的表定義信息,有時(shí)就需要通過查看創(chuàng)建表的SQL語句來得到,可以使用如下命令實(shí)現(xiàn):KEY`idx_emp_ename`)ENGINE=InnoDBDEFAULT1rowinset(0.02KEY`idx_emp_ename`)ENGINE=InnoDBDEFAULT1rowinset(0.02Noquery刪除例如,要?jiǎng)h除數(shù)據(jù)庫empmysql>mysql>droptableQueryOK,0rowsaffected(0.00修改(drop |AFTERmysql>mysql>desc+|+|+|+|+++++|Null|Key|Default|Extra|hiredate|+|||||decimal(10,2)|||+||||++||||||||+||||+++++++4rowsinset(0.00mysql>altertableempmodifyenamevarchar(20);QueryOK,0rowsaffected(0.03sec)mysql>mysql>descRecords:Records:0Duplicates:0Warnings:mysql>desc+|+|+|+|+++++|Null|Key|Default|Extra|hiredate|+|||||decimal(10,2)|||+||||++||||||||+||||+++++++4rowsinset(0.00 |AFTERmysql>mysql>desc+|+|+|+|+++++|Null|Key|Default|Extra|hiredate|+|||||decimal(10,2)|||+||||++||||||||+||||+++++++4rowsinset(0.00mysql>altertableempaddcolumnageQueryOK,0rowsaffected(0.03sec)Records:0Duplicates:0Warnings:mysql>desc+|+|+|+|+++++|Null|Key|Default|Extra|hiredate|+|||||+|decimal(10,2)|||+||++|||||++|||||++|||||++|||||+5rowsinset(0.00例如,將字段age刪除掉:++|+|+|+|+++++|Null|Key|Default|Extra|hiredate|+||||||decimal(10,2)|||||+|||||+|||||+|||||+|||||+++++++5rowsinset(0.00mysql>altertableempdropcolumnage;QueryOK,0rowsaffected(0.04sec)Records:0Duplicates:0Warnings:0mysql>desc+|+|+|+|+++++|Null|Key|Default|Extra|hiredate|+|||||decimal(10,2)|||+||||++||||||||+||||+++++++4rowsinset(0.00 |AFTERcol_name]mysql>desc+|++|++++++|Null|Key|Default|Extra+++++| | ||hiredate| ||||+|decimal(10,2)|||+||+|||||+||||||||||++|||||+mysql>altertableempchangeageage1int(4)QueryOK,0rowsaffected(0.02sec)Records:0Duplicates:0Warnings:0mysql>desc->++|+|+|+|+++++|Null|Key|Default|Extra|hiredate|+||||||decimal(10,2)|||||+|||||++|||||++|||||+++++|||||+5rowsinset(0.00注意:注意:change和modify都可以修改表的定義,不同的是change后面需要寫兩次列名,不方便。但是change的優(yōu)點(diǎn)是可以修改列名稱,modify則不能。前面介紹的的字段增加和修改語法(AHGE/MODIFY)中,都有一個(gè)可選項(xiàng)|aftercolumn_nameADD增加的新字段是加在表的最后位置,而CHANGE/MODIFY默認(rèn)都不會(huì)改變字段的位置。mysql>desc+|+mysql>desc+|++|++++++|Null|Key|Default|Extra+++++| | ||hiredate| |||||decimal(10,2)||||||||||||||||||||||||| 5rowsinset(0.00mysql>altertableempaddbirthdateafterQueryOK,0rowsaffected(0.03sec)Records:0Duplicates:0Warnings:mysql>desc+|+||+|+||+++++|Null|Key|Default|Extra|hiredate|+||||||+|decimal(10,2)|||+||++||||||++||||||++||||||++||||||+66rowsinset(0.00mysql>altertablemysql>altertableempmodifyageQueryOK,0rowsaffected(0.03sec)Records:0Duplicates:0Warnings:;mysql>desc+|++|++++++|Null|Key|Default|Extra+++++| | || | || | ||hiredate| |||+|decimal(10,2)||+|+||||||+||||||+||||||+||||||+6rowsinset(0.00|AFTERCOLUMN這些關(guān)鍵字都屬于MySQL在標(biāo)準(zhǔn)SQL上的擴(kuò)展, tablenameRENAME[TO] mysql>altertableemprenameQueryOK,mysql>altertableemprenameQueryOK,0rowsaffected(0.00mysql>descERROR1146(42S02):Table'sakila.emp'doesn'texistmysql>descemp1;+|+|||+|+|||+++++|Null|Key|Default|Extra|hiredate|+||||||+|decimal(10,2)||+|++||||||++||||||++||||||++||||||+6rowsinset(0.00DML(insert(updte(select記 mysql>insertmysql>insertintoemp(ename,hiredate,sal,deptno)values('zzx1','2000-01-QueryOK,1rowaffected(0.00mysql>mysql>insertintoempvalues('lisa','2003-02-QueryOK,1rowaffected(0.00里面出現(xiàn),valuesvalueNULL、默認(rèn)值、自增的下一個(gè)數(shù)字,這樣在某些情況下可以大大縮短SQL語句的復(fù)雜性。mysql>mysql>select*from+|+||+|++|+++|deptno|2000-01-01||2003-02-01||bjguan|2004-04-02|+||||dony| |1000.00 +121NULL+mysql>insertintoemp(ename,sal)QueryOK,1rowaffected(0.00INSERT ;INSERT ;下面的例子中,對表dept一次兩條記錄:mysql>mysql>insertintodeptvalues(5,'dept5'),(6,'dept6');QueryOK,2rowsaffected(0.04sec)Records:2Duplicates:0Warnings:mysql>mysql>select*from |deptno|deptname | | | | | | | | | | +++5rowsinset(0.00這個(gè)特性可以使得MySQL更新例如,將表empename為“l(fā)isa”的薪水(sal)3000mysql>mysql>updateempsetsal=4000whereename='lisa';QueryOK,1rowaffected(0.00sec)Rowsmatched:1Changed:1Warnings: [WHEREmysql>select*from+|mysql>select*from+|+||+|++|+++|deptno|2000-01-01||2003-02-01||bjguan|2004-04-02|+||||+|2005-02-05|2000.00|++++||||+4rowsinset(0.00mysql>select*from |deptno|deptname | | | | | | 33rowsinset(0.00 QueryOK,3rowsaffected(0.04sec)Rowsmatched:5Changed:3Warnings:0mysql>select*from+|+||+|++|+++|deptno|2000-01-01||2003-02-01||bjguan|2004-04-02|+||||+|2005-02-05|2000.00|++++||||+4rowsinset(0.01mysql>select*from |deptno|deptname | | | | | | 3rowsinset(0.00 刪除DELETEFROMtablenameDELETEFROMtablename[WHEREmysql>deletemysql>deletefromempwhereQueryOK,1rowaffected(0.00DELETEDELETEt1,t2…tnFROMt1,t2…tn[WHEREmysql>select*from在下例中,將表empmysql>select*from |ename| | |deptno | |2000-01-01|100.00| | |2003-02-01|200.00| |bjguan|2004-04-02|100.00| |bzshen|2005-04-01|300.00| | |2005-02-05|2000.00| 5rowsinset(0.00mysql>select*from |deptno|deptname | | | | | | | | 4rowsinset(0.00mysql>deletea,bfromempa,deptbwherea.deptno=b.deptnoanda.deptno=3;QueryOK,2rowsaffected(0.04sec)mysql>select*from |ename| | |deptno | |2000-01-01|100.00| | |2003-02-01|200.00| |bjguan|2004-04-02|100.00| | |2005-02-05|2000.00| 4rowsinset(0.00mysql>select*from |deptno|deptname | | | | | | ++++3rowsinset(0.00 查詢SELECT*FROMtablename[WHERESELECT*FROMtablename[WHEREmysql>select*mysql>select*from+|+||+|++|+++|deptno+|2000-01-01|2000.00||2003-02-01|4000.00||bjguan|2004-04-02|5000.00| +|||+3rowsinset(0.00mysql>mysql>select*from+|+||+|++|+++|deptno+|2000-01-01|2000.00||2003-02-01|4000.00||bjguan|2004-04-02|5000.00| +|||+3rowsinset(0.00mysql>mysql>selectename,hiredate,sal,deptnofrom+|+||+|++|+++|deptno+|2000-01-01|2000.00||2003-02-01|4000.00||bjguan|2004-04-02|5000.00| +|||+3rowsinset(0.00mysql>selectename,hiredate,sal,deptnomysql>selectename,hiredate,sal,deptnofrom+|+||+|++|+++|deptno+|2000-01-01|2000.00||2003-02-01|4000.00||bjguan|2004-04-02|5000.00| +|||+3rowsinset(0.00mysql>selectdistinctdeptnofrom |deptno | | 2rowsinset(0.00mysql>select*from+|mysql>select*from+|+||+|++|+++|deptno+|2000-01-01|2000.00||2003-02-01|4000.00||bjguan|2004-04-02|5000.00| +|||+3rowsinset(0.00mysql>select*fromempwhere+|+|+|++|+++|deptno+|2000-01-01|2000.00||bjguan|2004-04-02|5000.00| +||+2rowsinset(0.00結(jié)果集中將符合條件的記錄列出來。上面的例子中,where后面的條件是一個(gè)字段的‘=’用or、and等邏輯運(yùn)算符進(jìn)行多條件聯(lián)合查詢,運(yùn)算符會(huì)在以后章節(jié)中詳細(xì)講解。mysql>mysql>select*fromempwheredeptno=1and +|+++|+++|ename||deptno+|2000-01-01|2000.00| +|+1rowinset(0.00SELECT*FROMSELECT*FROMtablename[WHERECONDITION][ORDERBYfield1[DESC|ASC],field2[DESC|ASC],……fieldn[DESC|ASC]]其中,DESCASC是排序順序關(guān)鍵字,DESC表示按照字段進(jìn)行降序排列,ASC則表示升序排列,如果不寫此關(guān)鍵字默認(rèn)是升序排列。ORDERBY后面可以跟多個(gè)不同的排序字段,并mysql>select*mysql>select*fromemporderby+|+|+|++|+++|deptno+|2000-01-01|2000.00||bzshen|2005-04-01|3000.00|| |2003-02-01|4000.00||bjguan|2004-04-02|5000.00| +||||+4rowsinset(0.00mysql>mysql>select*fromemporderby+|+|+|++|+++|deptno+|2000-01-01|2000.00||bjguan|2004-04-02|5000.00|| |2003-02-01|4000.00||bzshen|2005-04-01|4000.00| +||||+4rowsinset(0.00mysql>select*frommysql>select*fromemporderbydeptno,sal |ename| +|+++|deptno+|bjguan|2004-04-02|5000.00|| |2000-01-01|2000.00|| |2003-02-01|4000.00||bzshen|2005-04-01|4000.00| +||||+4rowsinset(0.00SELECT……[LIMITSELECT……[LIMITmysql>select*
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 幼兒園實(shí)習(xí)老師聘用合同協(xié)議
- 區(qū)域戰(zhàn)略合作框架合同
- 房屋買賣合同補(bǔ)充協(xié)議書
- 企業(yè)短期借款合同協(xié)議
- 裝飾裝修材料供需合同范本
- 廣告公司員工培訓(xùn)合同范本
- 水資源綜合利用工程合同書
- 道路交通事故雙方和解合同書
- 農(nóng)業(yè)觀光園土地租賃合同
- 小學(xué)生每日教育課件
- 資產(chǎn)運(yùn)營總經(jīng)理崗位職責(zé)
- 2024-2025學(xué)年新教材高中英語 Unit 6 Earth first理解 課文精研讀教案 外研版必修第二冊
- 110kV變電站專項(xiàng)電氣試驗(yàn)及調(diào)試方案
- 2024時(shí)事政治必考試題庫(預(yù)熱題)
- DZ∕T 0215-2020 礦產(chǎn)地質(zhì)勘查規(guī)范 煤(正式版)
- 威圖電柜空調(diào)SK3304500使用說書
- 品質(zhì)部組織架構(gòu)圖構(gòu)
- 《無損檢測》緒論
- 中藥飲片的銷售方案
- 2024年湖南省普通高中學(xué)業(yè)水平考試政治試卷(含答案)
- 《創(chuàng)意設(shè)計(jì)》課程標(biāo)準(zhǔn)
評論
0/150
提交評論