zoukankan      html  css  js  c++  java
  • sqlalchemy python中的mysql数据库神器

    在介绍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-8
    
    from sqlalchemy import create_engine    #导入sqlalchemy中的create_engine包   用来连接数据库   也可以导入psycopg2包
    engine = create_engine('mysql+mysqldb://<username>:<password>@<dsnname>')
    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的 希望可以给我一个求教的机会哦
     
     
  • 相关阅读:
    ConcurrentHashMap使用示例
    vss的ss.ini丢失或损坏导致的vss无法登录错误
    Arcgis中用滚轮做放大缩小为什么和一般软件反向
    MapControl控件
    string截取字符串
    C# CheckedListBox控件用法总结(怎样得到多选的值)
    通信串口中报ObjectDisposedException错误时怎么解决
    C#串口SerialPort常用属性方法
    SerialPort.DataReceived 事件
    C#的串口编程
  • 原文地址:https://www.cnblogs.com/52why/p/8698556.html
Copyright © 2011-2022 走看看