Python資料庫學習筆記(三):資料庫進階操作

Yanwei Liu
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_name
like&in&between
WHERE columnN LIKE pattern(通配符為:’_’,’%’;前者匹配一個字符,後者可以匹配若干字符)
max&min&count&avg&sum的聚合操作
SELECT 聚合操作函數(column_name) FROM table_name
group 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 6
MAX&MIN&COUNT&AVG&SUM的聚合操作#計算sepal_length中的最大值、最小值、平均值、總和,以及計數值
SELECT max(sepal_length), min(sepal_length), avg(sepal_length), sum(sepal_length), count(sepal_length) FROM iris
GROUP 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

--

--

No responses yet