乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      SQL 初級(jí)入門教程

       靜幻堂 2018-08-26
      一個(gè)程序員的成長(zhǎng)過程 2017-12-15 14:08:06

      SQL 是用于訪問和處理數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)的計(jì)算機(jī)語言。

      SQL 初級(jí)入門教程

      在本教程中,您將學(xué)到如何使用 SQL 訪問和處理數(shù)據(jù)系統(tǒng)中的數(shù)據(jù),這類數(shù)據(jù)庫(kù)包括:Oracle, Sybase, SQL Server, DB2, Access 等等。

      SQL 簡(jiǎn)介

      什么是 SQL?

      • SQL 指結(jié)構(gòu)化查詢語言

      • SQL 使我們有能力訪問數(shù)據(jù)庫(kù)

      • SQL 是一種 ANSI 的標(biāo)準(zhǔn)計(jì)算機(jī)語言

      編者注:ANSI,美國(guó)國(guó)家標(biāo)準(zhǔn)化組織

      SQL 能做什么?

      • SQL 面向數(shù)據(jù)庫(kù)執(zhí)行查詢

      • SQL 可從數(shù)據(jù)庫(kù)取回?cái)?shù)據(jù)

      • SQL 可在數(shù)據(jù)庫(kù)中插入新的記錄

      • SQL 可更新數(shù)據(jù)庫(kù)中的數(shù)據(jù)

      • SQL 可從數(shù)據(jù)庫(kù)刪除記錄

      • SQL 可創(chuàng)建新數(shù)據(jù)庫(kù)

      • SQL 可在數(shù)據(jù)庫(kù)中創(chuàng)建新表

      • SQL 可在數(shù)據(jù)庫(kù)中創(chuàng)建存儲(chǔ)過程

      • SQL 可在數(shù)據(jù)庫(kù)中創(chuàng)建視圖

      • SQL 可以設(shè)置表、存儲(chǔ)過程和視圖的權(quán)限

      SQL 是一種標(biāo)準(zhǔn) - 但是...

      SQL 是一門 ANSI 的標(biāo)準(zhǔn)計(jì)算機(jī)語言,用來訪問和操作數(shù)據(jù)庫(kù)系統(tǒng)。SQL 語句用于取回和更新數(shù)據(jù)庫(kù)中的數(shù)據(jù)。SQL 可與數(shù)據(jù)庫(kù)程序協(xié)同工作,比如 MS Access、DB2、Informix、MS SQL Server、Oracle、Sybase 以及其他數(shù)據(jù)庫(kù)系統(tǒng)。

      不幸地是,存在著很多不同版本的 SQL 語言,但是為了與 ANSI 標(biāo)準(zhǔn)相兼容,它們必須以相似的方式共同地來支持一些主要的關(guān)鍵詞(比如 SELECT、UPDATE、DELETE、INSERT、WHERE 等等)。

      注釋:除了 SQL 標(biāo)準(zhǔn)之外,大部分 SQL 數(shù)據(jù)庫(kù)程序都擁有它們自己的私有擴(kuò)展!

      在您的網(wǎng)站中使用 SQL

      要?jiǎng)?chuàng)建發(fā)布數(shù)據(jù)庫(kù)中數(shù)據(jù)的網(wǎng)站,您需要以下要素:

      • RDBMS 數(shù)據(jù)庫(kù)程序(比如 MS Access, SQL Server, MySQL)

      • 服務(wù)器端腳本語言(比如 PHP 或 ASP)

      • SQL

      • HTML / CSS

      RDBMS

      RDBMS 指的是關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)。

      RDBMS 是 SQL 的基礎(chǔ),同樣也是所有現(xiàn)代數(shù)據(jù)庫(kù)系統(tǒng)的基礎(chǔ),比如 MS SQL Server, IBM DB2, Oracle, MySQL 以及 Microsoft Access。

      RDBMS 中的數(shù)據(jù)存儲(chǔ)在被稱為表(tables)的數(shù)據(jù)庫(kù)對(duì)象中。

      表是相關(guān)的數(shù)據(jù)項(xiàng)的集合,它由列和行組成。

      SQL 語法

      數(shù)據(jù)庫(kù)表

      一個(gè)數(shù)據(jù)庫(kù)通常包含一個(gè)或多個(gè)表。每個(gè)表由一個(gè)名字標(biāo)識(shí)(例如“客戶”或者“訂單”)。表包含帶有數(shù)據(jù)的記錄(行)。

      下面的例子是一個(gè)名為 "Persons" 的表:

      IdLastNameFirstNameAddressCity
      1AdamsJohnOxford StreetLondon
      2BushGeorgeFifth AvenueNew York
      3CarterThomasChangan StreetBeijing

      上面的表包含三條記錄(每一條對(duì)應(yīng)一個(gè)人)和五個(gè)列(Id、姓、名、地址和城市)。

      SQL 語句

      您需要在數(shù)據(jù)庫(kù)上執(zhí)行的大部分工作都由 SQL 語句完成。

      下面的語句從表中選取 LastName 列的數(shù)據(jù):

      SELECT LastName FROM Persons

      結(jié)果集類似這樣:

      LastName
      Adams
      Bush
      Carter

      在本教程中,我們將為您講解各種不同的 SQL 語句。

      重要事項(xiàng)

      一定要記住,SQL 對(duì)大小寫不敏感!

      SQL 語句后面的分號(hào)?

      某些數(shù)據(jù)庫(kù)系統(tǒng)要求在每條 SQL 命令的末端使用分號(hào)。在我們的教程中不使用分號(hào)。

      分號(hào)是在數(shù)據(jù)庫(kù)系統(tǒng)中分隔每條 SQL 語句的標(biāo)準(zhǔn)方法,這樣就可以在對(duì)服務(wù)器的相同請(qǐng)求中執(zhí)行一條以上的語句。

      如果您使用的是 MS Access 和 SQL Server 2000,則不必在每條 SQL 語句之后使用分號(hào),不過某些數(shù)據(jù)庫(kù)軟件要求必須使用分號(hào)。

      SQL DML 和 DDL

      可以把 SQL 分為兩個(gè)部分:數(shù)據(jù)操作語言 (DML) 和 數(shù)據(jù)定義語言 (DDL)。

      SQL (結(jié)構(gòu)化查詢語言)是用于執(zhí)行查詢的語法。但是 SQL 語言也包含用于更新、插入和刪除記錄的語法。

      查詢和更新指令構(gòu)成了 SQL 的 DML 部分:

      • SELECT - 從數(shù)據(jù)庫(kù)表中獲取數(shù)據(jù)

      • UPDATE - 更新數(shù)據(jù)庫(kù)表中的數(shù)據(jù)

      • DELETE - 從數(shù)據(jù)庫(kù)表中刪除數(shù)據(jù)

      • INSERT INTO - 向數(shù)據(jù)庫(kù)表中插入數(shù)據(jù)

      SQL 的數(shù)據(jù)定義語言 (DDL) 部分使我們有能力創(chuàng)建或刪除表格。我們也可以定義索引(鍵),規(guī)定表之間的鏈接,以及施加表間的約束。

      SQL 中最重要的 DDL 語句:

      • CREATE DATABASE - 創(chuàng)建新數(shù)據(jù)庫(kù)

      • ALTER DATABASE - 修改數(shù)據(jù)庫(kù)

      • CREATE TABLE - 創(chuàng)建新表

      • ALTER TABLE - 變更(改變)數(shù)據(jù)庫(kù)表

      • DROP TABLE - 刪除表

      • CREATE INDEX - 創(chuàng)建索引(搜索鍵)

      • DROP INDEX - 刪除索引

      SQL SELECT 語句

      本章講解 SELECT 和 SELECT * 語句。

      SQL SELECT 語句

      SELECT 語句用于從表中選取數(shù)據(jù)。

      結(jié)果被存儲(chǔ)在一個(gè)結(jié)果表中(稱為結(jié)果集)。

      SQL SELECT 語法

      SELECT 列名稱 FROM 表名稱

      以及:

      SELECT * FROM 表名稱

      注釋:SQL 語句對(duì)大小寫不敏感。SELECT 等效于 select。

      SQL SELECT 實(shí)例

      如需獲取名為 "LastName" 和 "FirstName" 的列的內(nèi)容(從名為 "Persons" 的數(shù)據(jù)庫(kù)表),請(qǐng)使用類似這樣的 SELECT 語句:

      SELECT LastName,FirstName FROM Persons

      "Persons" 表:

      IdLastNameFirstNameAddressCity
      1AdamsJohnOxford StreetLondon
      2BushGeorgeFifth AvenueNew York
      3CarterThomasChangan StreetBeijing

      結(jié)果:

      LastNameFirstName
      AdamsJohn
      BushGeorge
      CarterThomas

      SQL SELECT * 實(shí)例

      現(xiàn)在我們希望從 "Persons" 表中選取所有的列。

      請(qǐng)使用符號(hào) * 取代列的名稱,就像這樣:

      SELECT * FROM Persons

      提示:星號(hào)(*)是選取所有列的快捷方式。

      結(jié)果:

      IdLastNameFirstNameAddressCity
      1AdamsJohnOxford StreetLondon
      2BushGeorgeFifth AvenueNew York
      3CarterThomasChangan StreetBeijing

      在結(jié)果集(result-set)中導(dǎo)航

      由 SQL 查詢程序獲得的結(jié)果被存放在一個(gè)結(jié)果集中。大多數(shù)數(shù)據(jù)庫(kù)軟件系統(tǒng)都允許使用編程函數(shù)在結(jié)果集中進(jìn)行導(dǎo)航,比如:Move-To-First-Record、Get-Record-Content、Move-To-Next-Record 等等。

      SQL SELECT DISTINCT 語句

      本章講解 SELECT DISTINCT 語句。

      SQL SELECT DISTINCT 語句

      在表中,可能會(huì)包含重復(fù)值。這并不成問題,不過,有時(shí)您也許希望僅僅列出不同(distinct)的值。

      關(guān)鍵詞 DISTINCT 用于返回唯一不同的值。

      語法:

      SELECT DISTINCT 列名稱 FROM 表名稱

      使用 DISTINCT 關(guān)鍵詞

      如果要從 "Company" 列中選取所有的值,我們需要使用 SELECT 語句:

      SELECT Company FROM Orders

      "Orders"表:

      CompanyOrderNumber
      IBM3532
      W3School2356
      Apple4698
      W3School6953

      結(jié)果:

      Company
      IBM
      W3School
      Apple
      W3School

      請(qǐng)注意,在結(jié)果集中,W3School 被列出了兩次。

      如需從 Company" 列中僅選取唯一不同的值,我們需要使用 SELECT DISTINCT 語句:

      SELECT DISTINCT Company FROM Orders

      結(jié)果:

      Company
      IBM
      W3School
      Apple

      現(xiàn)在,在結(jié)果集中,"W3School" 僅被列出了一次。

      SQL WHERE 子句

      WHERE 子句用于規(guī)定選擇的標(biāo)準(zhǔn)。

      WHERE 子句

      如需有條件地從表中選取數(shù)據(jù),可將 WHERE 子句添加到 SELECT 語句。

      語法

      SELECT 列名稱 FROM 表名稱 WHERE 列 運(yùn)算符 值

      下面的運(yùn)算符可在 WHERE 子句中使用:

      操作符描述
      =等于
      <>不等于
      >大于
      <小于
      >=大于等于
      <=小于等于
      BETWEEN在某個(gè)范圍內(nèi)
      LIKE搜索某種模式

      注釋:在某些版本的 SQL 中,操作符 <> 可以寫為 !=。

      使用 WHERE 子句

      如果只希望選取居住在城市 "Beijing" 中的人,我們需要向 SELECT 語句添加 WHERE 子句:

      SELECT * FROM Persons WHERE City='Beijing'

      "Persons" 表

      LastNameFirstNameAddressCityYear
      AdamsJohnOxford StreetLondon1970
      BushGeorgeFifth AvenueNew York1975
      CarterThomasChangan StreetBeijing1980
      GatesBillXuanwumen 10Beijing1985

      結(jié)果:

      LastNameFirstNameAddressCityYear
      CarterThomasChangan StreetBeijing1980
      GatesBillXuanwumen 10Beijing1985

      引號(hào)的使用

      請(qǐng)注意,我們?cè)诶又械臈l件值周圍使用的是單引號(hào)。

      SQL 使用單引號(hào)來環(huán)繞文本值(大部分?jǐn)?shù)據(jù)庫(kù)系統(tǒng)也接受雙引號(hào))。如果是數(shù)值,請(qǐng)不要使用引號(hào)。

      文本值:

      這是正確的:SELECT * FROM Persons WHERE FirstName='Bush'這是錯(cuò)誤的:SELECT * FROM Persons WHERE FirstName=Bush

      數(shù)值:

      這是正確的:SELECT * FROM Persons WHERE Year>1965這是錯(cuò)誤的:SELECT * FROM Persons WHERE Year>'1965'

      SQL AND & OR 運(yùn)算符

      AND 和 OR 運(yùn)算符用于基于一個(gè)以上的條件對(duì)記錄進(jìn)行過濾。

      AND 和 OR 運(yùn)算符

      AND 和 OR 可在 WHERE 子語句中把兩個(gè)或多個(gè)條件結(jié)合起來。

      如果第一個(gè)條件和第二個(gè)條件都成立,則 AND 運(yùn)算符顯示一條記錄。

      如果第一個(gè)條件和第二個(gè)條件中只要有一個(gè)成立,則 OR 運(yùn)算符顯示一條記錄。

      原始的表 (用在例子中的):

      LastNameFirstNameAddressCity
      AdamsJohnOxford StreetLondon
      BushGeorgeFifth AvenueNew York
      CarterThomasChangan StreetBeijing
      CarterWilliamXuanwumen 10Beijing

      AND 運(yùn)算符實(shí)例

      使用 AND 來顯示所有姓為 "Carter" 并且名為 "Thomas" 的人:

      SELECT * FROM Persons WHERE FirstName='Thomas' AND LastName='Carter'

      結(jié)果:

      LastNameFirstNameAddressCity
      CarterThomasChangan StreetBeijing

      OR 運(yùn)算符實(shí)例

      使用 OR 來顯示所有姓為 "Carter" 或者名為 "Thomas" 的人:

      SELECT * FROM Persons WHERE firstname='Thomas' OR lastname='Carter'

      結(jié)果:

      LastNameFirstNameAddressCity
      CarterThomasChangan StreetBeijing
      CarterWilliamXuanwumen 10Beijing

      結(jié)合 AND 和 OR 運(yùn)算符

      我們也可以把 AND 和 OR 結(jié)合起來(使用圓括號(hào)來組成復(fù)雜的表達(dá)式):

      SELECT * FROM Persons WHERE (FirstName='Thomas' OR FirstName='William')AND LastName='Carter'

      結(jié)果:

      LastNameFirstNameAddressCity
      CarterThomasChangan StreetBeijing
      CarterWilliamXuanwumen 10Beijing

      SQL ORDER BY 子句

      ORDER BY 語句用于對(duì)結(jié)果集進(jìn)行排序。

      ORDER BY 語句

      ORDER BY 語句用于根據(jù)指定的列對(duì)結(jié)果集進(jìn)行排序。

      ORDER BY 語句默認(rèn)按照升序?qū)τ涗涍M(jìn)行排序。

      如果您希望按照降序?qū)τ涗涍M(jìn)行排序,可以使用 DESC 關(guān)鍵字。

      原始的表 (用在例子中的):

      Orders 表:

      CompanyOrderNumber
      IBM3532
      W3School2356
      Apple4698
      W3School6953

      實(shí)例 1

      以字母順序顯示公司名稱:

      SELECT Company, OrderNumber FROM Orders ORDER BY Company

      結(jié)果:

      CompanyOrderNumber
      Apple4698
      IBM3532
      W3School6953
      W3School2356

      實(shí)例 2

      以字母順序顯示公司名稱(Company),并以數(shù)字順序顯示順序號(hào)(OrderNumber):

      SELECT Company, OrderNumber FROM Orders ORDER BY Company, OrderNumber

      結(jié)果:

      CompanyOrderNumber
      Apple4698
      IBM3532
      W3School2356
      W3School6953

      實(shí)例 3

      以逆字母順序顯示公司名稱:

      SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC

      結(jié)果:

      CompanyOrderNumber
      W3School6953
      W3School2356
      IBM3532
      Apple4698

      實(shí)例 4

      以逆字母順序顯示公司名稱,并以數(shù)字順序顯示順序號(hào):

      SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC, OrderNumber ASC

      結(jié)果:

      CompanyOrderNumber
      W3School2356
      W3School6953
      IBM3532
      Apple4698

      注意:在以上的結(jié)果中有兩個(gè)相等的公司名稱 (W3School)。只有這一次,在第一列中有相同的值時(shí),第二列是以升序排列的。如果第一列中有些值為 nulls 時(shí),情況也是這樣的。

      SQL INSERT INTO 語句

      INSERT INTO 語句

      INSERT INTO 語句用于向表格中插入新的行。

      語法

      INSERT INTO 表名稱 VALUES (值1, 值2,....)

      我們也可以指定所要插入數(shù)據(jù)的列:

      INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)

      插入新的行

      "Persons" 表:

      LastNameFirstNameAddressCity
      CarterThomasChangan StreetBeijing

      SQL 語句:

      INSERT INTO Persons VALUES ('Gates', 'Bill', 'Xuanwumen 10', 'Beijing')

      結(jié)果:

      LastNameFirstNameAddressCity
      CarterThomasChangan StreetBeijing
      GatesBillXuanwumen 10Beijing

      在指定的列中插入數(shù)據(jù)

      "Persons" 表:

      LastNameFirstNameAddressCity
      CarterThomasChangan StreetBeijing
      GatesBillXuanwumen 10Beijing

      SQL 語句:

      INSERT INTO Persons (LastName, Address) VALUES ('Wilson', 'Champs-Elysees')

      結(jié)果:

      LastNameFirstNameAddressCity
      CarterThomasChangan StreetBeijing
      GatesBillXuanwumen 10Beijing
      WilsonChamps-Elysees

      SQL UPDATE 語句

      Update 語句

      Update 語句用于修改表中的數(shù)據(jù)。

      語法:

      UPDATE 表名稱 SET 列名稱 = 新值 WHERE 列名稱 = 某值

      Person:

      LastNameFirstNameAddressCity
      GatesBillXuanwumen 10Beijing
      WilsonChamps-Elysees

      更新某一行中的一個(gè)列

      我們?yōu)?lastname 是 "Wilson" 的人添加 firstname:

      UPDATE Person SET FirstName = 'Fred' WHERE LastName = 'Wilson'

      結(jié)果:

      LastNameFirstNameAddressCity
      GatesBillXuanwumen 10Beijing
      WilsonFredChamps-Elysees

      更新某一行中的若干列

      我們會(huì)修改地址(address),并添加城市名稱(city):

      UPDATE Person SET Address = 'Zhongshan 23', City = 'Nanjing'WHERE LastName = 'Wilson'

      結(jié)果:

      LastNameFirstNameAddressCity
      GatesBillXuanwumen 10Beijing
      WilsonFredZhongshan 23Nanjing

      SQL DELETE 語句

      DELETE 語句

      DELETE 語句用于刪除表中的行。

      語法

      DELETE FROM 表名稱 WHERE 列名稱 = 值

      Person:

      LastNameFirstNameAddressCity
      GatesBillXuanwumen 10Beijing
      WilsonFredZhongshan 23Nanjing

      刪除某行

      "Fred Wilson" 會(huì)被刪除:

      DELETE FROM Person WHERE LastName = 'Wilson'

      結(jié)果:

      LastNameFirstNameAddressCity
      GatesBillXuanwumen 10Beijing

      刪除所有行

      可以在不刪除表的情況下刪除所有的行。這意味著表的結(jié)構(gòu)、屬性和索引都是完整的:

      DELETE FROM table_name

      或者:

      DELETE * FROM table_name

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多