SQLAlchemy教程

SQLAlchemy 创建表

现在让我们讨论如何使用创建表功能。
SQL 表达式语言针对表列构建其表达式。 SQLAlchemy Column 对象表示数据库表中的 ,而该列又由 Tableobject 表示。元数据包含表和关联对象的定义,例如索引、视图、触发器等。
因此,来自 SQLAlchemy Metadata 的 MetaData 类的对象是 Table 对象及其关联模式构造的集合。它包含一组 Table 对象以及一个到 Engine 或 Connection 的可选绑定。
from sqlalchemy import MetaData
meta = MetaData()
MetaData 类的构造函数可以具有默认 的绑定和架构参数。
接下来,我们使用 表结构在上述元数据目录中定义所有表,它类似于常规 SQL CREATE TABLE 语句。
Table 类的对象表示数据库中对应的表。构造函数采用以下参数-
名称 表格名称
Metadata 将保存此表的元数据对象
Column(s) 一个或多个列类对象
列对象表示 数据库表中的一个 。构造函数接受名称、类型和其他参数,例如primary_key、自增和其他约束。
SQLAlchemy 将 Python 数据与其中定义的最佳通用列数据类型相匹配。一些通用数据类型是-
BigInteger Boolean Date DateTime Float Integer Numeric SmallInteger String Text Time
要在大学数据库中创建一个 students 表,请使用以下代码片段-
from sqlalchemy import Table, Column, Integer, String, MetaData
meta = MetaData()
students = Table(
   'students', meta, 
   Column('id', Integer, primary_key = true), 
   Column('name', String), 
   Column('lastname', String), 
)
create_all() 函数使用引擎对象创建所有定义的表对象并将信息存储在元数据中。
meta.create_all(engine)
下面给出了完整的代码,它将创建一个包含学生表的 SQLite 数据库 College.db。
from sqlalchemy import create_engine, MetaData, Table, Column, Integer, String
engine = create_engine('sqlite:///college.db', echo = true)
meta = MetaData()
students = Table(
   'students', meta, 
   Column('id', Integer, primary_key = true), 
   Column('name', String), 
   Column('lastname', String),
)
meta.create_all(engine)
因为 create_engine() 函数的 echo 属性设置为 True,控制台将显示表创建的实际 SQL 查询如下-
CREATE TABLE students (
   id INTEGER NOT null,
   name VARCHAR,
   lastname VARCHAR,
   PRIMARY KEY (id)
)
College.db 将在当前工作目录中创建。要检查是否创建了学生表,您可以使用任何 SQLite GUI 工具(例如 SQLiteStudio)打开数据库。
下图显示了在数据库中创建的学生表-
学生表
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4