搜尋
首頁資料庫mysql教程SQL資料運算基礎(初級)1

SQL資料運算基礎(初級)1

Dec 17, 2016 pm 02:26 PM

為了建立互動站點,你需要使用資料庫來儲存來自訪客的資訊。例如,你要建立一個職業介紹服務的站點,你需要儲存諸如個人履歷,所感興趣的工作等等這樣的資訊。建立動態網葉也需要使用資料庫,如果你想顯示符合來訪者要求的最好的工作,你就需要從資料庫中取出這份工作的資訊。你將會發現,在許多情況下需要使用資料庫。

在這一章裡,你將學習如何使用「結構化查詢語言」(SQL〕來操作資料庫。SQL語言是資料庫的標準語言。在Active 在SeverPages 中,無論何時你要存取一個資料庫,你就要使用SQL語言。因此,掌握好SQL對asp程式設計是非常重要的。

注意:

你可以把“SQL”讀作“sequel”,也可以按單字母的讀音讀作S-Q-L。 兩種發音都是正確的,每種發音各有大量的支持者。
在本書裡,認為「SQL」讀作「sequel」。

透過這一章的學習,你將理解怎樣用SQL實現資料庫查詢,你將學會怎樣使用這種查詢從資料表中取出信息,最後,你將學會怎樣設
計和建立自己的資料庫。

注意:

透過下面幾章對SQL的介紹,你將對SQL有足夠的了解,從而可以有效地使用Active Sever Pages。但是,SQL是一種複雜的語言,
本書不可能包含它的全部細節。要全面掌握SQL語言,你需要學習在Microsoft SQL Sever 中使用SQL。你可以到附近的書店去買
一本Microsoft SQL Sever 6.5。

SQL介紹:

本書假設你是在SQL操作Microsoft SQL Sever 的資料庫。你也可以用SQL操作許多其它類型的資料庫。 SQL是操作資料庫的標準語
言。 (事實上,關於SQL語言有一個專門的ANSI標準〕

注意:

不要在你的網站上試圖用Microsoft access代替Microsoft SQL Sever。 SQL Sever可以同時服務許多用戶,如果你希望你的
網站有較高的存取率,MS Access是不能勝任的。

在學習SQL的細節之前,你需要先理解它的兩大特色。一個特點容易掌握,另一個掌握起來有點困難。

第一個特點是所有SQL資料庫中的資料都儲存在表格中。一個表格由行和列組成。例如,下面這個簡單的表包括name 和e-mail
address:

Name Email Address

......................................... ....................

Bill Gates billg@microsoft.com

PResident Clinton president@whitehouse.com

Stephen Walther swalther@s​​omewhere.com

這個表有兩列(列也稱為字段,域〕:Name和Email Address。有三行,每一行包含一組資料。一行中的資料組合在一起稱為一條
記錄。

無論何時你在表格中新增數據,你就新增了一筆新記錄。一個資料表可以有幾十個記錄,也可以有幾千甚至幾十億個記錄。雖然你
也許永遠不需要儲存十億個Email地址,但知道你能這樣做總是好的,也許有一天你會有這樣的需要。

你的資料庫很有可能包含幾十個表,所有儲存在你資料庫中的資訊都被儲存在這些表中。當你考慮怎麼把資訊儲存在資料庫中時,
你應該考慮怎麼把它們儲存在表中。

SQL的第二個特點有些難於掌握。這種語言被設計成不允許你按照某種特定的順序來取出記錄,因為這樣做會降低SQL Sever取紀錄
的效率。使用SQL,你只能按查詢條件來讀取記錄。

當考慮如何從表中取出記錄時,自然會想到按記錄的位置讀取它們。例如,也許你會嘗試透過一個循環,逐一記錄地掃描,來選出
特定的記錄。使用SQL時,你必須訓練自己,不要有這種想法。

假如你想選出所有的名字是「Bill Gates」的記錄,如果使用傳統的程式語言,你也許會建構一個循環,逐一查看表中的記錄,看
名字域是否是「Bill Gates」。

這種選擇記錄的方法是可行的,但是效率不高。使用SQL,你只要說,「選擇所有名字域等於Bill Gates的記錄”,SQL就會為你選擇
出所有符合條件的記錄。SQL會決定實現查詢的最佳方法。

建設你想取出表中的前十個記錄。使用傳統的程式語言,你可以做一個循環,取出前十個記錄後結束循環。

開始時,當你知道你不能用SQL實現某些你感覺應該能實現的功能,你會受到挫折。設計者們。但後來你會體認到,SQL的這個特點不只是個限制,反而是其長處。因為SQL不根據位置來讀取記錄,它讀取記錄可以
很快。

綜上所述,SQL有兩個特點:所有資料儲存在表中,從SQL的角度來說,表格中的記錄沒有順序。在下一節,你將學習如何用SQL從表
中選擇特殊的記錄。

使用SQL從表格中取記錄。

SQL的主要功能之一是實作資料庫查詢。如果你熟悉Internet 引擎,那麼你已經熟悉查詢了。你使用查詢來取得滿足特定條件的信件
息。例如,如果你想找到有ASP資訊的全部站點,你可以連接到 Yahoo!並執行一個對Active Sever Pages的搜尋。在你輸入這個
查詢後,你會收到一個列表,表中包括所有其描述中包含搜尋表達式的站點。

多數Internet 引擎允許邏輯查詢。在邏輯查詢中,你可以包含特殊的運算子如AND、OR和NOT,你使用這些運算子來選擇特定的記
錄。例如,你可以用AND來限制查詢結果。如果你執行一個對Active Sever Pages AND SQL的搜尋。你將得到其描述中同時包含
Active Sever Pages 和SQL的記錄。當你需要限制查詢結果時,你可以使用AND。

如果你需要擴充查詢的結果,你可以使用邏輯運算子OR。例如,如果你執行一個搜索,搜索所有的其描述中包含Active Sever
Pages OR SQL的站點,你收到的清單中將包括所有其描述中同時包含兩個表達式或其中任何一個表達式的站點。

如果你想從搜尋結果中排除特定的站點,你可以使用NOT。例如,查詢“Active Sever Pages ”AND NOT 「SQL」將會傳回一個欄位
表,清單中的網站包含Active Sever Pages,但不包含SQL。當必須排除特定的記錄時,你可以使用NOT。

用SQL執行的查詢與用Internet搜尋引擎執行的搜尋非常相似。 當你執行一個SQL查詢時,透過使用包含邏輯運算子的查詢條件,
你可以得到一個記錄清單。此時查詢結果是來自一個或多個表。

SQL查詢的句法非常簡單。假設有一個名為email_table 的表,包含名字和地址兩個字段,要得到Bill Gates 的e_mail地址,你
可以使用下面的查詢:

SELECT email from email_table WHERE name="Bill Gates"

當這個查詢執行時,就從名為email_table的表中讀取Bill Gates的e_mail 位址。這個簡單的語句包括三個部分:

■ SELECT語句的第一部分指名要選取的欄位。在此例中,只有email列被選取。當執行 時,只顯示email列的值
billg@microsoft.com。

■ SELECTT語句的第二部分指明要從哪個(些)表中查詢資料。在此例中,要查詢的表名為email_table 。

■ 最後,SELECT語句的WHERE子句指明要選擇滿足哪種條件的記錄。在此例中,查詢條件為只有name列的值為Bill Gates 的記錄
才被選取。

Bill Gates很有可能擁有不只一個email地址。如果表中包含Bill Gates的多個email地址。用上述的SELECT語句可以讀取他所有
的email位址。 SELECT語句從表中取出所有name欄位值為Bill Gates 的記錄的email 欄位的值。

前面說過,查詢可以在查詢條件中包含邏輯運算子。如果你想讀Bill Gates 或Clinton總統的所有email地址,你可以使用下面
的查詢語句:

SELECT email FROM email_table WHERE name="Bill Gates" OR

name="president Clinton"

此例中的查詢條件比前一個複雜了一點。這個語句從表email_table中選出所有name列為Bill Gates或president Clinton的記錄。如果表中含有Bill Gates或president Clinton的多個位址,所有的位址都被讀取。

SELECT語句的結構看起來很直觀。如果你請朋友從一個表格中為你選擇一組記錄,你也許以非常相似的方式提出你的要求。在SQL 在SELECT語句中,你「SELECT特定的列FROM一個表WHERE某些欄位滿足一個特定的條件」。

下一節將介紹如何執行SQL查詢來選取記錄。這將幫助你熟悉用SELECT語句從表格中取資料的各種不同方法。


 以上就是SQL資料操作基礎(初級)1的內容,更多相關文章請關注PHP中文網(www.php.cn)! 


陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
MySQL中有哪些不同的存儲引擎?MySQL中有哪些不同的存儲引擎?Apr 26, 2025 am 12:27 AM

mysqloffersvariousStorageengines,每個suitedfordferentusecases:1)InnodBisidealForapplicationsNeedingingAcidComplianCeanDhighConcurncurnency,supportingtransactionsancions and foreignkeys.2)myisamisbestforread-Heavy-Heavywyworks,lackingtransactionsactionsacupport.3)記憶

