python操作数据库mysql
时间: 2023-10-14 09:30:06 浏览: 87
操作 MySQL 数据库可以使用多种方式,其中比较常用的是使用 Python 的 MySQLdb 模块。下面是一个简单的示例,演示如何使用 Python 连接 MySQL 数据库、创建表、插入数据和查询数据。
首先,需要安装 MySQLdb 模块,可以使用 pip 命令安装:
```
pip install MySQL-python
```
接着,可以使用以下代码连接 MySQL 数据库:
```python
import MySQLdb
# 打开数据库连接
db = MySQLdb.connect(host="localhost",
user="username",
passwd="password",
db="database_name")
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# 关闭数据库连接
db.close()
```
在上面的代码中,需要将 `host`、`user`、`passwd` 和 `db` 分别替换为实际的数据库主机地址、用户名、密码和数据库名。
接下来,可以使用以下代码创建表:
```python
# 使用 execute() 方法执行 SQL,如果表存在则删除
cursor.execute("DROP TABLE IF EXISTS employee")
# 使用 execute() 方法执行 SQL,创建一个新表
sql = """CREATE TABLE employee (
ID INT(11) NOT NULL AUTO_INCREMENT,
NAME CHAR(20) NOT NULL,
AGE INT(11) NOT NULL,
SEX CHAR(10),
INCOME FLOAT )"""
cursor.execute(sql)
```
在上面的代码中,首先使用 `DROP TABLE IF EXISTS` 语句删除名为 `employee` 的表(如果存在),然后使用 `CREATE TABLE` 语句创建一个新表。
接下来,可以使用以下代码向表中插入数据:
```python
# SQL 插入语句
sql = "INSERT INTO employee(NAME, AGE, SEX, INCOME) \
VALUES ('John', 20, 'Male', 2000.00)"
try:
# 执行 SQL 语句
cursor.execute(sql)
# 提交到数据库执行
db.commit()
except:
# 如果发生错误则回滚
db.rollback()
```
在上面的代码中,首先定义了一个 SQL 插入语句,然后使用 `execute()` 方法执行 SQL 语句,如果执行成功则使用 `commit()` 方法提交事务,否则使用 `rollback()` 方法回滚事务。
最后,可以使用以下代码查询表中的数据:
```python
# SQL 查询语句
sql = "SELECT * FROM employee"
try:
# 执行 SQL 语句
cursor.execute(sql)
# 获取所有记录列表
results = cursor.fetchall()
for row in results:
id = row[0]
name = row[1]
age = row[2]
sex = row[3]
income = row[4]
# 打印结果
print("id=%d,name=%s,age=%d,sex=%s,income=%f" % (id, name, age, sex, income))
except:
print("Error: unable to fecth data")
# 关闭数据库连接
db.close()
```
在上面的代码中,首先定义了一个 SQL 查询语句,然后使用 `execute()` 方法执行 SQL 语句,如果执行成功则使用 `fetchall()` 方法获取所有查询结果,最后使用循环遍历结果并打印出来。
以上就是使用 Python 操作 MySQL 数据库的基本示例。需要注意的是,在实际使用中还需要考虑异常处理、数据库连接池等问题。
阅读全文