pymysql库的操作与sql查询语句

2021-11-04 11:41:25 浏览数 (6764)

程序员的工作少不了要和数据库打交道。下面以 Python 语言为例,使用 Python 第三方库 pymysql 来和 MySQL 数据库进行一些查询操作。

一、pymysql

在 Python 语言关于跟数据库交互的第三方库有很多,以 MySQL 数据库为例,有:mysqldb、mysqlclient、pymysql等等。

三者之间,个人比较推荐 pymysql 库。不仅安装简单,而且使用起来也是简单的。

安装

pymysql 的安装非常的简单,就和大多数库的安装是一样的。只需要在终端,输入以下的命令即可:

pip install pymysql

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

如果因为网速问题,也可以引用镜像源来安装该库,如清华源、淘宝源等等。

pip install pymysql -i ['清华源网址']

使用

# 导入模块
import pymysql
# 创建连接
conn = pymysql.connect(
host='数据库地址,如localhost、127.0.0.1',
   user='用户名',
   password='密码',
   database='数据库名'
)
# 创建游标。游标有点类似于指针的作用,从包括多条数据记录的结果集中每次提取一条记录的机制。
## 概括地说,游标相当于是临时的数据库对象,用来存放数据库表中的数据行副本,也可以指向存储在数据中的数据行的指针。
## 游标用于后面执行 sql 语句。
cursor = conn.cursor() # 如此设置,后面的结果集是以元组的形式出现。
# cursor = conn.cursor(pymysql.cursors.DictCursor) # 这种形式的游标,结果是以字典的形式出现。
# sql 语句
sql = '''SELECT * FROM table'''
# 执行 sql 语句
cursor.execute(sql)
# 提交数据库。当你插入数据的时候,不执行这一步,数据是不会导入数据库的。
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 以及部分关键字的结合使用。感谢各位的阅读!