App下載

pymysql庫的操作與sql查詢語句

玹333 2021-11-04 11:41:25 瀏覽數 (7143)
反饋

程序員的工作少不了要和數據庫打交道。下面以 Python 語言為例,使用 Python 第三方庫 pymysql 來和 MySQL 數據庫進行一些查詢操作。

一、pymysql

在 Python 語言關于跟數據庫交互的第三方庫有很多,以 MySQL 數據庫為例,有:mysqldb、mysqlclient、pymysql等等。

三者之間,個人比較推薦 pymysql 庫。不僅安裝簡單,而且使用起來也是簡單的。

安裝

pymysql 的安裝非常的簡單,就和大多數庫的安裝是一樣的。只需要在終端,輸入以下的命令即可:

pip install pymysql

只需要等上片刻,就可以使用 pymysql 庫。

如果因為網速問題,也可以引用鏡像源來安裝該庫,如清華源、淘寶源等等。

pip install pymysql -i ['清華源網址']

使用

# 導入模塊
import pymysql
# 創(chuàng)建連接
conn = pymysql.connect(
host='數據庫地址,如localhost、127.0.0.1',
   user='用戶名',
   password='密碼',
   database='數據庫名'
)
# 創(chuàng)建游標。游標有點類似于指針的作用,從包括多條數據記錄的結果集中每次提取一條記錄的機制。
## 概括地說,游標相當于是臨時的數據庫對象,用來存放數據庫表中的數據行副本,也可以指向存儲在數據中的數據行的指針。
## 游標用于后面執(zhí)行 sql 語句。
cursor = conn.cursor() # 如此設置,后面的結果集是以元組的形式出現。
# cursor = conn.cursor(pymysql.cursors.DictCursor) # 這種形式的游標,結果是以字典的形式出現。
# sql 語句
sql = '''SELECT * FROM table'''
# 執(zhí)行 sql 語句
cursor.execute(sql)
# 提交數據庫。當你插入數據的時候,不執(zhí)行這一步,數據是不會導入數據庫的。
conn.commit()
# 關閉游標和數據庫,釋放內存。這是一個好習慣!??!
cursor.close()
conn.close()

二、sql 查詢語句 SELECT

sql 這一門語言學習起來并不難,在后面的深入或許就有些復雜了。程序員經常會使用 sql 語言來對數據庫進行增刪改查等操作,下面主要說一下其中查詢語句 SELECT。

1、獲取表中某一列的數據

sql = '''SELECT name from tbl_role'''
cursor.execute(sql)
# fetchall 獲取所有查詢的內容
a = cursor.fetchall()
for i in a:
   print(a)

查詢結果:

image-20211104112452518

同時也可以獲取多列或者全部的內容。sql語句如下:

SELECT * FROM tbl_role 
SELECT column1, column2, column3 FROM tbl_role

2、DISTINCT 關鍵字

和 SELECT 語句相結合,將會去掉重復的記錄,留下唯一的信息。

sql = '''SELECT DISTINCT age FROM tbl_role'''

查詢結果:

image-20211104111935100

3、ORDER BY 排序

ORDER BY 關鍵字會起到自動排序的作用,默認是以升序(ASC)的形式排序。如果想要以降序的形式排序,可以加入關鍵字 DESC。

sql = '''SELECT * FROM tbl_role ORDER BY age DESC'''

查詢結果:

image-20211104112242833

4、LIMIT 關鍵字

默認返回所有符合SQL語句中指定條件的結果。

sql = '''SELECT * from tbl_role LIMIT 5'''

5 表示獲取列表的前五行。

查詢結果:

image-20211104112452518

sql = '''SELECT * from tbl_role LIMIT 3, 5'''

如果數字在程序作為位置索引,默認是從 0 開始。因此,3 表示從第四個位置開始,獲取前五行的信息。

查詢結果:

image-20211104112633997

三、總結

以上就是關于 Python 第三方庫 pymysql 的一些基本操作介紹和 sql 語言的查詢語句 SELECT 以及部分關鍵字的結合使用。感謝各位的閱讀!


0 人點贊