国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
SQL是功能強(qiáng)大的數(shù)據(jù)庫(kù)語(yǔ)言,其實(shí)SQL很簡(jiǎn)單,你也可以輕松學(xué)會(huì)

SQL(Structured Query Language,結(jié)構(gòu)查詢(xún)語(yǔ)言)是一個(gè)功能強(qiáng)大的數(shù)據(jù)庫(kù)語(yǔ)言。SQL通常使用于數(shù)據(jù)庫(kù)的通訊。ANSI(美國(guó)國(guó)家標(biāo)準(zhǔn)學(xué)會(huì))聲稱(chēng),SQL是關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)的標(biāo)準(zhǔn)語(yǔ)言。SQL語(yǔ)句通常用于完成一些數(shù)據(jù)庫(kù)的操作任務(wù),比如在數(shù)據(jù)庫(kù)中更新數(shù)據(jù),或者從數(shù)據(jù)庫(kù)中檢索數(shù)據(jù)。使用SQL的常見(jiàn)關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)有:Oracle、 Sybase、 Microsoft SQL Server、 Access、 Ingres等等。雖然絕大多數(shù)的數(shù)據(jù)庫(kù)系統(tǒng)使用SQL,但是它們同樣有它們自立另外的專(zhuān)有擴(kuò)展功能用于它們的系統(tǒng)。但是,標(biāo)準(zhǔn)的SQL命令,比如'Select'、 'Insert'、 'Update'、 'Delete'、 'Create'和 'Drop'常常被用于完成絕大多數(shù)數(shù)據(jù)庫(kù)的操作。

但是,不像其它的語(yǔ)言,如C、Pascal等,SQL沒(méi)有循環(huán)結(jié)構(gòu)(比如if-then-else、do-while)以及函數(shù)定義等等的功能。而且SQL只有一個(gè)數(shù)據(jù)類(lèi)型的固定設(shè)置,換句話(huà)說(shuō),你不能在使用其它編程語(yǔ)言的時(shí)候創(chuàng)建你自己的數(shù)據(jù)類(lèi)型。

SQL功能強(qiáng)大,但是概括起來(lái),它可以分成以下幾組:

DML(Data Manipulation Language,數(shù)據(jù)操作語(yǔ)言):用于檢索或者修改數(shù)據(jù);

DDL(Data Definition Language,數(shù)據(jù)定義語(yǔ)言): 用于定義數(shù)據(jù)的結(jié)構(gòu),比如 創(chuàng)建、修改或者刪除數(shù)據(jù)庫(kù)對(duì)象;

DCL(Data Control Language,數(shù)據(jù)控制語(yǔ)言):用于定義數(shù)據(jù)庫(kù)用戶(hù)的權(quán)限。

2)SQL 常用語(yǔ)句

2.1 SELECT 語(yǔ)句

作用:SELECT 語(yǔ)句用于從表中選取數(shù)據(jù)。結(jié)果被存儲(chǔ)在一個(gè)結(jié)果表中(稱(chēng)為結(jié)果集)。

語(yǔ)法:

SELECT 目標(biāo)表的一個(gè)或多個(gè)列名稱(chēng),列名前可加表達(dá)式,如:avg(年齡) FROM 目標(biāo)表的名稱(chēng);

以及:

SELECT * FROM 表名稱(chēng);

注釋?zhuān)?代表選取全部。

示例:面是示范在一個(gè)表中選取自己想要的信息,例如我只想要老師們的聯(lián)系電話(huà)。

這是原表(教師表),里面包含了教師編號(hào)等等信息,在這個(gè)表中工作時(shí)間、政治面目等等都是我們不需要知道的信息所以我們要有選擇的選取。

這個(gè)是在SQL視圖中輸入的代碼(如何打開(kāi)SQL視圖不在這里列舉)。

代碼的含義是:選取“教師編號(hào),姓名,性別,聯(lián)系電話(huà)“這四個(gè)列,列的來(lái)源是“教師“這個(gè)表