MySQL中有哪些常見的安全漏洞?MySQL中有哪些常見的安全漏洞?Apr 26, 2025 am 12:27 AM

MySQL中常見的安全漏洞包括SQL注入、弱密碼、權限配置不當和未更新的軟件。 1.SQL注入可以通過使用預處理語句防止。 2.弱密碼可以通過強制使用強密碼策略避免。 3.權限配置不當可以通過定期審查和調整用戶權限解決。 4.未更新的軟件可以通過定期檢查和更新MySQL版本來修補。

您如何確定MySQL中的慢速查詢?您如何確定MySQL中的慢速查詢?Apr 26, 2025 am 12:15 AM

在MySQL中識別慢查詢可以通過啟用慢查詢日誌並設置閾值來實現。 1.啟用慢查詢日誌並設置閾值。 2.查看和分析慢查詢日誌文件,使用工具如mysqldumpslow或pt-query-digest進行深入分析。 3.優化慢查詢可以通過索引優化、查詢重寫和避免使用SELECT*來實現。

如何監視MySQL Server的健康和性能?如何監視MySQL Server的健康和性能?Apr 26, 2025 am 12:15 AM

要監控MySQL服務器的健康和性能,應關注系統健康、性能指標和查詢執行。 1)監控系統健康:使用top、htop或SHOWGLOBALSTATUS命令查看CPU、內存、磁盤I/O和網絡活動。 2)追踪性能指標:監控查詢每秒數、平均查詢時間和緩存命中率等關鍵指標。 3)確保查詢執行優化:啟用慢查詢日誌,記錄並優化執行時間超過設定閾值的查詢。

