Python基础教程:整合MySQL数据库

901 阅读2分钟

Python数据库编程可以使用多种模块与API,例如SQLite、MySQL、PostgreSQL等。本教程将重点介绍使用Python连接MySQL数据库进行编程。 MySQL是一种常见的关系型数据库,我们可以使用Python的PyMySQL模块与MySQL进行交互。 在此之前,我们可以使用 pip install pymysql 安装插件。安装完成后,即可引入pymysql实现数据库操作。 在python中操作数据库,可以说只需按部就班就行了

  • 1.创建数据库连接
  • 2.获取游标
  • 3.执行SQL语句(增删改查等)
  • 4.关闭SQL连接

Python mysql

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 即可引入插件,不妨自己动手,亲自体验下吧!