Python常用数据库接口sqlite3和MySQLdb学习指南

 更新时间:2023年06月09日 08:54:19   作者:移动安全星球  
在本章节中,我们将学习 Python 中常用的数据库接口,包括 sqlite3用于SQLite数据库和MySQLdb用于 MySQL 数据库,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

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()

以上就是 Python 中常用的数据库接口 sqlite3 和 MySQLdb 的使用示例。学习这些知识点时,建议你亲自动手操作,逐渐积累经验。在实际项目中,你可能会遇到更复杂的场景,需要根据实际情况选择适当的数据库操作和优化策略。同时,编写易于维护和扩展的代码也很重要,如使用 ORM(Object-Relational Mapping,对象关系映射)库,例如 SQLAlchemy 和 Django ORM,可以简化数据库操作,提高代码可读性和可维护性

更多关于Python数据库接口的资料请关注脚本之家其它相关文章!

相关文章

  • Python3.x爬虫下载网页图片的实例讲解

    Python3.x爬虫下载网页图片的实例讲解

    今天小编就为大家分享一篇Python3.x爬虫下载网页图片的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • Django实现WebSSH操作物理机或虚拟机的方法

    Django实现WebSSH操作物理机或虚拟机的方法

    这篇文章主要介绍了Django实现WebSSH操作物理机或虚拟机的方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-11-11
  • Django报错TemplateDoesNotExist的问题及解决

    Django报错TemplateDoesNotExist的问题及解决

    这篇文章主要介绍了Django报错TemplateDoesNotExist的问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • Python全面解读高级特性切片

    Python全面解读高级特性切片

    这篇文章主要介绍了Python全面解读高级特性切片,切片(slice)就是一种截取索引片段的技术,借助切片技术,我们可以十分灵活地处理序列类型的对象,下面我们一起进入文章了解更详细内容吧
    2021-12-12
  • 谈一谈数组拼接tf.concat()和np.concatenate()的区别

    谈一谈数组拼接tf.concat()和np.concatenate()的区别

    今天小编就为大家分享一篇谈谈数组拼接tf.concat()和np.concatenate()的区别,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • 在Pycharm中使用GitHub的方法步骤

    在Pycharm中使用GitHub的方法步骤

    这篇文章主要介绍了在Pycharm中使用GitHub的方法步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-06-06
  • python filecmp.dircmp实现递归比对两个目录的方法

    python filecmp.dircmp实现递归比对两个目录的方法

    这篇文章主要介绍了python filecmp.dircmp实现递归比对两个目录的方法,本文通过实例代码给大家介绍的非常详细,大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-05-05
  • Python实现选择排序

    Python实现选择排序

    选择法也算是入门的一种排序算法,比起冒泡法,它的方法巧妙了一些,它的出发点在于“挑”,每次挑选数组的最值,与前置元素换位,然后继续挑选剩余元素的最值并重复操作。个人认为选择排序的意义不在于排序本身,而在于挑选和置换的方法,对于一些问题很有帮助。
    2017-06-06
  • Python箱型图绘制与特征值获取过程解析

    Python箱型图绘制与特征值获取过程解析

    这篇文章主要介绍了Python箱型图绘制与特征值获取过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10
  • python使用Flask框架获取用户IP地址的方法

    python使用Flask框架获取用户IP地址的方法

    这篇文章主要介绍了python使用Flask框架获取用户IP地址的方法,实例分析了Python使用Flask框架remote_addr获取IP的技巧,非常具有实用价值,需要的朋友可以参考下
    2015-03-03

最新评论