這個(gè)是最終的結(jié)果,可以看到只有我們要的“教師編號(hào),姓名,性別,聯(lián)系電話(huà)“列,政治面目等并沒(méi)有在里面。

拓展1:

SELECT DISTINCT 語(yǔ)句

作用:在一個(gè)表中,可能會(huì)包含重復(fù)值。這并不成問(wèn)題,不過(guò),有時(shí)你也許希望僅僅列出不同(distinct)的值。關(guān)鍵詞 DISTINCT 作用就是用于返回唯一不同的值。

語(yǔ)法:

SELECT DISTINCT 列名稱(chēng) FROM 表名稱(chēng)

示例:

在教師表中有兩個(gè)人的名字是江小洋,這里示范只選取江小洋。

在原表中可以看到“教師編號(hào)“為09,16的兩個(gè)人的名字都是江小洋。

這是SQL代碼。代碼解析是:選取列名為“姓名“中的唯一值,列的來(lái)源是”教師“這個(gè)表。

這是結(jié)果,可以看到他只選取了一個(gè)江小洋。并沒(méi)有顯示兩個(gè)江小洋。

拓展2:

SELECT 表達(dá)式(列名)語(yǔ)句

作用:往往我們?cè)谶x取信息的時(shí)候希望能夠直接得到一些間接信息。如,我想要知道班級(jí)的平均分。

語(yǔ)法:

SELECT 表達(dá)式(列名) FORM 表名

示例:這是一個(gè)“選課成績(jī)“表里面有一個(gè)”成績(jī)“列,我希望直接得到成績(jī)的平均值。

這是原表。

SQL代碼圖,名詞解釋?zhuān)篈VG:為每一組中的指定字段求平均值。(更多的函數(shù)和邏輯運(yùn)算符會(huì)在附錄中列出)

AS:為指定的列或表指定一個(gè)別名。(因?yàn)锳S內(nèi)容并不多就不再單獨(dú)列出一個(gè)拓展了)

代碼解析:選取“成績(jī)”列,并計(jì)算這個(gè)字段的平均值,同時(shí)為這個(gè)字段重新命名為:成績(jī)平均值,這個(gè)列的來(lái)源表是“選課成績(jī)”表。

這是結(jié)果圖,通過(guò)計(jì)算可以得知成績(jī)列的平均值是72.46.

2.2 WHERE 子句

作用:WHERE 子句用于規(guī)定選擇的標(biāo)準(zhǔn)。WHERE后面接的是條件表達(dá)式,如需有條件地從表中選取數(shù)據(jù),可將 WHERE 子句添加到 SELECT 語(yǔ)句

語(yǔ)法:

SELECT 列名稱(chēng) FROM 表名稱(chēng) WHERE 條件表達(dá)式

示例:例如我想知道一個(gè)名字叫“洪智偉”的學(xué)生的信息。

這是原表,里面擁有多條學(xué)生信息,我們可以看到第一個(gè)就是“洪智偉”同學(xué)的信息,我們的目的就是選取他的信息。

代碼圖,代碼解析:選取所有字段名,字段的來(lái)源表是“學(xué)生”表,選取的條件是“姓名”等于“洪智偉”的記錄。

結(jié)果圖,可以看到雖然來(lái)源表中有N條記錄當(dāng)選取到的記錄只有一條。其姓名叫洪智偉。

拓展:AND & OR 運(yùn)算符

作用:AND 和 OR 運(yùn)算符用于基于一個(gè)以上的條件對(duì)記錄進(jìn)行過(guò)濾。AND 和 OR 運(yùn)算符AND 和 OR 可在 WHERE 子語(yǔ)句中把兩個(gè)或多個(gè)條件結(jié)合起來(lái)。如果第一個(gè)條件和第二個(gè)條件都成立,則 AND 運(yùn)算符顯示一條記錄。如果第一個(gè)條件和第二個(gè)條件中只要有一個(gè)成立,則 OR 運(yùn)算符顯示一條

