欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

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

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

開(kāi)通VIP
數據分析人必掌握的數據庫語(yǔ)言——SQL指南第七期
userphoto

2022.08.28 福建

關(guān)注

本篇重點(diǎn)為大家講解組合數據、數據插入、更新和刪除數據相關(guān)內容。

01 組合查詢(xún)

多數SQL查詢(xún)只包含從一個(gè)或多個(gè)表中返回數據的單條SELECT語(yǔ)句。但是,SQL也允許執行多個(gè)查詢(xún),并將結果作為一個(gè)查詢(xún)結果集返回。這些組合查詢(xún)通常稱(chēng)為并(union)或復合查詢(xún)(compound query)。

主要有兩種情況需要使用組合查詢(xún):

? 在一個(gè)查詢(xún)中從不同的表返回結構數據;

? 對一個(gè)表執行多個(gè)查詢(xún),按一個(gè)查詢(xún)返回數據。

創(chuàng )建組合查詢(xún)

利用UNION,可給出多條SELECT語(yǔ)句,將它們的結果組合成一個(gè)結果集。

使用方法:給出每條SELECT語(yǔ)句,在各條語(yǔ)句之間放上關(guān)鍵字UNION。

假如需要Illinois、Indiana和Michigan等美國幾個(gè)州的所有顧客的報表,還想包括不管位于哪個(gè)州的所有的Fun4All。

示例:SELECT cust_name, cust_contact, cust_email FROM CustomersWHERE cust_state IN ('IL','IN','MI')UNIONSELECT cust_name, cust_contact, cust_email FROM CustomersWHERE cust_name = 'Fun4All'

分析:這條語(yǔ)句由兩條SELECT語(yǔ)句組成,之間用UNION關(guān)鍵字分隔。UNION指示DBMS執行這兩條SELECT語(yǔ)句,并把輸出組合成一個(gè)查詢(xún)結果集。

在簡(jiǎn)單的例子中,使用UNION可能比使用WHERE子句更為復雜。但對于較復雜的過(guò)濾條件,或者從多個(gè)表中檢索數據的情形,使用UNION可能會(huì )使處理更簡(jiǎn)單。

1、UNION規則

? UNION必須由兩條或兩條以上的SELECT語(yǔ)句組成,語(yǔ)句之間用關(guān)鍵字UNION分隔。

? UNION中的每個(gè)查詢(xún)必須包含相同的列、表達式或聚集函數。

? 列數據類(lèi)型必須兼容:類(lèi)型不必完全相同,但必須是DBMS可以隱含轉換的類(lèi)型。

2、包含或取消重復的行

使用UNION時(shí),重復的行會(huì )被自動(dòng)取消,這是UNION的默認行為,如果想返回所有的匹配行,可使用UNION ALL。

示例:SELECT cust_name, cust_contact, cust_email FROM CustomersWHERE cust_state IN ('IL','IN','MI')UNION ALLSELECT cust_name, cust_contact, cust_email FROM CustomersWHERE cust_name = 'Fun4All'

3、對組合查詢(xún)結果排序

在用UNION組合查詢(xún)時(shí),只能使用一條ORDER BY子句,它必須位于最后一條SELECT語(yǔ)句之后。

示例:SELECT cust_name, cust_contact, cust_email FROM CustomersWHERE cust_state IN ('IL','IN','MI')UNIONSELECT cust_name, cust_contact, cust_email FROM CustomersWHERE cust_name = 'Fun4All'ORDER BY cust_name, cust_contact

TopBDA大數據分析師培訓

除了SQL數據庫學(xué)習,還有大量數據分析知識和實(shí)操等你探索!

02 數據插入

SELECT是最常用的SQL語(yǔ)句,還有其他3個(gè)常用的SQL語(yǔ)句需要學(xué)習,第一個(gè)就是INSERT,另外兩個(gè)之后為大家介紹。

INSERT用來(lái)將行插入或添加到數據庫表,插入有幾種方式:

? 插入完整的行;

? 插入行的一部分;

? 插入某些查詢(xún)的結果。

插入完整的行

把數據插入表中的最簡(jiǎn)單方法是使用基本的INSERT語(yǔ)法。

示例:INSERT INTO Customers (cust_id,                       cust_name,                       cust_address,                       cust_city,                       cust_state,                       cust_zip,                       cust_country,                       cust_contact,                       cust_email)VALUES (1000000006,        'Toy Land',        '123 Any Street',        'New York',        'NY',        '11111',        'USA',        NULL,        NULL)

分析:在插入行時(shí),DBMS將用VALUES列表中的相應值填入列表中的對應項。VALUES中的第一個(gè)值對應于第一個(gè)指定列名,第二個(gè)值對應于第二個(gè)列名,如此等等。

插入部分行

使用這種語(yǔ)法,還可以省略列,這表示可以只給某些列提供值,給其他列不提供值。

示例:INSERT INTO Customers (cust_id, cust_name, cust_address, cust_city, cust_state, cust_zip, cust_country)VALUES (1000000006, 'Toy Land', '123 Any Street', 'New York', 'NY', '11111', 'USA')

分析:沒(méi)有給cust_contactcust_email這兩列提供值,這表示沒(méi)必要在INSERT語(yǔ)句中包含它們。因此,這里的INSERT語(yǔ)句省略了這兩列及其對應的值。

