这个居然也冒出来,刨坟了。

我们不喜欢写原生SQL语句,那个写着费劲,日常开发时候,我们怎么CRUD数据库呢?一般使用ORM,对象关系映射(英语:Object Relational Mapping,简称ORM)。

主力使用的是python语言,那么python中最好用的ORM就是sqlalchemy。

一:连接参数

sqlalchemy使用 create_engine() 函数从URL生成一个数据库链接对象,URL遵循 RFC-1738标准。我也不懂。大概就是要有用户名,密码,地址,端口,数据库名,还有一些可选参数。一个标准的链接URL是这样的:

dialect+driver://username:password@host:port/database

dialect,是数据库类型,大概包括:sqlite, mysql, postgresql, oracle, or mssql.

driver,是使用的数据库API,驱动,连接包,随便叫什么吧。

username,用户名

password,密码

host,网络地址,可以用ip,域名,计算机名,当然是你能访问到的。

port,数据库端口。

databas,数据库名。

其实这些也就dialect和dirver需要解释。

二:连接sqlite3

1,驱动

sqlite3是个文件数据库,不需要什么驱动,或者说python内置了驱动。

2,标准连接参数

# sqlite:///

没有hostname

3,各种链接参数

# 相对路径,就是这个python文件同目录下foo.db

engine = create_engine('sqlite:///foo.db')

#绝对路径

#Unix/Mac下用四条表示

engine = create_engine('sqlite:absolute/path/to/foo.db')

#Windows下用三条///加盘符路径用两条\\

engine = create_engine('sqlite:///C:\\path\\to\\foo.db')

#Windows 也可以这么用三条///加盘符路径用一条\

engine = create_engine(r'sqlite:///C:\path\to\foo.db')

#数据库建在内存里。URI保持为空即可

engine = create_engine('sqlite://')

三:连接mysql(mariadb)

sqlalchemy默认使用mysql-python作为链接驱动,既default模式

选哪种驱动,就装哪个包。

1,default默认链接方式

engine = create_engine('mysql://scott:tiger@localhost/foo')

2,# mysql-python,声明使用mysql-python驱动

engine = create_engine('mysql+mysqldb://scott:tiger@localhost/foo')

3,MySQL-connector-python 声明使用MySQL-connector-python驱动(推荐使用)

engine = create_engine('mysql+mysqlconnector://scott:tiger@localhost/foo')

4,OurSQL 声明使用OurSQL驱动

engine = create_engine('mysql+oursql://scott:tiger@localhost/foo')

四:连接Microsoft SQL Server

sqlalchemy默认使用 pyodbc作为链接驱动。

1,pyodbc

engine = create_engine('mssql+pyodbc://scott:tiger@mydsn')

2,pymssql

engine = create_engine('mssql+pymssql://scott:tiger@hostname:port/dbname')

五:连接PostgreSQL

PostgreSQL默认使用 psycopg2作为链接驱动,既default模式

1, default

engine = create_engine('postgresql://scott:tiger@localhost/mydatabase')

2,psycopg2

engine = create_engine('postgresql+psycopg2://scott:tiger@localhost/mydatabase')

3, pg8000

engine = create_engine('postgresql+pg8000://scott:tiger@localhost/mydatabase')

六:连接Oracle

Oracle可能只有 cx_oracle一个驱动包,既default模式和声明模式一样。

1,default

engine = create_engine('oracle://scott:tiger@127.0.0.1:1521/sidname')

2,cx_oracle

engine = create_engine('oracle+cx_oracle://scott:tiger@tnsname')

