博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
sqlalchemy python中的mysql数据库神器
阅读量:6692 次
发布时间:2019-06-25

本文共 1988 字,大约阅读时间需要 6 分钟。

在介绍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的 希望可以给我一个求教的机会哦
 
 

转载于:https://www.cnblogs.com/52why/p/8698556.html

你可能感兴趣的文章
vue-cli —— 项目打包及一些注意事项
查看>>
1.1 变量
查看>>
mfc 链接时错误 文件函数重复定义
查看>>
php
查看>>
Django 是如何实现用户登录和登出机制的(默认版本-数据库版本)
查看>>
【转】 wpf系列-入门
查看>>
exp6
查看>>
PBRT笔记(12)——蒙特卡洛积分
查看>>
自己用 python 实现 base64 编码
查看>>
获取某一天每个小时的数据
查看>>
LeetCode 222. Count Complete Tree Nodes
查看>>
对Fiddler设置【Decrypt HTTPS traffic】后火狐浏览器打开https【您的连接并不安全】的解决方法...
查看>>
0059-乘积问题
查看>>
2019年的第一篇随笔
查看>>
关于公网ip的一些信息(摘抄)
查看>>
5分钟弄懂Docker!
查看>>
BZOJ1076:[SCOI2008]奖励关(状压DP,期望)
查看>>
BZOJ2223/3524:[POI2014] Couriers(主席树)
查看>>
MyEclipse — Maven+Spring+Struts+Hibernate 整合 [学习笔记-5]
查看>>
Nodejs 连接各种数据库集合例子
查看>>