PHP与MySQL-入门学习指南-sql课件_第1页
PHP与MySQL-入门学习指南-sql课件_第2页
PHP与MySQL-入门学习指南-sql课件_第3页
PHP与MySQL-入门学习指南-sql课件_第4页
PHP与MySQL-入门学习指南-sql课件_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PHP與MySQL

入門學習指南第22章SQL介紹與建立MySQL資料庫凱文瑞克著22-1什麼是SQL?SQL是一專門用來處理關聯式資料庫的標準程式語言。它誕生於1970年代後半,促使SQL問世的功臣是位於加州聖荷西的IBM實驗室(IBMLaboratory)。SQL(StructuredQueryLanguage)。結構化查詢語言22-1什麼是SQL?SQL的念法:S-Q-L或see-kwul。SQL的標準化作業,是由ANSI(美國國家標準學會)與ISO(國際標準組織)這2個標準化組織所推動的。它最初的標準化規格,是在1986年由ANSI所制定,並緊接著在1992年時ANSI與ISO分別制南的新的規格,這項規格一般為SQL-92規格,通稱SQL2。在目前,ANSI與SIO也持續地在研討新一代的規格,這項規格一般稱為SQL-99規格,通稱SQL3。現在的SQL規格便是上述的SQL-92(SQL2)。22-2SQL語言的功能分類22-2-1DDL資料定義語言CREATEALTERDROP22-2SQL語言的功能分類22-2-2DML資料操作語言SELECTINSERTUPDATEDELETE22-4建立資料庫22-4-1CREATE語法:CREATEDATABASE資料庫名稱;例:createdatabasedb_name;CreateDATABASEdb_name;CREATEDATABASEdb_name;22-4建立資料庫22-4-2USEUSEdb_name;22-4-3DROPDROPdb_name;PHP與MySQL

入門學習指南第23章資料型別凱文瑞克著數值資料

型態名稱記憶體空間數值範圍

無號數(UNSIGNED)TINYINT1bytes-128~127

0-255SMALLINT

2bytes-32768~32767

0-65535MEDIUMINT

3bytes-8388608~8388607

0-16777215INT

INTEGER4bytes-2147483648~2147483647

0-4294967295BIGINT8bytes-922337203685475808~922337203685475807

0-188446744073709550615FLOAT(M,D)4(<24)/8

依據變數值而定無FLOAT4bytes無DOUBLE(M,D)8bytes

依據變數值而定無DECIMAL(M,D)

MB單位+2

依據變數值而定無範例1.欄位定義

FLOAT(4,2),存入1.2345,則實際存入的資料為1.23。2.欄位定義

FLOAT(4,3),存入1.2345,則實際存入的資料為1.234。

3.欄位定義TINYINT,存入1234,則實際存入的資料為255。

4.CREATETABLETEST

(Field1TINYINT);

5.CREATETABLETEST

(Field1FLOAT(4,3));資料欄位設定子自動增量設定(AUTO_INCREMENT)

範例:CREATETABLETEST1

(Field1INTNOTNULLAUTO_INCREMENTPRIMARY

KEY);資料型別:字元或字串

型態名稱最大長度儲存空間CHAR(X)255bytesxbytesVARCHAR(X)255bytesx+1bytesTINYTEXT255bytesx+1bytesTEXT65535bytesx+2bytesMEDIUMTEXT16,777,215bytesx+3bytesLONGTEXT4,294,967,295bytesx+4bytesTINYBLOB255bytesx+1bytesBLOB65535bytesx+2bytesMEDIUMBLOB16,777,215bytesx+3bytesLONGBLOB4,294,967,295bytesx+4bytesCHAR及VARCHAR型態範例一:

CREATETABLETEST(FIELD1CHAR(5),FIELD2VARCHAR(10));相當於CREATETABLETEST(FIELD1VARCHAR(5),FIELD2VARCHAR(10));

範例二:

CREATETABLETEST(FIELD1VARCHAR(2));相當於CREATETABLETEST(FIELD1CHAR(2));PHP與MySQL

入門學習指南第24章建立資料表與索引凱文瑞克著範例一CREATETABLETEST(

NAMEVARCHAR(8)BINARY

NOT

NULLDEFAULT"guest",AGESMALLINTUNSIGNEDDEFAULT0);範例二CREATETABLEcustomers(

IDINTNOTNULLPRIMARYKEYAUTO_INCREMENT,NameVARCHAR(20)NOTNULL,AddressVARCHAR(50),E-MailVARCHAR(20),AgeINT,GenderENUM('M','F')DEFAULT'M',Phone_NoVARCHAR(15));刪除資料表及欄位刪除資料表

