在介绍sqlalchemy之前,我们先了解一下ORM。
ORM 全称 Object Relational Mapping
, 翻译过来叫对象关系映射
。也就是说ORM 将数据库中的表与面向对象语言中的类建立了一种对应关系
而SQLAlchemy 是Python 社区最知名的 ORM 工具之一,为高效和高性能的数据库访问设计,实现了完整的企业级持久模型。
在ubuntu上安装 不同系统只是命令头不一样 安装 SQLAlchemy:
$ sudo pip install sqlalchemy
1 连接数据库
我们Code 下新建个 Python 文件name.py(name只是一个名字,随便你自己取 不过要符合命名规则)
:
# coding: utf-8 #使用utf-8from sqlalchemy import create_engine #导入sqlalchemy中的create_engine包 用来连接数据库 也可以导入psycopg2包
engine = create_engine('mysql+mysqldb://: @ ') username是数据库的用户名 password是数据库管理员密码 dsnname是ip+端口+路径
2 数据库的列
每个人都知道 数据库确实就是一列一列的数据 那数据库中的列有那么多的参数 我们在python中如何去确定呢?
是可能是一般人都会有的问题 我一开始也想过 查过 问过
而答案是python的sqlalchemy中Colume的用法
id = Column(Integer, primary_key=True) username = Column(String(64), nullable=False, index=True) password = Column(String(64), nullable=False) email = Column(String(64), nullable=False, index=True) type = Colume(Bool,nullable=True) 这里的话就简单介绍一下基本的参数填写了 有什么问题的 有什么错误的 希望各位可以指出 帮助我进步 谢谢
SQLAlchemy常用数据类型:
1. Integer:整形,映射到数据库中是int类型。2. Float:浮点类型,映射到数据库中是float类型。他占据的32位。3. Double:双精度浮点类型,映射到数据库中是double类型,占据64位。4. String:可变字符类型,映射到数据库中是varchar类型.5. Boolean:布尔类型,映射到数据库中的是tinyint类型。6. DECIMAL:定点类型。是专门为了解决浮点类型精度丢失的问题的。在存储钱相关的字段的时候建议大家都使用这个数据类型。并且这个类型使用的时候需要传递两个参数,第一个参数是用来标记这个字段总能能存储多少个数字,第二个参数表示小数点后有多少位。7. Enum:枚举类型。指定某个字段只能是枚举中指定的几个值,不能为其他值。在ORM模型中,使用Enum来作为枚举8. Date:存储时间,只能存储年月日。映射到数据库中是date类型。在Python代码中,可以使用`datetime.date`来指定
9. DateTime:存储时间,可以存储年月日时分秒毫秒等。映射到数据库中也是datetime类型。在Python代码中,可以使用`datetime.datetime`来指定。示例代码如下:
10. Time:存储时间,可以存储时分秒。映射到数据库中也是time类型。在Python代码中,可以使用`datetime.time`来至此那个。
11. Text:存储长字符串。一般可以存储6W多个字符。如果超出了这个范围,可以使用LONGTEXT类型。映射到数据库中就是text类型。
12. LONGTEXT:长文本类型,映射到数据库中是longtext类型。最后 大家可以看看https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014320114981139589ac5f02944601ae22834e9c521415000 这个网站哦 我自己也是在这把python的教程过了几遍 如果有人是搞openstack的 希望可以给我一个求教的机会哦