Python資料庫學習筆記(三):資料庫進階操作
4 min readApr 27, 2019
本文學習內容
- DISTINCT:去除重複
- 比較操作:LIKE,IN,BETWEEN
- 聚合操作:MAX,MIN,COUNT,AVG,SUM
- 分組操作:GROUP BY
- 主鍵、索引:關乎數據庫表的結構與數據庫的性能
- 表的連接(join):通過表格之間的連接,可以同時從多張表格中讀取數據
SQL語句
通用語法
distinct
SELECT DISTINCT column1,column2,… FROM table_namelike&in&between
WHERE columnN LIKE pattern(通配符為:’_’,’%’;前者匹配一個字符,後者可以匹配若干字符)max&min&count&avg&sum的聚合操作
SELECT 聚合操作函數(column_name) FROM table_namegroup by 操作
SELECT column_name FROM table_name WHERE condition GROUP BY column_name(s)
實際案例操作
DISTINCT#選擇IRIS數據中所有不同的種類SELECT DISTINCT species FROM irisLIKE&IN&BETWEEN 比較操作#選擇IRIS數據中,species的字串中包含』osa’的記錄
#選擇IRIS數據中,sepal_width的值是3或4的所有記錄
#選擇IRIS數據中,sepal_length的值在4和6之間的所有記錄SELECT * FROM iris WHERE species LIKE 『%osa’
SELECT * FROM iris WHERE sepal_width in (3,4)
SELECT * FROM iris WHERE sepal_length BETWEEN 4 AND 6MAX&MIN&COUNT&AVG&SUM的聚合操作#計算sepal_length中的最大值、最小值、平均值、總和,以及計數值
SELECT max(sepal_length), min(sepal_length), avg(sepal_length), sum(sepal_length), count(sepal_length) FROM irisGROUP BY 操作#計算每一類鳶尾花的sepal_length資料的最大值、最小值、平均值、總和,以及計數值SELECT max(sepal_length), min(sepal_length), avg(sepal_length), sum(sepal_length), count(sepal_length), species FROM iris GROUP BY species
主鍵、索引
主鍵(Primary Key):用於唯一確定表中的一條記錄索引(Index):WHERE實現二分索引
設定索引
1.創建新表iris_with_id,在CSV中創建新列
2.複製一個新表,只導入字段,不導入數據
3.創建新字段』id’,修改數據類型,並設置為主鍵(主鍵是唯一性索引),默認選擇無默認值。
4.最後按照上一節視頻中的指導,導入數據依照id進行查詢想要選擇id=30行的數據:SELECT * FROM iris_with_id WHERE id=30
表連接(Join)
根據不同的需求,常常會需要連接不同的表格進行跨表查詢。
SELECT column_name(s)
FROM table1
INNER JOIN table2 ON table1.column_name=table2.column_name;
實際案例操作
#篩選條件:iris_with_id表格中species字段等於species_info表格中species_name字段,返回符合條件的兩張表的所有行。SELECT * FROM iris INNER JOIN species_info ON iris.species=species_info.species_name#篩選條件:iris_with_id表格中species字段等於species_info表格中species_name字段,且sepal_length>3,返回符合條件的兩張表的所有行SELECT * FROM iris INNER JOIN species_info ON iris.species=species_info.species_name WHERE sepal_length>3