Python作为一门功能强大的编程语言,广泛应用于数据分析、网络爬虫、人工智能等多个领域。在处理大量数据时,数据库操作是必不可少的。今天,我们就来揭秘如何用Python轻松调用数据库,并通过一个小例子来详细讲解。
数据库基础知识
在开始之前,我们需要了解一些数据库基础知识。
1. 数据库类型
目前,常见的数据库类型主要有以下几种:
- 关系型数据库:如MySQL、Oracle、SQL Server等,以表格形式存储数据。
- 非关系型数据库:如MongoDB、Redis等,以键值对或文档形式存储数据。
2. Python数据库连接库
Python中,常用的数据库连接库有:
- sqlite3:Python标准库中的数据库连接库,适用于小型项目。
- pymysql:用于连接MySQL数据库的库。
- pymongo:用于连接MongoDB数据库的库。
连接数据库
1. 使用sqlite3连接SQLite数据库
import sqlite3
# 创建或连接数据库
conn = sqlite3.connect('example.db')
# 创建游标对象
cursor = conn.cursor()
# 执行SQL语句
cursor.execute('CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)')
# 提交事务
conn.commit()
# 关闭游标和连接
cursor.close()
conn.close()
2. 使用pymysql连接MySQL数据库
import pymysql
# 创建数据库连接
conn = pymysql.connect(host='localhost', user='root', password='123456', database='example')
# 创建游标对象
cursor = conn.cursor()
# 执行SQL语句
cursor.execute('CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)')
# 提交事务
conn.commit()
# 关闭游标和连接
cursor.close()
conn.close()
数据操作
1. 插入数据
# 使用sqlite3插入数据
import sqlite3
# 创建或连接数据库
conn = sqlite3.connect('example.db')
# 创建游标对象
cursor = conn.cursor()
# 执行插入数据SQL语句
cursor.execute('INSERT INTO users (name, age) VALUES (?, ?)', ('张三', 20))
# 提交事务
conn.commit()
# 关闭游标和连接
cursor.close()
conn.close()
# 使用pymysql插入数据
import pymysql
# 创建数据库连接
conn = pymysql.connect(host='localhost', user='root', password='123456', database='example')
# 创建游标对象
cursor = conn.cursor()
# 执行插入数据SQL语句
cursor.execute('INSERT INTO users (name, age) VALUES (%s, %s)', ('李四', 25))
# 提交事务
conn.commit()
# 关闭游标和连接
cursor.close()
conn.close()
2. 查询数据
# 使用sqlite3查询数据
import sqlite3
# 创建或连接数据库
conn = sqlite3.connect('example.db')
# 创建游标对象
cursor = conn.cursor()
# 执行查询数据SQL语句
cursor.execute('SELECT * FROM users')
# 获取查询结果
results = cursor.fetchall()
# 打印查询结果
for row in results:
print(row)
# 关闭游标和连接
cursor.close()
conn.close()
# 使用pymysql查询数据
import pymysql
# 创建数据库连接
conn = pymysql.connect(host='localhost', user='root', password='123456', database='example')
# 创建游标对象
cursor = conn.cursor()
# 执行查询数据SQL语句
cursor.execute('SELECT * FROM users')
# 获取查询结果
results = cursor.fetchall()
# 打印查询结果
for row in results:
print(row)
# 关闭游标和连接
cursor.close()
conn.close()
3. 更新数据
# 使用sqlite3更新数据
import sqlite3
# 创建或连接数据库
conn = sqlite3.connect('example.db')
# 创建游标对象
cursor = conn.cursor()
# 执行更新数据SQL语句
cursor.execute('UPDATE users SET age = ? WHERE name = ?', (30, '张三'))
# 提交事务
conn.commit()
# 关闭游标和连接
cursor.close()
conn.close()
# 使用pymysql更新数据
import pymysql
# 创建数据库连接
conn = pymysql.connect(host='localhost', user='root', password='123456', database='example')
# 创建游标对象
cursor = conn.cursor()
# 执行更新数据SQL语句
cursor.execute('UPDATE users SET age = %s WHERE name = %s', (30, '李四'))
# 提交事务
conn.commit()
# 关闭游标和连接
cursor.close()
conn.close()
4. 删除数据
# 使用sqlite3删除数据
import sqlite3
# 创建或连接数据库
conn = sqlite3.connect('example.db')
# 创建游标对象
cursor = conn.cursor()
# 执行删除数据SQL语句
cursor.execute('DELETE FROM users WHERE name = ?', ('张三',))
# 提交事务
conn.commit()
# 关闭游标和连接
cursor.close()
conn.close()
# 使用pymysql删除数据
import pymysql
# 创建数据库连接
conn = pymysql.connect(host='localhost', user='root', password='123456', database='example')
# 创建游标对象
cursor = conn.cursor()
# 执行删除数据SQL语句
cursor.execute('DELETE FROM users WHERE name = %s', ('李四',))
# 提交事务
conn.commit()
# 关闭游标和连接
cursor.close()
conn.close()
总结
通过本文的讲解,相信你已经掌握了如何使用Python调用数据库的基本方法。在实际应用中,我们可以根据具体需求选择合适的数据库和连接库,并编写相应的SQL语句进行数据操作。希望这篇文章能帮助你轻松地完成数据库操作,为你的Python之旅增添更多精彩。
