优草派 > Python

Python 3.x 连接数据库示例(pymysql 方式)

赵天宇         优草派

在现代软件开发中,数据库连接是必不可少的一部分。Python 3.x 作为一种高级编程语言,也提供了各种数据库连接的方式,其中最常用的是使用 pymysql 模块。本文将详细介绍如何使用 pymysql 模块连接 MySQL 数据库,并对其进行增、删、改、查的操作。

1. 安装 pymysql 模块

Python 3.x 连接数据库示例(pymysql 方式)

在使用 pymysql 模块前,需要先安装它。我们可以使用 pip 工具来进行安装:

```

pip install pymysql

```

2. 连接 MySQL 数据库

连接 MySQL 数据库前,需要先创建一个数据库和一张表。我们可以使用 MySQL 命令行工具进行操作:

```

mysql> CREATE DATABASE testdb;

mysql> USE testdb;

mysql> CREATE TABLE user (

id INT(11) NOT NULL AUTO_INCREMENT,

name VARCHAR(50) NOT NULL,

age INT(11) NOT NULL,

PRIMARY KEY (id)

);

```

在创建完成数据库和表后,我们就可以使用 pymysql 模块连接到 MySQL 数据库了。具体连接方式如下:

```

import pymysql

# 打开数据库连接

db = pymysql.connect("localhost", "root", "password", "testdb")

# 使用 cursor() 方法创建一个游标对象 cursor

cursor = db.cursor()

# 执行 SQL 语句

cursor.execute("SELECT VERSION()")

# 获取一条数据

data = cursor.fetchone()

print("Database version : %s " % data)

# 关闭数据库连接

db.close()

```

上述代码中,我们首先使用 pymysql 的 connect() 方法连接到本地的 MySQL 数据库,其中 "localhost" 表示本地主机,"root" 表示用户名,"password" 表示密码,"testdb" 表示数据库名。接着,使用 cursor() 方法创建一个游标对象 cursor,用于执行 SQL 语句。在这里,我们执行了一个查询数据库版本的 SQL 语句,然后使用 fetchone() 方法获取一条数据。最后,使用 close() 方法关闭数据库连接。

3. 插入数据

插入数据是我们使用数据库最常见的操作之一。我们可以使用 pymysql 的 execute() 方法来执行插入数据的 SQL 语句:

```

# 打开数据库连接

db = pymysql.connect("localhost", "root", "password", "testdb")

# 使用 cursor() 方法创建一个游标对象 cursor

cursor = db.cursor()

# SQL 插入语句

sql = "INSERT INTO user(name, age) VALUES ('Mike', 20)"

try:

# 执行 SQL 语句

cursor.execute(sql)

# 提交到数据库执行

db.commit()

except:

# 发生错误时回滚

db.rollback()

# 关闭数据库连接

db.close()

```

上述代码中,我们首先连接到 testdb 数据库,并创建一个游标对象 cursor。接着,我们定义了一个插入数据的 SQL 语句,使用 execute() 方法执行该语句。如果插入成功,我们就使用 commit() 方法提交到数据库中。如果发生错误,我们就使用 rollback() 方法回滚。最后,使用 close() 方法关闭数据库连接。

4. 更新数据

更新数据也是我们常见的操作之一。我们可以使用 pymysql 的 execute() 方法来执行更新数据的 SQL 语句:

```

# 打开数据库连接

db = pymysql.connect("localhost", "root", "password", "testdb")

# 使用 cursor() 方法创建一个游标对象 cursor

cursor = db.cursor()

# SQL 更新语句

sql = "UPDATE user SET age = age + 1 WHERE name = 'Mike'"

try:

# 执行 SQL 语句

cursor.execute(sql)

# 提交到数据库执行

db.commit()

except:

# 发生错误时回滚

db.rollback()

# 关闭数据库连接

db.close()

```

上述代码中,我们首先连接到 testdb 数据库,并创建一个游标对象 cursor。接着,我们定义了一个更新数据的 SQL 语句,使用 execute() 方法执行该语句。如果更新成功,我们就使用 commit() 方法提交到数据库中。如果发生错误,我们就使用 rollback() 方法回滚。最后,使用 close() 方法关闭数据库连接。

5. 删除数据

删除数据也是我们常见的操作之一。我们可以使用 pymysql 的 execute() 方法来执行删除数据的 SQL 语句:

```

# 打开数据库连接

db = pymysql.connect("localhost", "root", "password", "testdb")

# 使用 cursor() 方法创建一个游标对象 cursor

cursor = db.cursor()

# SQL 删除语句

sql = "DELETE FROM user WHERE name = 'Mike'"

try:

# 执行 SQL 语句

cursor.execute(sql)

# 提交到数据库执行

db.commit()

except:

# 发生错误时回滚

db.rollback()

# 关闭数据库连接

db.close()

```

上述代码中,我们首先连接到 testdb 数据库,并创建一个游标对象 cursor。接着,我们定义了一个删除数据的 SQL 语句,使用 execute() 方法执行该语句。如果删除成功,我们就使用 commit() 方法提交到数据库中。如果发生错误,我们就使用 rollback() 方法回滚。最后,使用 close() 方法关闭数据库连接。

6. 查询数据

查询数据也是我们常见的操作之一。我们可以使用 pymysql 的 execute() 方法来执行查询数据的 SQL 语句,并使用 fetchall() 方法获取所有数据:

```

# 打开数据库连接

db = pymysql.connect("localhost", "root", "password", "testdb")

# 使用 cursor() 方法创建一个游标对象 cursor

cursor = db.cursor()

# SQL 查询语句

sql = "SELECT * FROM user"

try:

# 执行 SQL 语句

cursor.execute(sql)

# 获取所有记录列表

results = cursor.fetchall()

for row in results:

id = row[0]

name = row[1]

age = row[2]

# 打印结果

print("id=%d,name=%s,age=%d" % (id, name, age))

except:

print("Error: unable to fetch data")

# 关闭数据库连接

db.close()

```

上述代码中,我们首先连接到 testdb 数据库,并创建一个游标对象 cursor。接着,我们定义了一个查询数据的 SQL 语句,使用 execute() 方法执行该语句,并使用 fetchall() 方法获取所有数据。最后,我们遍历所有数据,并打印出结果。如果发生错误,我们就使用 print() 方法输出错误信息。最后,使用 close() 方法关闭数据库连接。

  • 微信好友

  • 朋友圈

  • 新浪微博

  • QQ空间

  • 复制链接

取消
5天短视频训练营
新手入门剪辑课程,零基础也能学
分享变现渠道,助你兼职赚钱
限时特惠:0元
立即抢
新手剪辑课程 (精心挑选,简单易学)
第一课
新手如何学剪辑视频? 开始学习
第二课
短视频剪辑培训班速成是真的吗? 开始学习
第三课
不需要付费的视频剪辑软件有哪些? 开始学习
第四课
手机剪辑app哪个好? 开始学习
第五课
如何做短视频剪辑赚钱? 开始学习
第六课
视频剪辑接单网站APP有哪些? 开始学习
第七课
哪里可以学短视频运营? 开始学习
第八课
做短视频运营需要会什么? 开始学习
【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。

客服热线:0731-85127885

湘ICP备19005950号-1  

工商营业执照信息

违法和不良信息举报

举报电话:0731-85127885 举报邮箱:tousu@csai.cn

优草派  版权所有 © 2024