Python数据库编程可以使用多种模块与API,例如SQLite、MySQL、PostgreSQL等。本教程将重点介绍使用Python连接MySQL数据库进行编程。
MySQL是一种常见的关系型数据库,我们可以使用Python的PyMySQL模块与MySQL进行交互。
在此之前,我们可以使用 pip install pymysql
安装插件。安装完成后,即可引入pymysql实现数据库操作。
在python中操作数据库,可以说只需按部就班就行了
- 1.创建数据库连接
- 2.获取游标
- 3.执行SQL语句(增删改查等)
- 4.关闭SQL连接
1.连接到MySQL数据库
我们可以使用 connect()
方法连接到MySQL数据库。需要提供主机名、用户名、密码和数据库名。
import pymysql
conn = pymysql.connect(host='localhost', user='root', password='password', db='testdb')
2.创建表
在MySQL中,我们使用CREATE TABLE语句来创建表。在Python程序中,我们可以通过执行SQL语句来创建表。
import pymysql
conn = pymysql.connect(host='localhost', user='root', password='password', db='testdb')
cur = conn.cursor()
cur.execute('''CREATE TABLE stocks (date text, trans text, symbol text, qty real, price real)''')
conn.commit()
conn.close()
这个例子创建了一个名为stocks的表,包含五个列:日期、交易类型、股票代码、数量和价格。
上一篇:python网络编程
3.插入/更新数据
我们可以使用INSERT INTO语句向表中插入数据。
import pymysql
conn = pymysql.connect(host='localhost', user='root', password='password', db='testdb')
cur = conn.cursor()
cur.execute("INSERT INTO stocks VALUES ('2020-11-01', 'BUY', 'AAPL', 100, 122.5)")
conn.commit()
conn.close()
# 更新数据
update_sql = "update stocks set trans ='SALE' where date='2023-06-04'"
cur.execute(update_sql)
conn.commit()
conn.close()
这个例子向stocks表中插入了一行数据。
4.查询数据
我们可以使用SELECT语句查询表中的数据。
import pymysql
conn = pymysql.connect(host='localhost', user='root', password='password', db='testdb')
cur = conn.cursor()
cur.execute("SELECT * FROM stocks")
print(cur.fetchall())
conn.close()
这个例子查询了stocks表中的所有数据,并打印出来。
5. 异常处理
对于支持事务的数据库, 在Python数据库编程中,当游标建立之时,就自动开始了一个隐形的数据库事务。commit()方法执行游标的所有更新操作,
而通过 rollback()方法,我们可以在发生异常时,回滚当前游标的所有操作。
更多异常处理,可阅读:Python异常处理:try…except语句
import pymysql
conn = pymysql.connect(host='localhost', user='root', password='password', db='testdb')
cur = conn.cursor()
try:
cur.execute("INSERT INTO stocks VALUES ('2020-11-01', 'BUY', 'AAPL', 100, 122.5)")
conn.commit()
except:
#发生错误时回滚
conn.rollback()
# 关闭连接
conn.close()
6.小结
上一篇:Python基础教程:Socket网络编程
上述教程中,我们简单学习了如何使用pymysql
对mysql数据库进行操作。同时,python中还有一些其他的第三方组件,如 MySQLdb、Mysqlclient等。
你知道吗,其实 Python
还自带SQLite
数据库,直接在代码中使用 import sqllite3
即可引入插件,不妨自己动手,亲自体验下吧!
[…] 上一篇:Python基础教程:整合MySQL数据库 […]