語(yǔ)法:SELECT 列名稱(chēng) FROM 表名稱(chēng) WHERE 條件 AND/OR 條件

注釋?zhuān)篈ND&OR可以嵌套使用!

示例:我想選取“所有山東省的男生”或“所有北京市的女生”

這是原表,數(shù)據(jù)非常多而且雜亂,用刷選來(lái)查找記錄的話(huà)非常麻煩,所以選用SQL來(lái)查詢(xún)。

代碼圖,代碼解析:選取所有字段,字段的來(lái)源是“學(xué)生”表。選取的條件是“性別是男的并且簡(jiǎn)歷是山東省的學(xué)生”或者“性別是女的并且簡(jiǎn)歷是北京市的學(xué)生”(本來(lái)想先做一個(gè)簡(jiǎn)單AND/OR語(yǔ)句再做多個(gè)拓展來(lái)介紹嵌套的使用,不過(guò)覺(jué)得太浪費(fèi)篇幅,并且嵌套不難理解,注意一下嵌套需要用括號(hào)()括住就可以了?。?/p>

2.3 GROUP BY 子句

作用:GROUP BY 語(yǔ)句用于結(jié)合合計(jì)函數(shù),根據(jù)一個(gè)或多個(gè)列對(duì)結(jié)果集進(jìn)行分組。

語(yǔ)法:SELECT 一個(gè)或多個(gè)列名,可接函數(shù)

FROM 表名

WHERE 條件表達(dá)式

GROUP BY 列名

示例:要求列出“選課成績(jī)”表中的“課程編號(hào)”從“110-120”的課程成績(jī)平均值。

原表圖,原表中每個(gè)課程都有N個(gè)學(xué)生選,其成績(jī)也有N項(xiàng),為了直觀的顯示我們來(lái)求以整數(shù)來(lái)表達(dá)的平均值。

SQL代碼圖,名詞解釋?zhuān)篒NT:將數(shù)值取整數(shù),如把72.2顯示為72,四舍五入。

BETWEEN AND : BETWEEN 操作符在 WHERE 子句中使用, BETWEEN ... AND 會(huì)選取介于兩個(gè)值之間的數(shù)據(jù)范圍。這些值可以是數(shù)值、文本或者日期。

代碼解析:選取課程編號(hào)和成績(jī)兩個(gè)字段,并且計(jì)算成績(jī)字段的整數(shù)平均值和更名為成績(jī)平均值,字段的來(lái)源表是“選課成績(jī)”表。選取記錄的條件是”課程編號(hào)在 110 – 120 這個(gè)區(qū)間內(nèi)的記錄”,然后根據(jù)課程編號(hào)來(lái)分組。

結(jié)果圖,課程編號(hào)中只顯示了110-120的記錄,其成績(jī)的平均值也為整數(shù)。!

拓展:HAVING 子句

作用:在 SQL 中增加 HAVING 子句原因是,WHERE 關(guān)鍵字無(wú)法與合計(jì)函數(shù)一起使用。同時(shí)HAVING都是緊跟著GROUP BY 語(yǔ)句出現(xiàn)的,提供一個(gè)組的條件表達(dá)式。

語(yǔ)法:SELECT 一個(gè)或多個(gè)列名,可接函數(shù)

FROM 表名

WHERE 條件表達(dá)式

GROUP BY 列名

HAVING 組條件表達(dá)式

示例:在上一個(gè)示例當(dāng)中更加進(jìn)一步的精確選取數(shù)據(jù),只選取平均分超過(guò)75分的記錄。

因?yàn)槭茄永m(xù)上個(gè)示例,所以原圖一樣就不再列出。

SQL代碼圖,代碼解析:在原有的代碼基礎(chǔ)上添加了HAVING子句。使得數(shù)據(jù)更具有精確性,為了讓大家更加明確了解WHERE和HAVING的區(qū)別在這里在給大家看一個(gè)圖。

