亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > 綜合 > 正文

sql基礎語句

2024-07-21 02:50:25
字體:
來源:轉載
供稿:網友
sql基礎語句

SQL 是用于訪問和處理數據庫的標準的計算機語言。

什么是 SQL? ?SQL 指結構化查詢語言 ?SQL 使我們有能力訪問數據庫 ?SQL 是一種 ANSI 的標準計算機語言

編者注:ANSI,美國國家標準化組織

SQL 能做什么? ?SQL 面向數據庫執行查詢 ?SQL 可從數據庫取回數據 ?SQL 可在數據庫中插入新的記錄 ?SQL 可更新數據庫中的數據 ?SQL 可從數據庫刪除記錄 ?SQL 可創建新數據庫 ?SQL 可在數據庫中創建新表 ?SQL 可在數據庫中創建存儲過程 ?SQL 可在數據庫中創建視圖 ?SQL 可以設置表、存儲過程和視圖的權限

SQL 是一種標準 - 但是...

SQL 是一門 ANSI 的標準計算機語言,用來訪問和操作數據庫系統。SQL 語句用于取回和更新數據庫中的數據。SQL 可與數據庫程序協同工作,比如 MS access、DB2、Informix、MS SQL Server、Oracle、Sybase 以及其他數據庫系統。

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

注釋:除了 SQL 標準之外,大部分 SQL 數據庫程序都擁有它們自己的私有擴展!

在您的網站中使用 SQL

要創建發布數據庫中數據的網站,您需要以下要素: ?RDBMS 數據庫程序(比如 MS Access, SQL Server, MySQL) ?服務器端腳本語言(比如 php 或 asp) ?SQL ?HTML / CSS

RDBMS

RDBMS 指的是關系型數據庫管理系統。

RDBMS 是 SQL 的基礎,同樣也是所有現代數據庫系統的基礎,比如 MS SQL Server, IBM DB2, Oracle, MySQL 以及 Microsoft Access。

RDBMS 中的數據存儲在被稱為表(tables)的數據庫對象中。

表是相關的數據項的集合,它由列和行組成。

數據庫表

一個數據庫通常包含一個或多個表。每個表由一個名字標識(例如“客戶”或者“訂單”)。表包含帶有數據的記錄(行)。

下面的例子是一個名為 "Persons" 的表:

Id LastName FirstName Address City 1 Adams John Oxford Street London 2 Bush George Fifth Avenue New York 3 Carter Thomas Changan Street Beijing

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

SQL 語句

您需要在數據庫上執行的大部分工作都由 SQL 語句完成。

下面的語句從表中選取 LastName 列的數據: SELECT LastName FROM Persons

結果集類似這樣:

LastName

Adams Bush Carter

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

重要事項

一定要記住,SQL 對大小寫不敏感!

SQL 語句后面的分號?

某些數據庫系統要求在每條 SQL 命令的末端使用分號。在我們的教程中不使用分號。

分號是在數據庫系統中分隔每條 SQL 語句的標準方法,這樣就可以在對服務器的相同請求中執行一條以上的語句。

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

SQL DML 和 DDL 可以把 SQL 分為兩個部分:數據操作語言 (DML) 和 數據定義語言 (DDL)。 SQL (結構化查詢語言)是用于執行查詢的語法。但是 SQL 語言也包含用于更新、插入和刪除記錄的語法。

查詢和更新指令構成了 SQL 的 DML 部分: ?SELECT - 從數據庫表中獲取數據 ?UPDATE - 更新數據庫表中的數據 ?DELETE - 從數據庫表中刪除數據 ?INSERT INTO - 向數據庫表中插入數據

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

SQL 中最重要的 DDL 語句: ?CREATE DATABASE - 創建新數據庫 ?ALTER DATABASE - 修改數據庫 ?CREATE TABLE - 創建新表 ?ALTER TABLE - 變更(改變)數據庫表 ?DROP TABLE - 刪除表 ?CREATE INDEX - 創建索引(搜索鍵) ?DROP INDEX - 刪除索引

本章講解 SELECT 和 SELECT * 語句。

SQL SELECT 語句

SELECT 語句用于從表中選取數據。

