关于人工智能:82-Python数据库接口

34次阅读

共计 2615 个字符,预计需要花费 7 分钟才能阅读完成。

在本章节中,咱们将学习 Python 中罕用的数据库接口,包含 sqlite3(用于 SQLite 数据库)和 MySQLdb(用于 MySQL 数据库)。

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

8.2.2 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,能够简化数据库操作,进步代码可读性和可维护性。
举荐浏览:

https://mp.weixin.qq.com/s/dV2JzXfgjDdCmWRmE0glDA

https://mp.weixin.qq.com/s/an83QZOWXHqll3SGPYTL5g

正文完
 0