可以看到如作用:哪里所說(shuō)的。WHERE子句當(dāng)中是不能使用聚合函數(shù)的!如果我們希望得到一個(gè)平均值大于某個(gè)數(shù)的記錄的話(huà)。我們使用WHERE子句的話(huà)是做不到的,這個(gè)時(shí)候就必須使用HAVING了而需要注意的是HAVING是在GROUP BY語(yǔ)句后使用的。

結(jié)果圖,可以看到110-120區(qū)間內(nèi)只有兩門(mén)課程的成績(jī)平均值在75分以上。

2.4 oRDER BY 子句

作用:ORDER BY 語(yǔ)句用于根據(jù)指定的列對(duì)結(jié)果集進(jìn)行排序。ORDER BY 語(yǔ)句默認(rèn)按照升序?qū)τ涗涍M(jìn)行排序。如果您希望按照降序?qū)τ涗涍M(jìn)行排序,可以使用 DESC 關(guān)鍵字。

語(yǔ)法:

SELECT 一個(gè)或多個(gè)列名,可接函數(shù)

FROM 表名

DRDER BY 列名

示例:讓教師表里面的記錄按照男女排列。

原表圖,原表中是根據(jù)教師編號(hào)來(lái)排列的。

SQL代碼圖,代碼解析:選取全部字段,字段來(lái)源表是“教師”表,表的排序是根據(jù)表中的“性別”字段來(lái)排序。

結(jié)果圖,可以看到表是根據(jù)性別來(lái)來(lái)排序的,先男后女,因?yàn)槟械钠匆羰恰皀an”而女的拼音是“nv”,access中的漢字排序是根據(jù)漢字拼音的字母順序來(lái)排序的。

拓展:綜合應(yīng)用

SELECT 一個(gè)或多個(gè)列名,可接函數(shù)

FROM 表名

WHERE 條件表達(dá)式

GROUP BY 列名

HAVING 組條件表達(dá)式

ORDER BY 列名 DESC

因?yàn)镺RDER BY子句是對(duì)結(jié)果的重新排序,所以在此就不結(jié)合多個(gè)語(yǔ)句使用了,只是告訴大家能結(jié)合之前所學(xué)內(nèi)容使用而已!

示例:對(duì)上個(gè)示例的結(jié)果進(jìn)行降序排列。

原圖一樣就不提供了。

SQL代碼圖,代碼解析:和之前的示例一樣,只是按照降序排列而已。

結(jié)果圖,可以看到和之前的那個(gè)結(jié)果圖的排序剛剛相反,這次是女的排在前。

2.5 INSERT INTO 語(yǔ)句

作用:INSERT INTO 語(yǔ)句用于向表格中插入新的記錄

?。∽⒁庠谔砑佑涗浿耙欢ㄒ炔榭幢惶砑佑涗洷淼淖侄卧O(shè)置屬性,看看字段有沒(méi)有設(shè)置為不能為空或者字段最大值等等之類(lèi)的。

語(yǔ)法:

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

注釋?zhuān)阂驗(yàn)椴迦氲氖且粋€(gè)表的全部列值所以列名可以忽略不寫(xiě)。

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

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

釋?zhuān)喝绻迦氲闹R(shí)表的部分列值的話(huà),則必須列出相應(yīng)的列名。沒(méi)有的列出的列名則取空值。

示例:向“學(xué)生”表添加一個(gè)記錄

原表圖,表中的記錄排第一的是“洪智偉”。

SQL代碼圖,代碼解析:向“學(xué)生”表中的“學(xué)生編號(hào),姓名,年齡,簡(jiǎn)歷”字段添加一個(gè)新的記錄,記錄的內(nèi)容是“學(xué)生編號(hào)為1991,姓名是黃學(xué)宇,年齡為18,簡(jiǎn)歷為廣東省”

