版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
卜一頁目錄下一頁
對數(shù)據(jù)庫進行操作
我們可以對數(shù)據(jù)庫進行四種方式的操作:添加、刪除、修改和查詢(搜索)。請大家注意的是,SQL
語言和其它編程語言一樣,對命令語句的語法格式很在意,比如一個括號、逗號或分號的錯誤都會導(dǎo)致
命令無法執(zhí)行。所以一定要熟悉語法格式。
插入記錄
這里我們繼續(xù)使用前面創(chuàng)建過的數(shù)據(jù)庫作為例子:
mysql>CREATETABLEtest(
>nameVARCHAR(15).
>emailVARCHAR(25).
>phone_numberINT,
>IDINTNOTNULLAUTOJNCREMENT,
>PRIMARYKEY(ID));
使用INSERT命令插入數(shù)據(jù),將數(shù)據(jù)分別插入姓名、郵件地址、電話和ID號內(nèi)。
mysql>INSERTINTOtestVALUES
mysql>('BugsBunny',carrots@',
mysql>5554321,NULL);
結(jié)果:
QueryOK.1rowaffected(0.02sec)
mysql>
?數(shù)據(jù)類型VARCHAR的內(nèi)容必須要用單引號,所有的字符串類型數(shù)據(jù)(char,varchar,text,
blob)都必須使用單引號,否則會出錯誤信息。
?電話號碼的內(nèi)容不用單引號。整數(shù)INT類型的數(shù)據(jù)都不用單引號。
?NULL空值。為什么要在ID中插入空值?實際上該數(shù)據(jù)類型使用了AUTCUNCREMENT選
項,在插入空值時數(shù)據(jù)庫會自動將ID的值加1。比如最后一個記錄的ID值是2,那么再插入一
個記錄時,新記錄的舊值就是3。如果將空值插入TIMESTAMP類型的記錄時,那么新記錄的
TIMESTAMP值就是當(dāng)前的時間。
注意:每次插入新記錄時必須保證新記錄的值的個數(shù)與數(shù)據(jù)類型的數(shù)目一致。上面的命令中如果只
有一個值,插入命令就會出錯。
例如:
mysql>insertintotestvalues('doggy'):
ERROR1058:Columncountdoesn'tmatchvaluecount
mysql>
上一頁目錄下一頁
版權(quán)所有?2003廣州市靖康計算機科技有限公司?
ISP經(jīng)營許可證號:粵B2-20030107
24小時服務(wù)熱線:(020)88271083OICQ:33932188
通訊地址:廣州市花城大道5號南天廣場龍庭閣903郵政編碼:510623
Tel:(020)382073963820739738207399Fax:(020)38207399Email:JK恥?燈con
Jik.靖康科技
上一頁目錄下一頁
對數(shù)據(jù)庫進行操作
選取內(nèi)容
如果不能從一個數(shù)據(jù)庫搜索和提取信息,那么這個數(shù)據(jù)庫就沒有什么用處。在MySql里,這一功
能是通過SELECT命令來實現(xiàn)。
mysql>SELECT*FROMtest
mysql>WHERE(name="BugsBunny");
結(jié)果:
phone_nu1
nameemail
mberD
Bugscarrots@devshed
55543211
Bunny.com
假設(shè)我們已經(jīng)插入了多個不同的記錄,所有記錄都有相同的姓名,但有不同的郵件地址和電話號碼。
那么表test的內(nèi)容顯示如下:
phone_nu1
nameemail
mberD
Bugscarrots@devshed.
55543211
Bunnycom
Bugspeppers@devshedZ,
55543314
Bunny.com
Bugslettuce@devshed.c
5554341匚
Bunnyom
Bugscelery@devshed.c
5554351
Runnyom4
刪除
我們?nèi)绻雽⒈碇械哪承┯涗泟h除,可以使用DELETE命令:
mysql>DELETEFROMtest
mysql>WHERE(name-"BugsBunny");
結(jié)果:
test表中所有包含"BugsBunny"字段的記錄會被刪除。
例如:
mysql>DELETEFROMtest
mysql>WHERE(phone_number-5554321);
結(jié)果:
phone_nu1
nameemail
mberD
Bugspeppers@devshedZ-
55543314
Bunny.com
Bugslettuce@devshed.c
LV
5554341J
Bunnyom
Bugscelery@devshed.c
5554351
Bunnyom
修改
MySQL也提供對表中的數(shù)據(jù)進行修改的功能,該操作可以用UPDATE命令完成。
mysql>UPDAIttestStIname=DattyDuck'
mysql>WHEREname="BugsBunny";
1
phone_nu1
nameemail
mberD
lippys@cexpress.
Lippy5554331
com
lee@cexpress.co
Lee5554341s.
m
fish@cexpress.co
Fish5554351L
m
上面我們講過了對MySQL數(shù)據(jù)庫中的數(shù)據(jù)進行基本的插入、刪除、修改和查詢功能。下面將結(jié)合實際
數(shù)據(jù)庫操作的應(yīng)用,詳細講講這些命令的具體使用方法。
上一頁目錄下一頁
版權(quán)所有?2003廣州市靖康計算機科技有限公司?
ISP經(jīng)營許可證號:粵B2-20030107
24小時服務(wù)熱線:(020)88271083OICQ:33932188
通訊地址:廣州市花城大道5號南天廣場龍庭閣903郵政編碼:510623
Tel:(020)382073963820739738207399Fax:(020)38207399Email:Jl^cexpress.COG
上一頁目錄
MySQL高級命令
邏輯運算
MySQL支持所有的基本邏輯運算。
AND(&&)與
mysql>SELECT*FROMtestWHERE
mysql>(name="BugsBunny")AND
mysql>(phone_number=5554321);
結(jié)果:
所有同時包含名字"BugsBunny”和電話號碼'5554321的記錄會顯示出來。
OR(||)或
mysql>SELECT*FROMtestWHERE
mysql>(name="BugsBunny")OR
mysql>(phone_number=5554321);
結(jié)果:
所有包含名字“BugsBunny”或電話號碼’5554321的記錄會顯示出來。
NOT(!)非
mysql>SELECT*FROMtestWHERE
mysql>(name!="BugsBunny");
結(jié)果:
所有不包含名字"BugsBunny"的記錄會顯示出來。
OrderBy按序排列
mysql>SELECT*FROMtestWHERE
mysql>(name="BugsBunny")ORDERBY
mysql>phone_number;
結(jié)果:
所有包含名字“BugsBunny”的記錄會顯示出來,并以電話號碼為排序方式。
查詢功能
MySQL為用戶提供了粗略搜索和詳細搜索的選擇。
mysql>SELECT*FROMtestWHERE
mysql>(nameLIKE"%gsBunny");
結(jié)果:
顯示出來的是所有包含字符"gsBunny”的記錄,下面的字段都符合該條件「BugsBunny","agsBunny","gs
Bunny",and"234rtgsBunny"o請注意這里使用的是“LIKE”而不是等號(二),表示搜索的是和條件相似的記
錄,而不必是完全一樣。百分號’附可以放在字符串當(dāng)中的任何地方,服務(wù)器搜索字符串的方式則取決于
第放在何處。
mysql>SELECT*FROMtestWHERE
mysql>(nameLIKE"BigsBunny%");
結(jié)果:
顯示出來的是所有包含字符"gsBunny”的記錄,下面的字段都符合該條件:"BugsBunnys","Bugs
Bunnyyyy453","BugsBunnytrtrtrtrtr",但是"gsBunny"則不符合條件。
我們也可以使用等號條件式來搜索:
mysql>SELECTnameFROMtestWHERE
mysql>(name="BugsBunny");
結(jié)果:
name
Bugs
Bunny
更改表內(nèi)容
MySQL的另一個重要功能就是修改表中已經(jīng)存在的數(shù)據(jù)。修改表數(shù)據(jù)要使用ALTER命令,該命令
可以增加、修改、刪除列,同時也可以對表進行重命名。
例如:將表名稱由test改為mytest,
mysql>ALTERtabletestRENAMEmytest;
例如:在表mytest中添加列日期型表列birthday.
mysql>ALTERtablemytestADDbirthdayDATE;
例如:將表mytest中的name列改為newname,類型是VARCHAR(25),
mysql>ALTERtablemytestCHANGE
mysql>namenewnameVARCHAR(25);
例如:刪除表mytest中名為newname的歹ij,
mysql>ALTERtablemytestDROPnewname;
順序執(zhí)行上面的四個命令之后的結(jié)果是生成下面的表。
mysql>TABLEmy:est(
>emailVARCHAR(25),
>phone.numberINT,
>IDINTAUTO」NCREMENT,
>birthdayDATE);
在這部教程里,我們只對MySQL的使用進行了簡單的介紹。但這些功能都是我們進行編程所必須
熟悉的基本操作。最重要的還是多多實踐,參考相關(guān)技術(shù)文檔,多參加網(wǎng)上相關(guān)技術(shù)的討論。
上一頁目錄
版權(quán)所有?2003廣州市靖康計算鞏科技有限公司
ISP經(jīng)營許可證號:粵B2-20030107
24小時服務(wù)熱線:(020)88271083OICQ:33932188
通訊地址:廣州市花城大道5號南天廣場龍庭閣903郵政編碼:510623
Tel:(020)382073963820739738207399Fax:(020)38207399Email:expresscor.
IN靖康科技
上一頁目錄下一頁
MySQL的環(huán)境
MySQL通常用Telnet進行登錄(一個非常好的Telnet軟件名為Easyterm,可以從
http:〃www.arachroid.com/下載)。我們向用戶推薦使用WinMysql管理工具,下載網(wǎng)址是
http:〃www.tcx.se/Dowrloads/Win32/myAdminLOLOzip通過Telnet與web服務(wù)器連接后,
第二個命令提供MySQL服務(wù)器的登錄。登錄的步驟如下:
1.連接到服務(wù)器。
login:devshed
Password:********
Lastlogin:WedAug1209:49:14from22
Copyright1992,1993,1994,1995,1996BerkeleySoftwareDesign,Inc.
Copyright(c)1980,1983,1986,1988,1990,1991,19931994
TheRegentsoftheUniversityofCalifornia.Allrightsreserved.
BSDIBSD/OS2.1Kernel#12:MonFeb2313:46:27EST1998
Youhavenewmail.
www24:mywww/devshed#
2.登錄到MySQL帳戶。
www24:mywww/d5vshed#mysql-udevshed-p
Syn:ax:mysql-hhostname-uusername-p[password]
Or
mysql-hhostname-uusername--password=password
用戶會被提示輸入密碼。-p表示輸入密碼。
Enterpassword:*******
用戶會看見如下結(jié)果:
WelcometotheMySQLmonitor.Commandsendwith;or\g.
YourMySQLconnectionidis49toserverversion:3.21.23-beta-log
Type'help'forhelp.
mysql>
登錄到數(shù)據(jù)庫之后,我們就可以執(zhí)行各種MySQL的命令,但在對數(shù)據(jù)庫操作之前必須要先調(diào)用數(shù)
據(jù)庫,也就是與數(shù)據(jù)庫建立連接:
mysql>usedevshed;
結(jié)果:
Databasechangad
Mysql>
現(xiàn)在你已經(jīng)連接到數(shù)據(jù)庫。注意命令后面要加上分號(;),匚乎所有的MySQL命令都要加分號。有關(guān)
管理數(shù)據(jù)庫的命令可以通過鍵入help,\h或?列出來。
mysql>help
help(\h)Displaythis
text?(\h)Synonymfor'help'
clear(\c)Clearcommand
connect(\r)Reconnecttotheserver.Optionalargumentsaredbandhost
edit(\e)Editcommandwith$EDITOR
exit(\)Exitmysql.Sameasquit
go(\g)Sendcommandtomysqlserver
print(\p)printcurrentcommand
quit(\q)Quitmysql
rehash(\#)Rebuildcompletionhash
status(\s)Getstatusinformationfromtheserver
use(\u)Useanotherdatabase.Takesdatabasenameasargument
Connectionid:49(Canbeusedwithmysqladminkill)
mysql>
也許這些功能不會都能用上,但應(yīng)該知道每一個命令都會做什么。象命令status,use,printconnect,
clear,和quil在最開始學(xué)習(xí)使月時都會十分有用?,F(xiàn)在,你應(yīng)該對連接數(shù)據(jù)庫、選擇數(shù)據(jù)庫和運行基本
命令都應(yīng)該有一定的了解。下一步將講解有關(guān)對數(shù)據(jù)庫進行操作的基本概念和方法。
上一頁目錄下一頁
版權(quán)所有?2003廣州市靖康計算機科技有限公司?
ISP經(jīng)營許可證號:粵B2-20030107
24小時月艮務(wù)熱線:(020)88271083OICQ:33932188
通訊地址:廣州市花城大道5號南天廣場龍庭閣903郵政編碼:510623
Tel:(020)382073963820739738207399Fax:(020)38207399Email:TOcexjressCQm
上一頁目錄下一頁
MySQL基礎(chǔ)
數(shù)據(jù)類型和表
數(shù)據(jù)庫其實不過是由不同層次的數(shù)據(jù)結(jié)構(gòu)構(gòu)成的。MySQL中可以存放塊(或記錄)信息的結(jié)構(gòu)就是表
(table)o而這些記錄則由更小的信息格式組成,即數(shù)據(jù)類型。一個或多個的數(shù)據(jù)類型組成了記錄。由記
錄組成的表構(gòu)成了數(shù)據(jù)庫的一部分。數(shù)據(jù)庫的層次可以表示如下:
Database<Table<Record<Datatype
數(shù)據(jù)類型有不同的形式和大小,這樣程序員就可以根據(jù)實際應(yīng)用的需要建立表。選擇合適的數(shù)據(jù)類型對
于數(shù)據(jù)庫的運行性能影響致關(guān)重要,所以詳細了解這些概念是十分重要的。
MySQLDatatypes數(shù)據(jù)類型
MySQL支持各種數(shù)據(jù)類型(即使是編程新手也都基本熟悉)。常用的類型包括:
CHAR(M)固定長度字符
用來表示固定長度的字符串。字符串的長度范圍是1-255。例如:cajmodelCHAR(IO);
VARCHAR(M)可變長度字符
VARCHAR是一個具有靈活性的字符數(shù)據(jù)類型。字符串的長度范圍是1-255。選用VARCHAR通常是比
較明智的決定。盡管處理CHAR類型的數(shù)據(jù)比VARCHAR類型的數(shù)據(jù)要快,有時會快50%。(CHAR類型
存儲的數(shù)據(jù)的長度是聲明變量時的固定長度,而不管數(shù)據(jù)的實際長度“VARCHAR存儲的是按數(shù)據(jù)的實
際長度,從而減小了數(shù)據(jù)文件的大小。)car_modelVARCHAR(IO);
INT(M)[Unsigned]整數(shù)類型
NT是整數(shù)類型,存儲整數(shù)的值范圍是-2147483648到21474836470在聲明類型時可選用“unsigned”,
這樣值的范圍就是0到4294967295。
light_yearsINT;
合法整數(shù):'-245671,非法整數(shù)<,
light_yearsINTunsigned;
合法整數(shù)’3000000000’,非法整數(shù)’-24567’。
上一頁目錄下一頁
版權(quán)所有?2003廣州市靖康計算機科技有限公司?
ISP經(jīng)營許可證號:粵B2-20030107
24小時服務(wù)熱線:(020)88271083OICQ:33932188
通訊地址:廣州市花城大道5號南天廣場龍庭閣903郵政編碼:510623
Tel:(020)382073963820739738207399Fax:(020)38207399Email:Jl^cexpress.COG
上一頁目錄下一頁
MySQL基礎(chǔ)
FLOAT[(M.D)]浮點類型
FLOAT代表浮點類型,用來表示更精確的數(shù)字類型。
rainfallFLOAT(4,2);
這個變量可以用來表示一年當(dāng)中的平均降水量,并精確到小數(shù)。FLOAT(4.2)表示數(shù)值一共可以有4位數(shù)
字,小數(shù)點后有2位數(shù)字。請看下面哪些數(shù)值可以用上面的變量類型表示:
42.35是合法的
324.45是不合法的,將被修改為324.5
2.2是合法的數(shù)值
34.542不合法,將被修改為34.54
注意:由于FLOAT會將數(shù)值四舍五入,所以如果不想讓數(shù)值隨意被更改,建議使用DECIMAL。
DATE日期類型
用來存放日期信息,缺省的格式是'YYYY-MM-DD',日期范圍可以從‘0000-00-00'到’9999-12-31。聲
明日期型變量the_date:the_dateDATE;
TEXT/BLOB文本和大對象
如果字符串的長度超過了255,或者要將一篇文章保存到數(shù)據(jù)庫中,CHAR和VARCHAR就無法使用了,
這里就要用到TEXT和BLOB類型,該類型可以保存的字符串長度在255-65535字節(jié)內(nèi)。BLOB是一個
能保存二進制數(shù)據(jù)的的大對象。BLOB和TEXT數(shù)據(jù)類型是一樣的,唯一的區(qū)別就是TEXT不區(qū)分大小寫,
而BLOB區(qū)分大小寫。
SET固定類型
一個SET是可以有零或多個值的一個字符串對象,其每一個必須從表創(chuàng)建造被指定了的允許值的一張列
表中被選擇。由多個集合成員組成的SET列通過由由逗號分隔(”「)的成員被指定。SET類型最多可以
64個值。
transportSET("truck","wagon")NOTNULL;
經(jīng)過上面的聲明之后,transport可以有下面幾個值:
am
"truck"
"wagon"
"truck.wagon"
ENUM枚舉類型
ENUM是與SET屬性相同的數(shù)據(jù)類型,但從中取值時只能取一個值。
transportENUM("truck","wagdn")NOTNULL;
經(jīng)過上面的聲明之后,transport可以有下面幾個值:
(>((
"truck"
"wagon"
上一頁目錄下一頁
版權(quán)所有?2003廣州市靖康計算機科技有限公司?
ISP經(jīng)營許可證號:粵B2-20030107
24小時服務(wù)熱線:(020)88271083OICQ:33932188
誦訊地址:廣州市花城大道5號南天廣場龍庭閣903郵政編碼:510623
Tel:(020)382073963820739738207399Fax:(020)38207399Email:Jl?cexpress.COG
IN靖康科技
上一頁目錄下一頁
MySQL基礎(chǔ)
Records記錄
一組數(shù)據(jù)類型就構(gòu)成了記錄。一個記錄可以只有一個數(shù)據(jù)類型,也可以根據(jù)需要設(shè)置很多個。一個或多
個記錄構(gòu)成了一個表。
Tables表
在我們可以對數(shù)據(jù)庫進行操作之前,必須建立一個可以存放數(shù)據(jù)的表??梢酝ㄟ^如下方法創(chuàng)建:
mysql>CREATETABLEtest(
>nameVARCHAR(15),
>emailVARCHAR(25),
>phone_numberINT,
>IDINTNOTNULLAUTO_INCREMENT,
>PRIMARYKEY(ID));
輸出結(jié)果:
QueryOK,0rowsaffected(0.10sec)
mysql>
這樣你的第一個表就建成了。
所有的數(shù)據(jù)類型都可以使用下面的選項:
?主鍵值PrimaryKey。主鍵值是用來將記錄區(qū)分開來,因為沒有兩個記錄能使用同一個主鍵值。
在必須要保持記錄的唯一性時,使用主鍵值是非常有用的。
?Autojncrement自動增量。使用了這個選項的列在每增加一個記錄時,都會自動將記錄在該列
的值加1。
NOTNULL非空變量。表示該列不能被分配為空值,
例:
soc_sec_numberINTPRIMARY<EY;
這樣soc_sec_number字段就不能有重復(fù)的值。
ID.NUMBERINTAUTO」NCREMENT;
從1開始,自動按順序?qū)⒑竺娴闹翟谇懊娴幕A(chǔ)上增加lo
與表相關(guān)的命令
我們可以使用一些與表有關(guān)的命令:
顯示表內(nèi)容
如果想顯示數(shù)據(jù)庫當(dāng)中存在的所有表,可以使用命令showtables,mysql>showtables;
顯示列
mysql>showcolumnsfromtest;
結(jié)果:
顯示出與表相關(guān)的列及數(shù)據(jù)。
現(xiàn)在你已經(jīng)對創(chuàng)建表有了一個基本的認識。表是由數(shù)據(jù)類型構(gòu)成的,所有的數(shù)據(jù)類型形成了記錄。
上一頁目錄下一頁
版權(quán)所有?2003廣州市靖康計算嘰科技有限公司?
ISP經(jīng)營許可證號:粵B2-20030107
24小時服務(wù)熱線:(020)88271083OICQ:33932188
通訊地址:廣州市花城大道5號南天廣場龍庭閣903郵政編碼:510623
Tel:(020)382073963820739738207399Fax:(020)38207399Email:TOcmresscor>
目錄下一頁
MySQL簡介
什么是MySQL?
MySQL是一個多用戶、多線程的SQL數(shù)據(jù)庫,是一個客戶
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 東莞市中堂鎮(zhèn)公開招聘編外聘用人員20人備考題庫及答案詳解一套
- 2026年重慶廣播電視集團(總臺)第1眼TV招聘8人備考題庫-重慶廣播電視集團(總臺)及一套答案詳解
- 2026年竹山血漿站招聘備考題庫及一套答案詳解
- 2026年攜手同行合力生光北京廣播電視臺校園招聘24人備考題庫及答案詳解一套
- 2026年隨縣唐縣鎮(zhèn)招聘城市管理協(xié)管員備考題庫及答案詳解參考
- 中央團校(中國青年政治學(xué)院)2026年度高校畢業(yè)生公開招聘9人備考題庫完整答案詳解
- 優(yōu)益優(yōu)教育集團2026屆招聘備考題庫及1套完整答案詳解
- 宜賓市社會福利院2025年公開招聘編外聘用人員備考題庫及一套答案詳解
- 2026年鄭州航空港經(jīng)濟綜合實驗區(qū)消防救援支隊公開招錄政府專職消防員70人備考題庫及參考答案詳解
- 煙包生產(chǎn)現(xiàn)場管理制度
- 社區(qū)救援員培訓(xùn)課件
- 機房用電安全管理培訓(xùn)課件
- 2026秋招:華夏銀行筆試題及答案
- 便攜式血糖儀培訓(xùn)課件
- 醫(yī)院物價制度培訓(xùn)課件
- 2026年通遼職業(yè)學(xué)院單招職業(yè)技能考試題庫附答案
- 2025年精麻藥品考試試題附答案
- 2025年宿遷市輔警考試真題及答案
- 山東省青島嶗山區(qū)2024-2025學(xué)年上學(xué)期八年級數(shù)學(xué)期末試題(含答案)
- 眼外傷課件教學(xué)課件
- 顎式破碎機機構(gòu)優(yōu)化設(shè)計
評論
0/150
提交評論