zoukankan      html  css  js  c++  java
  • Python操作MySQL之SQLAlchemy

    SQLAlchemy是Python编程语言下的一款ORM框架,该框架建立在数据库API之上,使用关系对象映射进行数据库操作,简言之便是:将对象转换成SQL,然后使用数据API执行SQL并获取执行结果。 这就是Python中,最有名的ORM框架是SQLAlchemy。

    但是sqlalchemy无法直接对数据库进行操作,必须以来pymsql等第三方插件,Dialect用于和数据API进行交流,根据配置文件的不同调用不同的数据库API,从而实现对数据库的操作,这期我用mysql作为例子进行操作。其他数据库的原理都是一样的。使用 Engine/ConnectionPooling/Dialect 进行数据库操作,Engine使用ConnectionPooling连接数据库,然后再通过Dialect执行SQL语句。

    #MySQL-Python
        mysql+mysqldb://<user>:<password>@<host>[:<port>]/<dbname>
       
    #pymysql
        mysql+pymysql://<username>:<password>@<host>/<dbname>[?<options>]
       
    #MySQL-Connector
        mysql+mysqlconnector://<user>:<password>@<host>[:<port>]/<dbname>

    上面是一些连接数据库的第三方插件。

    接着就是安装pymysql+sqlalchemy。

    
    pip install sqlalchemy
    pip install pymysql

    安装这两两个东西后即可进行orm了

    # -*- coding: utf-8 -*-
    # @Time    : 2018/10/18 14:58
    # @Author  : Hong_Liu
    # @Email   : 24709***@qq.com
    # @File    : s1.py
    # @Software: PyCharm
    
    from sqlalchemy import Column, String, create_engine, Integer
    from sqlalchemy.orm import sessionmaker
    from sqlalchemy.ext.declarative import declarative_base
    import pymysql
    
    Base = declarative_base()
    
    
    class User(Base):
        __tablename__ = 'user'
    
        id = Column(Integer, primary_key=True)
        name = Column(String(32))
    
    
    def create_db():
        engine = create_engine('mysql+pymysql://root:root@127.0.0.1:3306/test', encoding='utf-8', echo=True)
        Session = sessionmaker(bind=engine)
    
        Base.metadata.create_all(engine)
        return
    
    
    def drop_db():
        engine = create_engine('mysql+pymysql://root:root@localhost:3306/test', echo=True)
        Session = sessionmaker(bind=engine)
        Base.metadata.drop_all(engine)
        return
    
    
    # drop_db()
    create_db()
    

    今天就写到这先

    从csdn搬家过来的可能没有图片,原地址https://blog.csdn.net/weixin_38091140
  • 相关阅读:
    ASP中常用的服务器检测源代码
    dicsuzX表结构
    Flash AS3.0 加载外部资源(图片,MP3,SWF)的两种方式
    ASP快速获取远程文件大小的方法
    利用phpmyadmin修改mysql的root密码
    如何注册java程序为windows服务
    NSTimer
    ASP获得上个月、本月、下个月的第一天和最后一天的代码
    采集网页图片代码
    JS控制图片翻转代码,兼容firefox,ie,chrome等浏览器
  • 原文地址:https://www.cnblogs.com/Apy-0816/p/11100283.html
Copyright © 2011-2022 走看看