注釋?zhuān)阂驗(yàn)樘砑佑涗浘哂胁豢苫謴?fù)性所以access會(huì)彈出個(gè)警告框來(lái)詢(xún)問(wèn)你是不是確定要進(jìn)行這步操作。

結(jié)果圖,可以看到記錄已經(jīng)成功添加,沒(méi)有選擇的字段為空值。

拓展:高級(jí)應(yīng)用

作用:向一個(gè)表中添加由多個(gè)表組合成的新紀(jì)錄。

語(yǔ)法

INSERT INTO 添加記錄的表名稱(chēng)(列1,列2……)

SELECT 表1.列1,表1.列2,表2.列1,表3.列1

FROM 表1,表2,表3

WHERE 條件表達(dá)式;

示例:制作一個(gè)補(bǔ)考人員名單。

原表圖,這是個(gè)空表,在向一個(gè)表添加記錄時(shí)一定要確認(rèn)這個(gè)表的存在而且要確認(rèn)字段的屬性。這是個(gè)我剛剛建立的新表,字段屬性都是文本,沒(méi)有任何限制條件。在這里我是用SQL來(lái)建立的這個(gè)表。關(guān)于建立新表的SQL代碼大家可以使用CREATE TABLE 語(yǔ)句,因?yàn)檫@篇教程只是介紹基本SQL內(nèi)容所以沒(méi)有在這里列舉。有需要的話(huà)我會(huì)在寫(xiě)多一份相對(duì)高級(jí)點(diǎn)的教程。

SQL代碼圖,代碼解析:向“補(bǔ)考人員名單”這份表中的“學(xué)生編號(hào),姓名,課程名稱(chēng),成績(jī)”字段添加記錄。添加的新記錄來(lái)至于“學(xué)生”表中的“學(xué)生編號(hào)”,“學(xué)生”表中的“姓名”,“課程”表中的“課程名稱(chēng)”,“選課成績(jī)”中的“成績(jī)”。選取的條件是“選課成績(jī)”中的“成績(jī)”小于60,且在這些表中“學(xué)生”表里面的“學(xué)生編號(hào)”等于“選課成績(jī)“中的學(xué)生編號(hào)”,“課程”表中的“課程編號(hào)”等于“選課成績(jī)”中的“課程編號(hào)”。同樣的,因?yàn)檫@個(gè)操作具有不可恢復(fù)性所以一樣會(huì)彈出警告框!在這里還可以使用INNER JOIN(內(nèi)連接)語(yǔ)句來(lái)連接這3個(gè)表的相同字段。在這里并沒(méi)有列舉,理由同上。

結(jié)果圖,可以看到所有成績(jī)低于60的記錄都被選取出來(lái)。其顯示結(jié)果也很直觀,聯(lián)系了3個(gè)表中的數(shù)據(jù)。

2.6 UPDATE 語(yǔ)句

作用:Update 語(yǔ)句用于更新,修改表中的數(shù)據(jù)。

語(yǔ)法:

UPDATE 表名稱(chēng)

SET 列名稱(chēng) = 需要改變的新值

WHERE 條件表達(dá)

注釋?zhuān)篧HERE子句用于確認(rèn)目標(biāo)列來(lái)修改數(shù)據(jù)。

示例:修改錯(cuò)誤數(shù)據(jù)。

這是之前的例子用INSERT INTO 語(yǔ)句來(lái)插入的一條記錄,在這里與上個(gè)例子不同的是“黃學(xué)宇”在這里是為團(tuán)員,而且入校日期也沒(méi)有填寫(xiě),我們利用UPDATE來(lái)補(bǔ)齊。

SQL代碼圖,代碼解析:

更新“學(xué)生”表,更新的設(shè)置為:把入校日期更新為“2009-4-22”,把學(xué)生編號(hào)修改為“000000”,團(tuán)員修改為“非團(tuán)員”。更新的列是姓名等于“黃學(xué)宇”的那個(gè)列。

