福州医社保增减员在什么网站做,专业建站公司设计,容桂手机网站建设,华北冶建工程建设有限公司网站系列目录
上一篇#xff1a;白骑士的Python教学高级篇 3.2 网络编程
SQL基础 Structured Query Language (SQL) 是一种用于管理和操作关系型数据库的标准语言。SQL能够执行各种操作#xff0c;如创建、读取、更新和删除数据库中的数据#xff08;即CRUD操作#xff09;白骑士的Python教学高级篇 3.2 网络编程
SQL基础 Structured Query Language (SQL) 是一种用于管理和操作关系型数据库的标准语言。SQL能够执行各种操作如创建、读取、更新和删除数据库中的数据即CRUD操作以及管理数据库结构本身。理解SQL的基础对于进行数据库编程至关重要。关于SQL的详细教学可以跳转白骑士的SQL教学敬请期待。
基本概念和术语
数据库存储有组织的数据的容器。表数据库中的一个结构化数据集合由行和列组成。行表中的一条记录。列表中的一个字段。主键表中唯一标识每一行的列或列组合。外键用于在两张表之间建立连接的列。
常用SQL语句 CREATE DATABASE创建一个新的数据库例如
CREATE DATABASE mydatabase; CREATE TABLE创建一个新的表例如
CREATE TABLE users (id INTEGER PRIMARY KEY,name TEXT NOT NULL,email TEXT UNIQUE); INSERT INTO向表中插入数据例如
INSERT INTO users (name, email) VALUES (Alice, aliceexample.com); SELECT从表中查询数据例如
SELECT * FROM users; UPDATE更新表中的数据例如
UPDATE users SET email newaliceexample.com WHERE name Alice; DELETE从表中删除数据例如
DELETE FROM users WHERE name Alice; ALTER TABLE修改表结构例如
ALTER TABLE users ADD COLUMN age INTEGER; DROP TABLE删除表例如
DROP TABLE users; 理解这些基本SQL语句是进行数据库编程的第一步。接下来将学习如何使用SQLite和SQLAlchemy来进行数据库编程。
SQLite使用 SQLite是一种轻量级的嵌入式关系数据库管理系统它是一个在应用程序中使用的库而不是独立的服务器进程。SQLite非常适合用作开发和测试环境下的小型数据库。
安装SQLite SQLite通常已经预装在Python标准库中。你可以通过以下命令检查
import sqlite3print(sqlite3.sqlite_version)
创建数据库和表 使用SQLite创建一个新的数据库和表非常简单。以下是一个示例代码
import sqlite3# 创建一个连接对象
conn sqlite3.connect(example.db)# 创建一个游标对象
cursor conn.cursor()# 创建表
cursor.execute(
CREATE TABLE users (id INTEGER PRIMARY KEY AUTOINCREMENT,name TEXT NOT NULL,email TEXT NOT NULL UNIQUE,age INTEGER
)
)# 提交事务
conn.commit()# 关闭连接
conn.close()
插入数据 向表中插入数据同样很简单例如
conn sqlite3.connect(example.db)
cursor conn.cursor()# 插入数据
cursor.execute(
INSERT INTO users (name, email, age) VALUES (Alice, aliceexample.com, 30)
)conn.commit()
conn.close()
查询数据 查询数据并显示结果例如
conn sqlite3.connect(example.db)
cursor conn.cursor()cursor.execute(SELECT * FROM users)
rows cursor.fetchall()for row in rows:print(row)conn.close()
更新和删除数据 更新和删除数据的操作例如
conn sqlite3.connect(example.db)
cursor conn.cursor()# 更新数据
cursor.execute(
UPDATE users SET age 31 WHERE name Alice
)# 删除数据
cursor.execute(
DELETE FROM users WHERE name Alice
)conn.commit()
conn.close() 使用SQLite进行数据库编程非常直接适合初学者理解和使用。接下来将介绍使用SQLAlchemy进行ORM对象关系映射操作。
使用SQLAlchemy进行ORM操作 SQLAlchemy是Python的一个SQL工具包和对象关系映射ORM库提供了数据库的高级抽象简化了数据库操作。
安装SQLAlchemy 首先通过pip安装SQLAlchemy
pip install sqlalchemy
定义数据库和模型 使用SQLAlchemy定义数据库和模型类例如
from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker# 创建引擎
engine create_engine(sqlite:///example.db, echoTrue)# 创建基类
Base declarative_base()# 定义模型类
class User(Base):__tablename__ usersid Column(Integer, primary_keyTrue, autoincrementTrue)name Column(String, nullableFalse)email Column(String, uniqueTrue, nullableFalse)age Column(Integer)# 创建所有表
Base.metadata.create_all(engine)
创建会话 创建会话用于与数据库交互例如
Session sessionmaker(bindengine)
session Session()
插入数据 使用模型类插入数据例如
new_user User(nameAlice, emailaliceexample.com, age30)
session.add(new_user)
session.commit()
查询数据 查询数据并显示结果例如
users session.query(User).all()for user in users:print(user.name, user.email, user.age)
更新和删除数据 更新和删除数据的操作例如
# 更新数据
user session.query(User).filter_by(nameAlice).first()
user.age 31
session.commit()# 删除数据
session.delete(user)
session.commit()
使用ORM的优势
更高的抽象层ORM将数据库表映射为Python类使得开发者可以以面向对象的方式操作数据库。简化数据库操作通过模型类和会话ORM大大简化了数据库的CRUD操作。数据库无关性ORM使得应用程序能够更容易地切换底层数据库而无需修改大量代码。
总结 通过SQLite和SQLAlchemy可以方便地进行数据库编程利用SQL直接操作数据库或通过ORM进行高层次的抽象操作。无论是简单的数据库操作还是复杂的数据库应用这些工具和技术都能帮助开发者高效地完成任务。希望通过本篇内容能更好地理解和应用数据库编程为自己的项目增添更多的功能和灵活性。
下一篇白骑士的Python教学高级篇 3.4 Web开发