結果被存儲在一個結果表中(稱為結果集)。

SQL SELECT 語法 SELECT 列名稱 FROM 表名稱

以及: SELECT * FROM 表名稱

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

SQL SELECT 實例

如需獲取名為 "LastName" 和 "FirstName" 的列的內容(從名為 "Persons" 的數據庫表),請使用類似這樣的 SELECT 語句: SELECT LastName,FirstName FROM Persons

"Persons" 表:

Id LastName FirstName Address City 1 Adams John Oxford Street London 2 Bush George Fifth Avenue New York 3 Carter Thomas Changan Street Beijing

結果:

LastName FirstName Adams John Bush George Carter Thomas

SQL SELECT * 實例

現在我們希望從 "Persons" 表中選取所有的列。

請使用符號 * 取代列的名稱,就像這樣: SELECT * FROM Persons

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

結果:

Id LastName FirstName Address City

1 Adams John Oxford Street London 2 Bush George Fifth Avenue New York 3 Carter Thomas Changan Street Beijing

在結果集(result-set)中導航

由 SQL 查詢程序獲得的結果被存放在一個結果集中。大多數數據庫軟件系統都允許使用編程函數在結果集中進行導航,比如:Move-To-First-Record、Get-Record-Content、Move-To-Next-Record 等等。

SQL SELECT DISTINCT 語句

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

關鍵詞 DISTINCT 用于返回唯一不同的值。

語法: SELECT DISTINCT 列名稱 FROM 表名稱

使用 DISTINCT 關鍵詞

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

"Orders"表:

Company OrderNumber IBM 3532 W3School 2356 Apple 4698 W3School 6953

結果:

Company

IBM W3School Apple W3School

請注意,在結果集中,W3School 被列出了兩次。

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

結果:

Company

IBM W3School Apple

現在,在結果集中,"W3School" 僅被列出了一次。

WHERE 子句用于規定選擇的標準。

WHERE 子句

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

語法 SELECT 列名稱 FROM 表名稱 WHERE 列 運算符 值

下面的運算符可在 WHERE 子句中使用:

操作符

描述

= 等于 <> 不等于 > 大于 < 小于 >= 大于等于 <= 小于等于 BETWEEN 在某個范圍內 LIKE 搜索某種模式

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

使用 WHERE 子句

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

"Persons" 表

LastName FirstName Address City Year

Adams John Oxford Street London 1970 Bush George Fifth Avenue New York 1975 Carter Thomas Changan Street Beijing 1980 Gates Bill Xuanwumen 10 Beijing 1985

結果:

LastName FirstName Address City Year Carter Thomas Changan Street Beijing 1980 Gates Bill Xuanwumen 10 Beijing 1985

引號的使用

請注意,我們在例子中的條件值周圍使用的是單引號。

SQL 使用單引號來環繞文本值(大部分數據庫系統也接受雙引號)。如果是數值,請不要使用引號。

文本值: 這是正確的: SELECT * FROM Persons WHERE FirstName='Bush'

這是錯誤的: SELECT * FROM Persons WHERE FirstName=Bush

數值: 這是正確的: SELECT * FROM Persons WHERE Year>1965

這是錯誤的: SELECT * FROM Persons WHERE Year>'1965'

AND 和 OR 運算符用于基于一個以上的條件對記錄進行過濾。

AND 和 OR 運算符

AND 和 OR 可在 WHERE 子語句中把兩個或多個條件結合起來。

如果第一個條件和第二個條件都成立,則 AND 運算符顯示一條記錄。

如果第一個條件和第二個條件中只要有一個成立,則 OR 運算符顯示一條記錄。

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

LastName FirstName Address City

Adams John Oxford Street London Bush George Fifth Avenue New York Carter Thomas Changan Street Beijing Carter William Xuanwumen 10 Beijing

AND 運算符實例

使用 AND 來顯示所有姓為 "Carter" 并且名為 "Thomas" 的人: SELECT * FROM Persons WHERE FirstName='Thomas' AND LastName='Carter'

結果:

LastName FirstName Address City

Carter Thomas Changan Street Beijing

OR 運算符實例