注釋?zhuān)宏P(guān)于 “團(tuán)員 = false ”存在疑問(wèn),因?yàn)槲沂峭ㄟ^(guò)其他語(yǔ)言來(lái)類(lèi)比得出來(lái)的,經(jīng)過(guò)王老師指導(dǎo),說(shuō)是錯(cuò)誤的。當(dāng)然在SQL上使用完全沒(méi)有問(wèn)題,在這里只是給大家提供一個(gè)參考。

結(jié)果圖,數(shù)據(jù)已經(jīng)完全按照我們輸入的那樣來(lái)更新、修改了!

拓展:ALTER TABLE 語(yǔ)句

作用:ALTER TABLE 語(yǔ)句用于在已有的表中添加、修改或刪除列。

語(yǔ)法:

如需在表中添加列,請(qǐng)使用下列語(yǔ)法:

ALTER TABLE 表名

ADD 列名 字段屬性(文本,時(shí)間日期等。。)

要?jiǎng)h除表中的列,請(qǐng)使用下列語(yǔ)法

ALTER TABLE 表名

DROP COLUMN 列名

注釋?zhuān)?/strong>某些數(shù)據(jù)庫(kù)系統(tǒng)不允許這種在數(shù)據(jù)庫(kù)表中刪除列的方式 (DROP COLUMN 列名)。

要改變表中列的數(shù)據(jù)類(lèi)型,請(qǐng)使用下列語(yǔ)法:

ALTER TABLE 表名

ALTER COLUMN 列名 字段屬性

示例:為選課成績(jī)?cè)黾右粋€(gè)字段“評(píng)價(jià)”并把90分以上的同學(xué)的評(píng)價(jià)更新為優(yōu)秀。

這是原表,里面并沒(méi)有我們要的“評(píng)價(jià)”字段。因?yàn)椴荒芡瑫r(shí)使用ALTER TABLE語(yǔ)句和 UPDATE 語(yǔ)句。所以要分開(kāi)弄兩個(gè)SQL代碼。。

SQL代碼圖,代碼解析:向“選課成績(jī)”表增加一個(gè)長(zhǎng)度為255的文本字段。需要注意的是運(yùn)行這個(gè)SQL代碼的時(shí)候必須確認(rèn)你添加列的表并沒(méi)有被打開(kāi)。

結(jié)果圖,可以看到評(píng)價(jià)字段已經(jīng)能夠添加成功。

代碼圖,代碼解析:向“選課成績(jī)”表更新數(shù)據(jù),把評(píng)價(jià)設(shè)置為“優(yōu)秀”,更新字段的條件是“成績(jī)”大于并等于“90”

結(jié)果圖,“成績(jī)”字段大于并等于“90”的記錄的“評(píng)價(jià)”都已經(jīng)被修改為“優(yōu)秀”了!

2.7 DELETE 語(yǔ)句

作用:DELETE 語(yǔ)句用于刪除表中的記錄。

語(yǔ)法:

DELETE FROM 表名稱(chēng) WHERE 條件表達(dá)式

注釋?zhuān)喝绻麤](méi)有WHERE子句的話(huà),則代表刪除表中的全部記錄。有的話(huà)則是刪除滿(mǎn)足WHERE條件的記錄。

示例:刪除學(xué)生表中1990年到1992年間的所有學(xué)生記錄。

原表圖,入校日期都是7月份的九號(hào)。

SQL代碼圖,代碼解析:刪除記錄,來(lái)源于“學(xué)生”表,刪除的條件是“入校日期”在1990年初到1992年初。

結(jié)果圖,可以看到現(xiàn)在入校日期是1992年7月9號(hào)開(kāi)始的了,之前1990-1992年間的記錄都已經(jīng)被刪除。

大家學(xué)會(huì)一點(diǎn)SQL知識(shí)沒(méi)有,歡迎大家分享并轉(zhuǎn)發(fā)關(guān)注,謝謝!

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶(hù)發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服