破釜沉舟 http://www.7880.com
MySQL數(shù)據(jù)庫技術(shù)(11)文章類別:MySQL 發(fā)表日期:2005-09-27
閱讀次數(shù): 69
為了與MySQL 服務(wù)器進(jìn)行通信,必須熟練掌握S Q L。例如,在使用諸如mysql 客戶機(jī)這樣的程序時,其功能首先是作為一種發(fā)送SQL 語句給服務(wù)器執(zhí)行的工具。而且,如果編寫使用編程語言所提供的MySQL 接口的程序時,也必須熟悉SQL 語言,因為需要發(fā)送SQL 語
句與服務(wù)器溝通。
第1章“M y S Q L與S Q L介紹”的教程介紹了許多MySQL 功能。本章在該教程的基礎(chǔ)上進(jìn)一步對M y S Q L的S Q L的幾個方面進(jìn)行研究。它討論了怎樣引用數(shù)據(jù)庫的要素,包括命名規(guī)則以及區(qū)分大小寫約束的適用性。它還介紹了許多更為重要的SQL 語句,諸如創(chuàng)建和刪除數(shù)據(jù)庫、表和索引的語句;利用連接檢索數(shù)據(jù)的語句;提供關(guān)于數(shù)據(jù)庫和表的信息的語句等。這里的介紹還強(qiáng)調(diào)了MySQL 對標(biāo)準(zhǔn)SQL 進(jìn)行的某些擴(kuò)充。
3.1 MySQL 中的SQL特征
MySQL 的SQL 語句可分為幾大類,如圖3-1 所示。我們將在本章中介紹圖3 - 1中所示的前四類。M y S Q L的一些實用工具提供了與某些SQL 語句的基本命令行接口的機(jī)制。例如,mysqlshow 就是SHOW COLUMNS 語句的一個接口。本章中適當(dāng)?shù)牡胤揭矊@些等效的東西進(jìn)行介紹。未在本章介紹的一些語句將在其他章中介紹。例如,用于設(shè)置用戶權(quán)限的GRANT和REVOKE 語句在第11章“常規(guī)的MySQL管理”中介紹。所有語句的引用語法在附錄D“SQL 語法參考”中列出。此外,還可以參看MySQL 參考指南( MySQL Reference Manual)以獲得其他信息,特別是獲得MySQL 最新版本中所作更改的信息。
本章最后一節(jié)介紹M y S Q L缺少的功能,即一些其他數(shù)據(jù)庫中有的而MySQL 中無的功能。例如子選擇、事務(wù)處理、引用完整性、觸發(fā)器、存儲過程以及視圖。缺少這些功能是否意味著MySQL 不是一個“真正”的數(shù)據(jù)庫系統(tǒng)?有些人是這樣認(rèn)為的,但據(jù)筆者的看法,這些功能的缺乏并未阻止大量人員使用它。這大概是因為,對于大多數(shù)應(yīng)用來說,缺這些功能沒什么關(guān)系。而其他一些需要這些功能的場合,也有相應(yīng)的解決辦法。例如,缺少級聯(lián)刪除表示從表中刪除記錄時,可能需要發(fā)布一條額外的查詢。如果發(fā)現(xiàn)利用L O C K
TABLES 與UNLOCK TABLES 語句,將各語句分為不中斷執(zhí)行組的MySQL 功能已經(jīng)足夠,那么缺少事務(wù)處理支持對你來說可能不會產(chǎn)生什么影響。(這里真正的問題不是缺少事務(wù)處理;而是自動回退以取消失敗的語句。如果有一些應(yīng)用具有復(fù)雜的財務(wù)事務(wù)處理,比如需要完成涉及必須作為一個組執(zhí)行的幾個互鎖語句的處理,那么可能會考慮使用具有提交/回退能力的數(shù)據(jù)庫,如使用P o s t g r e s。)某些缺少的功能將在未來實現(xiàn)。如,MySQL 不支持子查詢,但已計劃在版本3 . 2 4中給出,或許您讀到本書時它已經(jīng)實現(xiàn)了。
破釜沉舟 http://www.7880.com
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點(diǎn)擊舉報。