您的位置:首页 > 房产 > 建筑 > 公司起名字大全免费三个字_可视化开发_视频外链工具_网页设计框架图

公司起名字大全免费三个字_可视化开发_视频外链工具_网页设计框架图

2025/3/10 12:04:31 来源:https://blog.csdn.net/Hellc007/article/details/145517689  浏览:    关键词:公司起名字大全免费三个字_可视化开发_视频外链工具_网页设计框架图
公司起名字大全免费三个字_可视化开发_视频外链工具_网页设计框架图

第14章:Python 数据库操作

数据库是存储和管理数据的核心组件。在 Python 中,我们可以使用多个数据库,如 SQLite、MySQL、PostgreSQL 和 MongoDB。本章将介绍如何使用 Python 连接数据库、执行 SQL 查询,并操作 NoSQL 数据库。


14.1 数据库基础知识

14.1.1 数据库类型

数据库主要分为两类:

  • 关系型数据库(SQL):基于表格结构,使用 SQL 语言操作,如 MySQL、PostgreSQL、SQLite
  • 非关系型数据库(NoSQL):以文档、键值对或图数据库存储数据,如 MongoDB、Redis

14.1.2 SQL 语句基础

常见的 SQL 语句:

CREATE TABLE users (id INTEGER PRIMARY KEY,name TEXT NOT NULL,age INTEGER
);INSERT INTO users (name, age) VALUES ('Alice', 25);
SELECT * FROM users;
UPDATE users SET age = 26 WHERE name = 'Alice';
DELETE FROM users WHERE name = 'Alice';

14.2 SQLite 操作

SQLite 是 Python 内置的轻量级数据库,无需安装额外软件。

14.2.1 连接 SQLite 数据库

import sqlite3# 连接数据库(如果不存在则创建)
conn = sqlite3.connect("test.db")
cursor = conn.cursor()# 创建表
cursor.execute('''CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)''')# 插入数据
cursor.execute("INSERT INTO users (name, age) VALUES (?, ?)", ("Alice", 25))# 查询数据
cursor.execute("SELECT * FROM users")
rows = cursor.fetchall()
for row in rows:print(row)# 提交更改并关闭连接
conn.commit()
conn.close()

14.3 MySQL 操作

MySQL 是流行的关系型数据库,适用于 Web 应用和大规模数据存储。

14.3.1 安装 MySQL 连接库

pip install mysql-connector-python

14.3.2 连接 MySQL

import mysql.connectorconn = mysql.connector.connect(host="localhost",user="root",password="password",database="test_db"
)cursor = conn.cursor()# 创建表
cursor.execute("CREATE TABLE IF NOT EXISTS users (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), age INT)")# 插入数据
cursor.execute("INSERT INTO users (name, age) VALUES (%s, %s)", ("Bob", 30))# 查询数据
cursor.execute("SELECT * FROM users")
rows = cursor.fetchall()
for row in rows:print(row)conn.commit()
conn.close()

14.4 MongoDB 操作

MongoDB 是 NoSQL 数据库,使用 JSON 格式存储数据,适用于大数据处理。

14.4.1 安装 pymongo

pip install pymongo

14.4.2 连接 MongoDB 并插入数据

import pymongoclient = pymongo.MongoClient("mongodb://localhost:27017/")
db = client["test_db"]
collection = db["users"]# 插入数据
collection.insert_one({"name": "Charlie", "age": 28})# 查询数据
for user in collection.find():print(user)

14.5 ORM(对象关系映射)

使用 SQLAlchemy 可以简化数据库操作,不需要手写 SQL 语句。

14.5.1 安装 SQLAlchemy

pip install sqlalchemy

14.5.2 定义 ORM 模型

from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker# 连接数据库
engine = create_engine("sqlite:///test.db")
Base = declarative_base()# 定义表结构
class User(Base):__tablename__ = "users"id = Column(Integer, primary_key=True)name = Column(String)age = Column(Integer)# 创建表
Base.metadata.create_all(engine)# 创建会话
Session = sessionmaker(bind=engine)
session = Session()# 插入数据
new_user = User(name="David", age=35)
session.add(new_user)
session.commit()# 查询数据
users = session.query(User).all()
for user in users:print(user.name, user.age)

14.6 数据库优化技巧

  1. 使用索引:提高查询速度。
  2. 优化 SQL 语句:避免 SELECT *,只查询需要的字段。
  3. 数据缓存:使用 Redis 缓存高频访问的数据。
  4. 分库分表:对于超大规模数据,拆分数据库提高性能。

14.7 小结

本章介绍了:

  • SQLite、MySQL 和 MongoDB 的基本操作。
  • SQLAlchemy ORM,简化数据库访问。
  • 数据库优化技巧,提高查询性能。

下一章,我们将探讨 Python 的多线程与并发编程!🚀💡

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com