python mysqlのcreate_tableをmssqlのものに変换するやつ

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python mysqlのcreate_tableをmssqlのものに変换するやつ相关的知识,希望对你有一定的参考价值。

#!/usr/bin/env python

# sqlalchemy
# https://github.com/zzzeek/sqlalchemy

# sqlalchemy engine
# http://docs.sqlalchemy.org/en/rel_1_0/core/engines.html

# reflection
# http://docs.sqlalchemy.org/en/latest/core/reflection.html

# printing raw sql from create
# http://stackoverflow.com/questions/2128717/sqlalchemy-printing-raw-sql-from-create

# apt-get install unixodbc unixodbc-dev
# pip install mysql-python pyodbc
# pip install sqlalchemy

from sqlalchemy import create_engine, MetaData, Table
from sqlalchemy.schema import CreateTable
from sqlalchemy.dialects.mysql.base import TINYINT
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.ext.compiler import compiles
from sqlalchemy.exc import ProgrammingError
from sqlalchemy.dialects.mysql import VARCHAR

# mysql
# mysql_engine = create_engine('mysql://user:password@host:port/database')
meta = MetaData(bind=mysql_engine)
enquete_table = Table('enquetes',
                      meta,
                      autoload=True,
                      autoload_with=mysql_engine)

# mssql
mssql_engine = create_engine('mssql+pyodbc://user:password@host/database')
table = CreateTable(enquete_table)

# https://github.com/zzzeek/sqlalchemy/blob/master/lib/sqlalchemy/dialects/mssql/base.py#L738
@compiles(VARCHAR, 'mssql')
def compile_VARCHAR(element, compiler, **kw):
    return compiler.visit_NVARCHAR(element, **kw)

print table.compile(mssql_engine)

以上是关于python mysqlのcreate_tableをmssqlのものに変换するやつ的主要内容,如果未能解决你的问题,请参考以下文章

第十三章:Python の 网络编程进阶

python faithful.txtのGMMの学习

使用 Python 和 API 创建 Bigquery 分区表

markdown MySQL的サーバの开始コマンド

SystemTapでMySQL 5.5のDisk I/Oを分析する

python NumPy的の人气指数の小さなメモ