插入檢索出的數據

INSERT一般用來(lái)給表插入具有指定列值的行。

INSERT還存在另一種形式,可以利用它將SELECT語(yǔ)句的結果插入表中,這就是所謂的INSERT SELECT。

假如想把另一表中的顧客列合并到Customers表中,不需要每次讀取一行再將它用INSERT插入,可以如下進(jìn)行:

INSERT INTO Customers (cust_id,                       cust_name,                       cust_address,                       cust_city,                       cust_state,                       cust_zip,                       cust_country,                       cust_contact,                       cust_email)SELECT (cust_id,        cust_contact,        cust_email,        cust_name,        cust_address,        cust_city,        cust_state,        cust_zip,        cust_countryFORM CustNew

分析:使用INSERT SELECT從CustNew中將所有數據導入Customers。SELECT語(yǔ)句從CustNew檢索出要插入的值,SELECT中列出的每一列對應于Customers表名后所跟的每一列。

從一個(gè)表復制到另一個(gè)表

可以使用CREATE SELECT語(yǔ)句(或者在SQL Server里也可用SELECT INTO語(yǔ)句)。

INSERT SELECT將數據添加到一個(gè)已經(jīng)存在的表不同,CREATE SELECT將數據復制到一個(gè)新表。

CREATE TABLE CustCopy AS SELECT * FROM Customer s

使用SQL Server,可以這么寫(xiě):

SELECT * INTO CustCopy FROM Customers

分析:創(chuàng )建一個(gè)名為CustCopy的新表,并把Customers表的整個(gè)內容復制到新表中。

在使用SELECT INTO時(shí),任何SELECT選項和子句都可以使用,包括WHEREGROUP BY;可利用連接從多個(gè)表插入數據;不管從多少個(gè)表中檢索數據,數據都只能插入到一個(gè)表中。

03 更新和刪除數據

更新數據

更新表中的數據,可以使用UPDATE語(yǔ)句,使用UPDATE的方式有兩種:

? 更新表中的特定行;

? 更新表中的所有行。

基本UPDATE語(yǔ)句由三部分組成,分別是:

? 要更新的表;

? 列名和它們的新值;

? 確定要更新哪些行的過(guò)濾條件。

舉一個(gè)簡(jiǎn)單例子,客戶(hù)1現在有了電子郵件地址,因此他的記錄需要更新,語(yǔ)句如下:

UPDATE CustomersSET cust_email='kim@thetoystore.com'WHERE cust_id =1

分析:UPDATE語(yǔ)句以要更新的表名開(kāi)始。要更新的表名為Customers。SET命令用來(lái)將新值賦給被更新的列。UPDATE語(yǔ)句以WHERE子句結束,它告訴DBMS更新哪一行。

更新多個(gè)列的語(yǔ)法稍有不同。

UPDATE CustomersSET cust_contact ='Sam Roberts',    cust_email ='sam@toyland.com'WHERE cust_id = 1

分析:在更新多個(gè)列時(shí),只需要使用一條SET命令,每個(gè)“列=值”對之間用逗號分隔(最后一列之后不用逗號)。

要刪除某個(gè)列的值,可設置它為NULL。

UPDATE CustomersSET cust_email = NULLWHERE cust_id = 1

分析:NULL用來(lái)去除cust_email列中的值。

刪除數據

從一個(gè)表中刪除數據,使用DELETE語(yǔ)句,使用DELETE的方式有兩種:

? 從表中刪除特定的行;

? 從表中刪除所有行。

示例:DELETE FROM Customers WHERE cust_id =1

分析:DELETEFROM要求指定刪除數據的表名,WHERE子句過(guò)濾要刪除的行。如果省略WHERE子句,它將刪除表中每個(gè)顧客。

DELETE不需要列名或通配符,DELETE刪除整行而不是刪除列,要刪除指定的列,使用UPDATE語(yǔ)句。

使用UPDATE或DELETE時(shí)所遵循的重要原則:

? 除非更新和刪除每一行,否則絕對不要使用不帶WHERE子句的UPDATE或DELETE語(yǔ)句。

? 保證每個(gè)表都有主鍵,盡可能像WHERE子句那樣使用它。

? 在UPDATE或DELETE語(yǔ)句使用WHERE子句前,應該先用SELECT進(jìn)行測試,保證它過(guò)濾的是正確的記錄,以防編寫(xiě)的WHERE子句不正確。

? 使用強制實(shí)施引用完整性的數據庫,這樣DBMS將不允許刪除其數據與其他表相關(guān)聯(lián)的行。

? 有的DBMS允許數據庫管理員施加約束,防止執行不帶WHERE子句的UPDATE或DELETE語(yǔ)句。若是SQL沒(méi)有撤銷(xiāo)(undo)按鈕,應該非常小心地使用UPDATE和DELETE。

以上就是今天分享的全部?jì)热?,下期重點(diǎn)為大家介紹使用視圖和創(chuàng )建和操縱表,我們下期見(jiàn)!

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
新手MySQL工程師必備命令速查手冊
UC頭條:如何向表中插入數據以及如何更新、刪除表中的數據
SQL 基礎:Select語(yǔ)句,各種join,union用法
MySQL之表的創(chuàng )建與使用篇
最全的Java筆試題庫之選擇題篇-總共234道【181~234】
sql select語(yǔ)句的基本知識
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久