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




















 
 
 




 
 
 
 