首先,需要明确的是SQLAlchemy是一个Python编写的关系型数据库框架,可以方便地对数据库进行操作.在这样一个框架中创建表格非常容易,下面我将详细介绍如何使用SQLAlchemy创建一个表格.
在开始创建表格之前,你需要先安装SQLAlchemy模块.可以在命令行中输入以下命令安装:
pip install sqlalchemy
依赖库安装后,你需要先连接到一个目标数据库.这里假设你正在使用的是MySQL数据库,并且在本地安装了XAMPP来提供MySQL服务.连接到MySQL数据库需要指定数据库类型、用户名、密码、地址、端口和数据库名称等参数.代码如下:
from sqlalchemy import create_engine
servertype = "mysql"
username = "root"
password = ""
host = "localhost"
port = 3306
dbname = "test"
# 拼装连接字符串
connstr = f"{servertype}://{username}:{password}@{host}:{port}/{dbname}"
engine = create_engine(connstr, echo=True)
在连接到目标数据库后,你可以使用SQLAlchemy创建表格了.此时此刻呢大家和小编一起研究一下如何创建一个简单的表格.
from sqlalchemy import Table, Column, Integer, String, MetaData
metadata = MetaData()
# 定义表格
users = Table("users", metadata,
Column("id", Integer, primary_key=True),
Column("name", String),
Column("age", Integer)
)
# 创建表格
metadata.create_all(engine)
上述代码定义了一张名为 users 的数据表,其包含三个字段:id、name、age.其中,id 字段作为主键,且为自增长的整数类型.我们调用了 metadata.create_all() 方法,它根据上面定义的表格信息自动创建了数据表.
如果你想要了解更多的关于SQLAlchemy创建表格的内容,可以从以下两个示例中获取帮助.
假设我们需要创建一张名为 user_info 的数据表,包含四个字段:
id:自动递增的主键ID
age:用户年龄,整数类型,有默认值 0
创建表格的代码如下:
from sqlalchemy import Table, Column, Integer, String, MetaData
from sqlalchemy.sql.expression import text
metadata = MetaData()
# 定义表格
user_info = Table("user_info", metadata,
Column("id", Integer, primary_key=True, autoincrement=True),
Column("name", String(length=200)),
Column("age", Integer, server_default=text('0')),
Column("city", String(length=200), default='无')
)
# 创建表格
metadata.create_all(engine)
在上面的代码中,我们可以看到,我们通过 Column 类的参数 server_default 和 default 设置了字段 age 和 city 的默认值.
再假设我们需要创建另一张名为 user_address 的数据表,这张表包含三个字段:
id:自动递增的主键 ID
user_id:用户 ID,外键约束为 user_info 表的 id 字段
创建 user_address 表格的代码如下:
from sqlalchemy import Table, Column, Integer, String, MetaData, ForeignKey
metadata = MetaData()
# 定义表格
user_address = Table("user_address", metadata,
Column("id", Integer, primary_key=True, autoincrement=True),
Column("user_id", Integer, ForeignKey("user_info.id")),
Column("address", String(length=500))
)
# 创建表格
metadata.create_all(engine)
在上面的代码中,我们使用 ForeignKey 类来定义 user_id 字段与 user_info 表的 id 字段之间的外键约束.特别地,考虑到表 user_info 尚未创建,它被放到了 ForeignKey 类的字符串参数中.
如上所述,使用 SQLalchemy 可以非常方便地创建数据库表格,同时也能够更加灵活地定义表格的属性(包括默认值以及约束等),这样在进行数据库操作时也会变得更加方便.
以上就是土嘎嘎小编为大家整理的python之sqlalchemy创建表的实例详解相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!