chatgpt赋能python:Python数据库表的建立

本文介绍了如何使用Python建立和管理数据库表,包括关系型数据库(如MySQL)和非关系型数据库(如MongoDB)。通过PyMySQL库操作MySQL,创建、插入、查询、更新和删除数据。而对于MongoDB,使用PyMongo库连接并进行类似操作。文章强调Python在数据库管理方面的便捷性,并指出AI工具如ChatGPT在提升工作效率上的潜力。

Python 数据库表的建立

在开发过程中,使用数据库保存数据非常常见。而在数据库中,数据表是最基本的数据单元。Python 是一门十分强大的编程语言,在数据库表的建立方面也有自己的独特优势。

关系型数据库与非关系型数据库

在介绍 Python 建立数据库表之前,先来简单了解一下关系型数据库与非关系型数据库的区别。

  • 关系型数据库:指使用关系模型来组织数据的数据库,如 MySQL、Oracle 等。
  • 非关系型数据库:又称为 NoSQL(Not Only SQL),指使用非关系型模型来组织数据的数据库,如 MongoDB、Redis 等。

在选择数据库时,需要根据具体需求来选择适合的类型。

使用 Python 建立关系型数据库表

关系型数据库由表格组成,每个表格由数据行和列组成。在 Python 中,可以使用第三方库来进行数据库的操作。以 MySQL 为例,使用 PyMySQL 库可以连接和操作 MySQL 数据库。

建立表格

新建表格之前,需要先连接数据库:

import pymysql

# 打开数据库连接
db = pymysql.connect(host="localhost", user="root", password="password", database="test")

然后可以使用 SQL 语句通过 Python 来创建表格:

cursor = db.cursor()

# 创建表格 SQL 语句
create_table_sql = """
CREATE TABLE employee (
    id INT NOT NULL AUTO_INCREMENT,
    name VARCHAR(20) NOT NULL,
    age INT,
    sex CHAR(1),
    PRIMARY KEY (id)
)"""

# 执行 SQL 语句
cursor.execute(create_table_sql)

# 提交到数据库执行
db.commit()

这个例子中,建立了一个名为 employee 的表格,包含 idnameagesex 四个列。其中 id 列为自动递增的主键,name 列和 age 列不能为空。

插入数据

表格创建完成后,可以插入数据到表格中:

# 插入数据 SQL 语句
insert_sql = """
INSERT INTO employee(name, age, sex)
VALUES ('Tom', 18, 'M'),
       ('Lily', 20, 'F'),
       ('Lucy', 22, 'F')
"""

# 执行 SQL 语句
cursor.execute(insert_sql)

# 提交到数据库执行
db.commit()

这个例子中,插入了三个员工的信息到 employee 表格中。

查询数据

插入数据后,可以通过 SQL 语句查询数据:

# 查询 SQL 语句
select_sql = "SELECT * FROM employee"

# 执行 SQL 语句
cursor.execute(select_sql)

# 获取所有记录列表
results = cursor.fetchall()

# 打印查询结果
for row in results:
    id = row[0]
    name = row[1]
    age = row[2]
    sex = row[3]
    print(f"id={id}, name={name}, age={age}, sex={sex}")

这个例子中,查询了 employee 表格中的所有记录,将记录信息输出到控制台上。

更新数据

查询到数据之后,可以通过 SQL 语句来更新数据:

# 更新数据 SQL 语句
update_sql = "UPDATE employee SET age = age + 1 WHERE sex = 'F'"

# 执行 SQL 语句
cursor.execute(update_sql)

# 提交到数据库执行
db.commit()

这个例子中,更新了 employee 表格中性别为女性的员工年龄都加 1。

删除数据

若需要删除数据,可以通过 SQL 语句来删除:

# 删除数据 SQL 语句
delete_sql = "DELETE FROM employee WHERE name = 'Tom'"

# 执行 SQL 语句
cursor.execute(delete_sql)

# 提交到数据库执行
db.commit()

这个例子中,删除了 employee 表格中名字为 Tom 的员工信息。

使用 Python 建立非关系型数据库表

在非关系型数据库中,可以使用 Python 和 NoSQL 数据库相应的 API 进行操作。以 MongoDB 为例。

建立集合

MongoDB 中,表格被称为集合(collection)。可以使用 PyMongo 库来连接和操作 MongoDB 数据库:

import pymongo

# 连接 MongoDB 数据库
client = pymongo.MongoClient("mongodb://localhost:27017/")

# 进入集合(不存在时会新建)
db = client["test"]
collection = db["employee"]

这个例子中,连接了 MongoDB 数据库,然后进入名为 test 的数据库,创建了名为 employee 的集合。

插入数据

向集合中插入数据非常简单:

# 插入数据
employees = [
    {"name": "Tom", "age": 18, "sex": "M"},
    {"name": "Lily", "age": 20, "sex": "F"},
    {"name": "Lucy", "age": 22, "sex": "F"}
]
collection.insert_many(employees)

这个例子中,向 employee 集合中插入了三个员工的信息。

查询数据

查询数据也非常方便:

# 查询数据
results = collection.find()

# 打印查询结果
for result in results:
    print(result)

这个例子中,查询了 employee 集合中所有员工的信息并打印出来。

更新数据

更新数据也很简单:

# 更新数据
update_filter = {"sex": "F"}
update_data = {"$inc": {"age": 1}}
collection.update_many(update_filter, update_data)

这个例子中,将 employee 集合中性别为女性的员工年龄都加 1。

删除数据

删除数据也很简单:

# 删除数据
delete_filter = {"name": "Tom"}
collection.delete_one(delete_filter)

这个例子中,删除了 employee 集合中名字为 Tom 的员工信息。

结论

无论是关系型数据库还是非关系型数据库,在 Python 中都有很好的支持。Python 中的第三方库能够让我们十分方便地连接数据库、创建表格、插入、查询、更新和删除数据。这些操作都可以通过简单的 Python 代码来实现,非常适合开发者使用。

最后的最后

本文由chatgpt生成,文章没有在chatgpt生成的基础上进行任何的修改。以上只是chatgpt能力的冰山一角。作为通用的Aigc大模型,只是展现它原本的实力。

对于颠覆工作方式的ChatGPT,应该选择拥抱而不是抗拒,未来属于“会用”AI的人。

🧡AI职场汇报智能办公文案写作效率提升教程 🧡 专注于AI+职场+办公方向。
下图是课程的整体大纲
img
img
下图是AI职场汇报智能办公文案写作效率提升教程中用到的ai工具
img

🚀 优质教程分享 🚀

  • 🎄可以学习更多的关于人工只能/Python的相关内容哦!直接点击下面颜色字体就可以跳转啦!
学习路线指引(点击解锁)知识定位人群定位
🧡 AI职场汇报智能办公文案写作效率提升教程 🧡进阶级本课程是AI+职场+办公的完美结合,通过ChatGPT文本创作,一键生成办公文案,结合AI智能写作,轻松搞定多场景文案写作。智能美化PPT,用AI为职场汇报加速。AI神器联动,十倍提升视频创作效率
💛Python量化交易实战 💛入门级手把手带你打造一个易扩展、更安全、效率更高的量化交易系统
🧡 Python实战微信订餐小程序 🧡进阶级本课程是python flask+微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一个全栈订餐系统。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值