MY-SQL數(shù)據(jù)庫教程 計算機_第1頁
MY-SQL數(shù)據(jù)庫教程 計算機_第2頁
MY-SQL數(shù)據(jù)庫教程 計算機_第3頁
MY-SQL數(shù)據(jù)庫教程 計算機_第4頁
MY-SQL數(shù)據(jù)庫教程 計算機_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論