DROPTABLE

table_name;刪除部分欄位

ALTERTABLEtable_nameDROPfield_name;刪除資料表中的primarykey

ALTERTABLEtable_nameDROPPRIMARYKEY;PHP與MySQL

入門學習指南第25章資料庫增刪作業凱文瑞克著INSERT語法:

INSERTINTO

[LOW_PRIORITY|DELAYED]

Tbl_Name[(column_name,.......)]VALUES(expression,.......);

例如:INSERTINTOCustomersVALUES(NULL,”Glen”,”brazil”)INSERTINTOCustomers(Customer_ID,Last_Name,First_Name)VALUES(NULL,“Brazil”,”Glen”)UPDATEUPDATE[LOW_PRIORITY]

tbl_nameSETcol_name=expr1,col_name2=expr2,..[whereexpr][limit#]col_name1=expr1指定等號左邊的欄位名稱及右邊的值,只有Where條件子句的欄位才會被修改成UPDATE中的內容。LIMIT#中的#代表整數,代表限制最多只能有#個資料列被更新。例如:UPDATEcustomersSETphone_no='99999999'address='台南市'whereid=1;DELETEDELETE

[LOW_PRIORITY]

FROMtbl_name

[WHEREexpr]

[LIMIT#];WHERE

是用來限制刪除的範圍,如果不加上WHERE子句則會將整個資料表刪除,因此在下此命令時,一定要特別小心,更謹慎的方式就是使用LIMIT關鍵字,LIMIT後面接著的是數字,用來限制刪除的資料筆數,利用此指令先試著刪除一兩筆確定無誤後,再下一次DELETE進行完整的刪除動作。PHP與MySQL

入門學習指南第26章運算式與相關函式

凱文瑞克著以比較運算子查詢(一)以比較運算子查詢(二)邏輯運算(一)AND運算子(&&)當我們想要取出工作時段為日班,且工作年資在五年以下的員工資料時,我們便可以使用下列的敘述:SELECT*FROMSALARYWHEREWORKTIME='DAY'ANDEXP<=5;邏輯運算(三)OR運算子(||)當我們想要取出工作時段為日班,或工作年資在五年以下的員工資料時,我們便可以使用下列的敘述:SELECT*FROMSALARYWHEREWORKTIME='DAY'ANDEXP<=5;邏輯運算(四)NOT運算子(!)SELECT*FROMSALARYWHERENOTWORKTIME='NIGHT';SELECT*FROMSALARYWHEREJOBISNOTNULL;邏輯運算(五)LIKE運算子利用=運算子,我們可以取出某一段與特定字串完全相同的資料,但是有的時候我們並不需要和這特定字串完全相同,只要它的其中某一部分和這個特定字串相便可以,碰到這種情況,就可以使用LIKE運算,LIKE可以和萬用字元組合在一起使用。邏輯運算(六)%萬用字元欄位名稱LIKE%<值>

欄位名稱LIKE*<值>PHP與MySQL

入門學習指南第27章資料庫查詢作業凱文瑞克著Select語法初探(一)SELECT的語法如下:SELECTcolumn1,column2,..FROMtable1,table2..WHEREconditions;SELECT*FROMCustomers;SELECT*FROMCustomersLIMIT10;SELECTFirst_Name,Last_NameFROMCustomersWHEREDOB="January";Select語法初探(二)同一個欄位出現在FROM後一個以上資料表中,那麼就必須指明是要選取哪個資料表的哪個欄位。FROM子句中有使用一個以上的資料表時,所選取的欄位名稱前也必須加上資料表名稱,例如現在有兩個資料表Orders及Customers,都有Customer_ID欄位,當執行如下SQL敘述就必須指明清楚:SELECTOrders.Order_IDFROMOrders,CustomersWHERECustomer.Customer_ID=Orders.Customer_ID;

另外一種用法,就是將SQL敘述中的資料表名稱以別名(Alias)代替,可以節省重複輸入的時間,也使得整個SQL敘述看起來不會那麼複雜,如:

SELECTO.Order_IDFROMOrdersASO,CustomerASCWHEREC.Customer_ID=O.Customer_ID;Select語法初探(三)SELECTconcat(Fir

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论