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
  • asp之家 网络编程 m.aspxhome.com