Python常用数据库接口sqlite3和MySQLdb学习指南
作者:移动安全星球 时间:2024-01-16 00:53:56
sqlite3 - SQLite 数据库
SQLite 是一款轻量级、无需安装、零配置的嵌入式关系数据库。Python 自带 sqlite3
库,无需额外安装。以下是一个简单的 sqlite3
使用示例。
创建数据库和表
import sqlite3
# 连接数据库(如果不存在,将自动创建)
conn = sqlite3.connect('sqlite_example.db')
# 创建游标
cursor = conn.cursor()
# 创建 users 表
cursor.execute('''
CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
age INTEGER NOT NULL,
email TEXT
)
''')
# 提交更改并关闭连接
conn.commit()
conn.close()
插入数据
conn = sqlite3.connect('sqlite_example.db')
cursor = conn.cursor()
# 插入数据
cursor.execute("INSERT INTO users (name, age, email) VALUES ('Alice', 30, 'alice@example.com')")
# 提交更改
conn.commit()
# 关闭连接
conn.close()
查询数据
conn = sqlite3.connect('sqlite_example.db')
cursor = conn.cursor()
# 查询数据
cursor.execute('SELECT * FROM users')
# 获取查询结果
result = cursor.fetchall()
for row in result:
print(row)
# 关闭连接
conn.close()
更新和删除数据
conn = sqlite3.connect('sqlite_example.db')
cursor = conn.cursor()
# 更新数据
cursor.execute("UPDATE users SET age = 31 WHERE name = 'Alice'")
conn.commit()
# 删除数据
cursor.execute("DELETE FROM users WHERE id = 1")
conn.commit()
# 关闭连接
conn.close()
MySQLdb - MySQL 数据库
MySQLdb
是一个用于连接 MySQL 数据库的 Python 库。在使用之前,需要先安装:
pip install mysqlclient
注:MySQLdb
仅支持 Python 2.x 版本,如果你使用的是 Python 3.x,可以使用 mysqlclient
,它是 MySQLdb
的 Python 3.x 分支。
以下是一个简单的 MySQLdb
使用示例。
创建数据库和表
import MySQLdb
# 连接数据库
conn = MySQLdb.connect(host='localhost', user='your_username', passwd='your_password', db='mydb')
# 创建游标
cursor = conn.cursor()
# 创建 users 表
cursor.execute('''
CREATE TABLE IF NOT EXISTS users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
age INT NOT NULL,
email VARCHAR(100)
)
''')
# 提交更改并关闭连接
conn.commit()
conn.close()
插入数据
conn = MySQLdb.connect(host='localhost', user='your_username', passwd='your_password', db='mydb')
cursor = conn.cursor()
# 插入数据
cursor.execute("INSERT INTO users (name, age, email) VALUES ('Alice', 30, 'alice@example.com')")
# 提交更改
conn.commit()
# 关闭连接
conn.close()
查询数据
conn = MySQLdb.connect(host='localhost', user='your_username', passwd='your_password', db='mydb')
cursor = conn.cursor()
# 查询数据
cursor.execute('SELECT * FROM users')
# 获取查询结果
result = cursor.fetchall()
for row in result:
print(row)
# 关闭连接
conn.close()
更新和删除数据
conn = MySQLdb.connect(host='localhost', user='your_username', passwd='your_password', db='mydb')
cursor = conn.cursor()
# 更新数据
cursor.execute("UPDATE users SET age = 31 WHERE name = 'Alice'")
conn.commit()
# 删除数据
cursor.execute("DELETE FROM users WHERE id = 1")
conn.commit()
# 关闭连接
conn.close()
来源:https://segmentfault.com/a/1190000043880905
标签:Python,数据库接口,sqlite3,MySQLdb
0
投稿
猜你喜欢
深入理解golang chan的使用
2024-05-10 13:59:06
python实现备份目录的方法
2022-10-30 02:54:04
Go语言学习之循环语句使用详解
2024-02-03 22:28:17
python使用Matplotlib绘制分段函数
2022-04-17 16:07:17
开启SQLSERVER数据库缓存依赖优化网站性能
2024-01-26 18:05:20
Go 语言简单实现Vigenere加密算法
2024-05-08 10:14:04
详解用python写一个抽奖程序
2023-07-06 10:28:12
使用Python读写及压缩和解压缩文件的示例
2023-08-30 17:42:52
TensorFlow实现保存训练模型为pd文件并恢复
2021-03-01 05:45:27
去除python中的字符串空格的简单方法
2022-11-01 10:33:22
pycharm远程连接服务器调试tensorflow无法加载问题
2023-02-14 15:03:04
Win10下Python3.7.3安装教程图解
2023-09-02 18:16:54
Python中pandas模块DataFrame创建方法示例
2022-07-19 03:06:09
详解Opentelemetry Collector采集器
2024-04-27 15:31:02
Go语言学习网络编程与Http教程示例
2024-02-08 10:33:12
利用 Python 实现多任务进程
2023-12-19 02:53:52
使用Python多线程爬虫爬取电影天堂资源
2022-12-06 11:56:27
Python变量及数据类型用法原理汇总
2022-12-04 11:11:41
js 分页全选或反选标识实现代码
2024-04-22 22:44:07
基于Linux系统中python matplotlib画图的中文显示问题的解决方法
2022-05-22 01:34:28