比較和對比Mysql和Mariadb。比較和對比Mysql和Mariadb。Apr 26, 2025 am 12:08 AM

MySQL和MariaDB的主要區別在於性能、功能和許可證:1.MySQL由Oracle開發,MariaDB是其分支。 2.MariaDB在高負載環境中性能可能更好。 3.MariaDB提供了更多的存儲引擎和功能。 4.MySQL採用雙重許可證,MariaDB完全開源。選擇時應考慮現有基礎設施、性能需求、功能需求和許可證成本。

MySQL的許可與其他數據庫系統相比如何?MySQL的許可與其他數據庫系統相比如何?Apr 25, 2025 am 12:26 AM

MySQL使用的是GPL許可證。 1)GPL許可證允許自由使用、修改和分發MySQL,但修改後的分發需遵循GPL。 2)商業許可證可避免公開修改,適合需要保密的商業應用。

您什麼時候選擇InnoDB而不是Myisam,反之亦然?您什麼時候選擇InnoDB而不是Myisam,反之亦然?Apr 25, 2025 am 12:22 AM

選擇InnoDB而不是MyISAM的情況包括:1)需要事務支持,2)高並發環境,3)需要高數據一致性;反之,選擇MyISAM的情況包括:1)主要是讀操作,2)不需要事務支持。 InnoDB適合需要高數據一致性和事務處理的應用,如電商平台,而MyISAM適合讀密集型且無需事務的應用,如博客系統。

在MySQL中解釋外鍵的目的。在MySQL中解釋外鍵的目的。Apr 25, 2025 am 12:17 AM

在MySQL中,外鍵的作用是建立表與表之間的關係,確保數據的一致性和完整性。外鍵通過引用完整性檢查和級聯操作維護數據的有效性,使用時需注意性能優化和避免常見錯誤。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器