使用 OR 來顯示所有姓為 "Carter" 或者名為 "Thomas" 的人: SELECT * FROM Persons WHERE firstname='Thomas' OR lastname='Carter'

結果:

LastName FirstName Address City

Carter Thomas Changan Street Beijing Carter William Xuanwumen 10 Beijing

結合 AND 和 OR 運算符

我們也可以把 AND 和 OR 結合起來(使用圓括號來組成復雜的表達式): SELECT * FROM Persons WHERE (FirstName='Thomas' OR FirstName='William') AND LastName='Carter'

結果:

LastName FirstName Address City

Carter Thomas Changan Street Beijing Carter William Xuanwumen 10 Beijing

ORDER BY 語句用于對結果集進行排序。

ORDER BY 語句

ORDER BY 語句用于根據指定的列對結果集進行排序。

ORDER BY 語句默認按照升序對記錄進行排序。

如果您希望按照降序對記錄進行排序,可以使用 DESC 關鍵字。

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

Orders 表:

Company

OrderNumber

IBM 3532 W3School 2356 Apple 4698 W3School 6953

實例 1

以字母順序顯示公司名稱: SELECT Company, OrderNumber FROM Orders ORDER BY Company

結果:

Company OrderNumber

Apple 4698 IBM 3532 W3School 6953 W3School 2356

實例 2

以字母順序顯示公司名稱(Company),并以數字順序顯示順序號(OrderNumber): SELECT Company, OrderNumber FROM Orders ORDER BY Company, OrderNumber

結果:

Company OrderNumber

Apple 4698 IBM 3532 W3School 2356 W3School 6953

實例 3

以逆字母順序顯示公司名稱: SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC

結果:

Company OrderNumber

W3School 6953 W3School 2356 IBM 3532 Apple 4698

實例 4

以逆字母順序顯示公司名稱,并以數字順序顯示順序號: SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC, OrderNumber ASC

結果:

Company OrderNumber

W3School 2356 W3School 6953 IBM 3532 Apple 4698

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

INSERT INTO 語句

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

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

我們也可以指定所要插入數據的列: INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)

插入新的行

"Persons" 表:

LastName FirstName Address City

Carter Thomas Changan Street Beijing

SQL 語句: INSERT INTO Persons VALUES ('Gates', 'Bill', 'Xuanwumen 10', 'Beijing')

結果:

LastName FirstName Address City

Carter Thomas Changan Street Beijing Gates Bill Xuanwumen 10 Beijing

在指定的列中插入數據

"Persons" 表:

LastName FirstName Address City

Carter Thomas Changan Street Beijing Gates Bill Xuanwumen 10 Beijing

SQL 語句: INSERT INTO Persons (LastName, Address) VALUES ('Wilson', 'Champs-Elysees')

結果:

LastName FirstName Address City


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品香蕉在线观看| 欧美性猛交xxxx乱大交| 欧美激情网友自拍| 国内精品久久久久影院 日本资源| 在线观看欧美视频| 欧美专区在线播放| 伊人久久久久久久久久久| 宅男66日本亚洲欧美视频| 国产精品福利在线观看网址| 国产精品精品视频| 亚洲综合精品一区二区| 久久久国产精品亚洲一区| 欧美午夜片欧美片在线观看| 国产精品美女在线观看| 久久久国产一区| 亚洲色图17p| 亚洲热线99精品视频| 亚洲va久久久噜噜噜久久天堂| 国产99久久精品一区二区 夜夜躁日日躁| xvideos国产精品| 日本高清不卡的在线| 欧美日本中文字幕| 亚洲久久久久久久久久| 高清日韩电视剧大全免费播放在线观看| 亚洲人成自拍网站| 欧美最顶级丰满的aⅴ艳星| 亚洲福利小视频| 亚洲一区久久久| 欧美精品激情在线观看| 精品久久中文字幕久久av| 亚洲片国产一区一级在线观看| 在线观看亚洲区| 2020欧美日韩在线视频| 国产午夜精品一区理论片飘花| 97热在线精品视频在线观看| 中文字幕亚洲天堂| 78m国产成人精品视频| 欧美日韩精品在线| 日韩精品免费在线视频| 欧美视频在线观看 亚洲欧| 国产精品亚洲美女av网站| 国产精品久久久久秋霞鲁丝| 国产精品视频xxx| 日产日韩在线亚洲欧美| 久青草国产97香蕉在线视频| 国产精品激情av电影在线观看| 麻豆乱码国产一区二区三区| 日韩欧美亚洲国产一区| 国产福利精品av综合导导航| 久久影院在线观看| 久久久国产视频| 亚洲美女又黄又爽在线观看| 欧美精品情趣视频| 日韩av日韩在线观看| 亚洲一区二区久久久久久| 亚洲激情电影中文字幕| 日韩精品中文字幕有码专区| 91大神在线播放精品| 最新国产精品亚洲| 欧美性猛交xxxx免费看漫画| 国产精品久久久久91| 欧美激情第1页| 97精品在线视频| 亚洲视频在线观看免费| 日韩中文字在线| 久久免费精品视频| 亚州国产精品久久久| 福利一区福利二区微拍刺激| 亚洲人成电影在线播放| 亚洲一区二区国产| 亚洲精品免费av| 日韩亚洲在线观看| 亚洲综合社区网| 国产精品丝袜久久久久久高清| 欧美专区日韩视频| 韩国福利视频一区| 亚洲国产天堂网精品网站| 菠萝蜜影院一区二区免费| 日韩欧美国产中文字幕| 欧美精品videos性欧美| 亚洲aaa激情| 亚洲人免费视频| 久久久影视精品| 91久久精品国产91性色| 亚洲老板91色精品久久| 国产精品老女人视频| 91成人在线观看国产| 欧美午夜激情在线| 国产精品久久久精品| 亚洲аv电影天堂网| 国模精品一区二区三区色天香| 国产亚洲激情视频在线| 亚洲国语精品自产拍在线观看| 欧美成人午夜视频| 久久九九亚洲综合| 久久综合88中文色鬼| 欧美激情视频给我| 欧美大片免费观看| 国产精品青青在线观看爽香蕉| 国产精品极品美女在线观看免费| 亚洲国产欧美一区二区三区久久| 菠萝蜜影院一区二区免费| 成人国产精品日本在线| 日韩大陆毛片av| 久久久久久噜噜噜久久久精品| 成人久久精品视频| 日本一本a高清免费不卡| 日韩在线免费视频| 久久久久久91香蕉国产| 亚洲理论在线a中文字幕| 亚洲国产成人久久| 国产男人精品视频| 91chinesevideo永久地址| 91精品国产高清自在线| 亚洲第一免费网站| 欧美日韩国产成人高清视频| 亚洲欧洲日本专区| 动漫精品一区二区| 欧美午夜视频在线观看| 成人a级免费视频| 97精品视频在线播放| 91精品国产色综合久久不卡98口| 亚洲美女在线观看| 在线精品国产成人综合| 国模私拍一区二区三区| 九九热精品视频国产| 国产一区二区三区毛片| 九色精品免费永久在线| 色综合久久88| 777国产偷窥盗摄精品视频| 欧美老少做受xxxx高潮| 欧美日韩在线视频观看| 国产99久久久欧美黑人| 久久久久久久久久久久av| 欧美久久精品午夜青青大伊人| 欧美日韩中国免费专区在线看| 欧美一级成年大片在线观看| 亚洲国产美女久久久久| 最近的2019中文字幕免费一页| 国外色69视频在线观看| 精品国产一区二区三区久久狼黑人| 日韩av一区在线| 日韩成人网免费视频| 91精品国产成人| 国自在线精品视频| 日韩中文在线中文网三级| 少妇av一区二区三区| 亚洲精品中文字| 亚洲男人天堂古典| 久久香蕉精品香蕉| 国产激情综合五月久久| 成人激情综合网| 成人欧美一区二区三区在线湿哒哒| 欧美成人午夜剧场免费观看| 日韩精品视频免费专区在线播放| 永久555www成人免费| 精品动漫一区二区三区| 深夜精品寂寞黄网站在线观看| 国产精品h片在线播放| 精品亚洲夜色av98在线观看| 97在线看福利| 成人精品久久一区二区三区| 98精品在线视频| 中文字幕一精品亚洲无线一区|