大數據開發基礎之SQL語句基本操作
昨天我們把MySQL的基礎知識大概說了一遍,所以接下來幾篇文章我們都會細化的講講MySQL的一些內容,而今天就給大家帶來大數據開發基礎之SQL語句基本操作,在有了理論知識后也必須動手實操才行。
要掌握好SQL,我們就得學會最基本的四條數據操作語句,分別是Insert,Select,Update和Delete。熟練掌握SQL是數據庫用戶的最大收獲。在本篇文章中,將會幫助你熟悉和掌握四條最基本的數據操作語句—SQL的核心功能并依次介紹比較操作符、選擇斷言以及三值邏輯。
一、SELECT語句
因為查詢和檢索數據是數據庫管理中最重要的功能,所以SELECT語句在SQL中是工作量最大的部分。SELECT語句可以從一個或多個表中選取特定的行和列。
SELECT語句的結果通常是生成另外一個表。在執行過程中系統根據用戶的標準從數據庫中選出匹配的行和列,并將結果放到臨時的表中。在直接SQL(direct SQL)中,它將結果顯示在終端的顯示屏上,或者將結果送到打印機或文件中。也可以結合其他SQL語句來將結果放到一個已知名稱的表中。
select簡單的查詢分為兩種
(字段也就是表結構中的列的名稱)
第一種:
select 字段名 from 表名
此種查詢只列出你所需要查詢的字段,要查詢多個字段以“,”隔開
第二種:
select * from 表名
* 的意思是查詢出此表的所有字段
額外的內容:distinct關鍵字
select distinct 字段名 from 表名
給查詢的結果去重
二、INSERT語句
用戶可以用INSERT語句將一行記錄插入到指定的一個表中。例如,要將雇員John Smith的記錄插入到本例的表中,可以使用如下語句:
INSERT INTO EMPLOYEES VALUES
('Smith','John','1980-06-10',
'Los Angles',16,45000);
通過這樣的INSERT語句,系統將試著將這些值填入到相應的列中。這些列按照我們創建表時定義的順序排列。在本例中,第一個值“Smith”將填到第一個列LAST_NAME中;第二個值“John”將填到第二列FIRST_NAME中……以此類推。
我們說過系統會“試著”將值填入,除了執行規則之外它還要進行類型檢查。如果類型不符(如將一個字符串填入到類型為數字的列中),系統將拒絕這一次操作并返回一個錯誤信息。
如果SQL拒絕了你所填入的一列值,語句中其他各列的值也不會填入。這是因為SQL提供對事務的支持。一次事務將數據庫從一種一致性轉移到另一種一致性。如果事務的某一部分失敗,則整個事務都會失敗,系統將會被恢復(或稱之為回退)到此事務之前的狀態。
insert插入數據行(記錄)的兩種簡單實現方式
第一種:
insert into 表名 values(值1,值2...)
這種插入數據行的的值必須與表的字段名一一對應,否則數據會插入失敗給出錯誤提示:
錯誤提示:Column count doesn't match value count at row 1
第二種:
insert into 表名(字段名,字段名...) values(值1,值2...),這是指定字段名來插入數據
三、UPDATE語句
UPDATE語句允許用戶在已知的表中對現有的行進行修改。
例如,我們剛剛發現Indiana Jones的等級為16,工資為$40,000.00,我們可以通過下面的SQL語句對數據庫進行更新(并清除那些煩人的NULL)。
UPDATE EMPLOYEES
SET GRADE = 16, SALARY = 40000
WHERE FIRST_NAME = 'Indiana'
AND LAST_NAME = 'Jones';
語法:
update 表名 set 字段名 = 新值 where 字段名 = 舊值
大數據開發基礎之SQL語句基本操作
where 后面接條件,條件有多種多樣,后面我會一一說明。在這里where的意思就是我要修改這個字段名下的這個舊值,新值寫在set后面
四、DELETE語句
DELETE語句用來刪除已知表中的行。如同UPDATE語句中一樣,所有滿足WHERE子句中條件的行都將被刪除。由于SQL中沒有UNDO語句或是“你確認刪除嗎?”之類的警告,在執行這條語句時千萬要小心。如果決定取消Los Angeles辦事處并解雇辦事處的所有職員,這一卑鄙的工作可以由以下這條語句來實現:
DELETE FROM EMPLOYEES
WHERE BRANCH_OFFICE = 'Los Angeles';
如同UPDATE語句中一樣,省略WHERE子句將使得操作施加到表中所有的行。
DELETE語句的語法流圖如下面所示:
DELETE FROM table
[WHERE predicate [ { logical-connector predicate} ] ];
語法:
delete from 表名 where 字段名 = 值
根據字段名找到值的這一行記錄就被刪除了
現在我們完成了數據操作語言(DML)的主要語句的介紹。SQL還提供了許多的功能,如求平均值、求和以及其他對表中數據的計算,因篇幅有限也只能講到這里了。