wins系统flask绑定mysql_flask如何连接mssql,网上大多是sqlite和mysql教程?相关推荐

  1. php连mssql 中文乱码,PHP连接MSSQL显示中文时为乱码_PHP教程

    PHP连接MSSQL显示中文时为乱码 PHP连接MSSQL显示中文时为乱码主要是因为编码问题了,我们只要懂得一对于数据库与页面的编码统一处理就可以解决了,下面一起来看看下文. 因为一直在使用 wind ...

  2. linux下连接MSSQL

    需要的材料 freeTDS sybase 说明 连接MSSQL为什么要涉及这两个东西呢,原来MSSQL和sybase这两个数据库的通讯架构是类似的,是服务器/客户端模式:而freeTDS是一款开源的用 ...

  3. 【转发】PHP连接MSSQL数据库案例,PHPWAMP多个PHP版本连接SQL Server数据库

    转发自:http://blog.csdn.net/lccee/article/details/54289076 课前小知识普及:MSSQL和SQL Server是同一个软件,叫法不同而已,MSSQL全 ...

  4. PHP 连接 MSSQL用port时候的注意事项

    项目中用CI的数据库类连接mssql,默认的端口port连接方法是","连接: $this->hostname .= ','.$this->port; 但是在我的电脑上 ...

  5. php连接mssql的一些方法总结

    为了能让PHP连接MSSQL,系统需要安装MSSQL,PHP,且在PHP.ini中的配置中,将        ;extension=php_mssql.dll前面的;去掉 1.连接MSSQL      ...

  6. php drive mssql,PHP 连接 MSSQL 2005/2008 以UTF8存取 并让ADODB支持的安装设置

    时间:2009-11-9 11:14 作者:欣然随风 因系统大量使用AJAX,为避免编码转来转去的麻烦,把文件都设为了UTF8.但在操作MSSQL时遇到乱码问题,查阅一番后原来是MSSQL不支持UTF ...

  7. php5.3无法加载mysql数据库模块_PHP_php5.3不能连接mssql数据库的解决方法,本文实例讲述了php5.3不能连接m - phpStudy...

    php5.3不能连接mssql数据库的解决方法 本文实例讲述了php5.3不能连接mssql数据库的解决方法.分享给大家供大家参考.具体分析如下: 自从php5.3之后系统就不支持mssql_conn ...

  8. mssql 远程无法连接mysql_在本地 怎么远程连接MSSQL数据库

    hp连接mssql数据库有几个注意事项,尤其mssql的多个版本.32位.64位都有区别. 首先,php.ini文件中;extension=php_pdo_mssql.dll ;extension=p ...

  9. php连接mssql数据库的几种方式

    数据库查询不外乎4个步骤,1.建立连接.2.输入查询代码.3.建立查询并取出数据.4.关闭连接. php连接mssql数据库有几个注意事项,尤其mssql的多个版本.32位.64位都有区别. 首先,p ...

最新文章

  1. CTO:再写 if-else,逮着罚款 1000!
  2. 解决vs2017不能添加引用问题
  3. 金蝶云如何html5登录,第三方系统单点登录到金蝶云指南V2
  4. 满分简便代码:1009 说反话 (20分)
  5. Membership学习记录
  6. python使用GUI(图形用户界面)
  7. bitcount java_Java.math.BigInteger.bitCount()方法实例
  8. 关于网站主页的界面设计不同风格的探索
  9. IntelliJ IDEA中使用git
  10. github 中redisPhpAdmin redis 可视化界面
  11. 模板解压下来是php文件,smarty模板解压完将libs目录放到哪?
  12. 如何用.NET编写ActiveX 控件
  13. Android三横变叉动画,90%的孩子会写错的笔顺,动画演示来一波!一看就会!
  14. 佳博GprinterApp编辑软件使用说明
  15. 【JZOJ 4623】搬运干草捆
  16. Android Studio Logcat 截断问题(cocos2d-x 篇)
  17. 鸿蒙OS内核分析|解读鸿蒙源码
  18. whose引导的定语从句,先行词是复数形式,从句里谓语动词用单数还是复数?
  19. NLP神经网络之一维卷积的处理【Conv1D】和GLU层
  20. 【Word】docx转doc后公式转换为图片不清晰/模糊

热门文章

  1. 如何保证代码的高质量?
  2. 设计公共API的六个注意事项
  3. wireshark解析rtp协议,流媒体中的AMR/H263/H264包的方法
  4. 解决 springboot 启动报错 -- Cannot determine embedded database driver class for database type NONE
  5. LiveGBS高性能GB28181国标流媒体服务流传输模式支持UDP、TCP被动、TCP主动模式
  6. sublime 自定义快捷键
  7. matlab神经网络函数
  8. 修正线性单元(Rectified linear unit,ReLU)
  9. 关闭IOS更新功能(ios4/5/6)
  10. Windows系统进程介绍