sqlalchemy链接mysql数据库命令大全问题求助

ORM 全称 Object Relational Mapping, 翻译过来叫对象关系映射简单的说,ORM 将数据库中的表与面向对象语言中的类建立了一种对应关系这样,我们要操作数据库数据库中的表或者表中的一条記录就可以直接通过操作类或者类实例来完成。ORM 相当于把数据库也给你实例化了在代码操作mysql数据库命令大全中级又加了orm这一层。

  • 隐藏了數据访问细节使得我们的通用数据库交互变得简单易行,并且完全不用考虑SQL语句
  • ORM使我们构造固化数据结构变得简单易行

SQLAlchemy 是Python 社区最知名的 ORM 工具之一为高效和高性能的数据库访问设计,实现了完整的企业级持久模型

在命令行下输入下面命令启动 mysql数据库命令大全:

然后创建数据库blog:

 

然后运行程序,如果输出下面信息即说明连接成功。

 

 

要使用 ORM, 我们需要将数据表的结构鼡 ORM 的语言描述出来我们以一个users表为例,
 
  • Column 代表数据库中的一列,
 

 

 

对于一个普通的博客应用来说用户和文章显然是一個一对多的关系,一篇文章属于一个用户一个用户可以写很多篇文章,那么他们之间的关系可以这样定义:
说明:(1).每篇文章有一个外键指向 users 表中的主键 id 而在 User 中使用 SQLAlchemy 提供的 relationship 描述 关系。而用户与文章的之间的这个关系是双向的所以我们看到上面的两张表中都定义了 relationship。
 

添加叻这个就可以不用再在 Article 中定义 relationship 了!所以上面也可以这么写:

此处session指会话后面再提,第一句是查询articles表中的第一行第二句是通过找到articles表中嘚第一行中的外键user_id字段,再根据这个字段数字找到users表中id所在行
 

 

在 User 中我们只定义了几个必须的字段, 但通常用户还有很多其他信息但这些信息可能不是必须填写的,我们可以把它们放到另一张 UserInfo 表中这样 User 和 UserInfo 就形成了一对一的关系。你可能会奇怪一对一关系为什麼不在一对多关系前面那是因为一对一关系是基于一对多定义的,定义方法和一对多相同,只是需要添加 userlist=False

 

一遍博客通常有一個分类,好几个标签标签与博客之间就是一个多对多的关系。多对多关系不能直接定义需要分解成俩个一对多的关系,为此需要一張额外的表 (即article_tag) 来协助完成:
# 中间表 自己创建。不需要手动管理orm自动维护 # articles 表不知道第三张表,所以关联一下第三张表 



 

表已经描述好了在文件末尾使用下面的命令在我们连接的数据库中创建对应的表:

我要回帖

更多关于 mysql数据库命令大全 的文章

 

随机推荐