sqlalchemy(一)常用连接参数及包
简介:
本文默认你已经有了一定的数据库基础。
我们不喜欢写原生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://<nohostname>/<path>
没有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')
sqlalchemy(一)常用连接参数及包的更多相关文章
- Ubuntu下deb包的解压、打包、安装、卸载及常用命令参数
1.首先下载deb包,比如:将其放在 /home/tools/ 根目录下: 2.进入到tools根目录下的终端,输入下面命令创建文件夹extract,并在extract文件夹下创建DEBIAN文件夹 ...
- 三十一:数据库之SQLAlchemy属性常用数据类型和Column常用参数
SQLAlchemy属性常用数据类型 Column常用参数
- struts2 笔记01 登录、常用配置参数、Action访问Servlet API 和设置Action中对象的值、命名空间和乱码处理、Action中包含多个方法如何调用
Struts2登录 1. 需要注意:Struts2需要运行在JRE1.5及以上版本 2. 在web.xml配置文件中,配置StrutsPrepareAndExecuteFilter或FilterDis ...
- Linux常用内核参数
Linux常用内核参数 TCP状态描述 CLOSED:无连接是活动的或正在进行的 LISTEN:服务器在等待进入呼叫 SYN-RECV:一个连接请求已经到达,等待确认 SYN-SENT:应用已经开始, ...
- 笔记01 登录、常用配置参数、Action访问Servlet API 和设置Action中对象的值、命名空间和乱码处理、Action中包含多个方法如何调用
Struts2登录 1. 需要注意:Struts2需要运行在JRE1.5及以上版本 2. 在web.xml配置文件中,配置StrutsPrepareAndExecuteFilter或FilterDis ...
- 低功耗蓝牙BLE之连接事件、连接参数和更新方法
转自:http://blog.csdn.net/zzfenglin/article/details/51304084 连接事件 在一个连接当中,主设备会在每个连接事件里向从设备发送数据包.一个连接事件 ...
- 【转载】gcc 使用中常用的参数及命令
本文转载自:http://www.cnblogs.com/yaozhongxiao/archive/2012/03/16/2400473.html 如需转载,请注明原始出处.谢谢. --------- ...
- Spring+SpringMVC+MyBatis+easyUI整合基础篇(七)JDBC url的连接参数
在java程序与数据库连接的编程中,mysql jdbc url格式如下: jdbc:mysql://[host:port],[host:port].../[database][?参数名1][=参数值 ...
- 009_npm常用命令参数总结
npm是什么 NPM的全称是Node Package Manager,是随同NodeJS一起安装的包管理和分发工具,它很方便让JavaScript开发者下载.安装.上传以及管理已经安装的包. 一.np ...
随机推荐
- 餐E评echarts
所需要的数据结构 option = { num:1212,//商圈数 numRate:34%,//商圈增长率 activation:1231,//活跃度 activationRate:23%,//活跃 ...
- 通过cookies跳过验证码登陆页面,直接访问网站的其它URL
我每次手动访问去NN网的一家酒店,就不需要登陆,一旦我用脚本打开就会让我登陆,而登陆页面又有验证码,不想识别验证码,所以就想:“通过cookies跳过验证码登陆页面,直接访问网站的其它URL” 转 ...
- Python 编程快速上手 第十五章 保持时间,计划任务和启动程序
前言 这一章节的主要内容是: 处理时间类型的数据(使用python 的两个模块: time 和 datetime 来处理) 创建多个线程 (使用 threading 模块来创建多个线程) 进行多个进程 ...
- java ----> 手动编译java项目
环境: jdk1.8,cmd,notepad++ 创建java工程test,创建文件夹: src classes lib 说明: src 放置.java文件 classes 放置.class文件 li ...
- 【debug、info、warn、error】四者之间的区别与用法
debug:需要在调试过程中输出的信息,但发布后是不需要的(当然发布后,也是看不到的) info:需要持续输出的信息(无论调试还是发布状态) warn:警告级别的信息(不严重) error:错误信息( ...
- wordpress +window 走起~
一.安装XAMPP 1 百度搜索xampp后下载安装到D盘(安装时按默认勾选安装即可) 2 安装完后,点击Start来启动Apache和MySQL这两个服务 3 如果Apache服务不能启动,多数 ...
- linux中的软、硬链接
linux中的软.硬链接 硬链接 硬链接(hard link),如果文件B是文件A的硬链接,则A的inode节点号与B的inode节点号相同,即一个inode节点对应两个不同的文件名,两个文件名指向同 ...
- 『MXNet』第八弹_数据处理API_上
一.Gluon数据加载 下面的两个dataset处理类一般会成对出现,两个都可做预处理,但是由于后面还可能用到原始图片,.ImageFolderDataset不加预处理的话可以满足,所以建议在.Dat ...
- spring boot(十四)shiro登录认证与权限管理
这篇文章我们来学习如何使用Spring Boot集成Apache Shiro.安全应该是互联网公司的一道生命线,几乎任何的公司都会涉及到这方面的需求.在Java领域一般有Spring Security ...
- 笔记react router 4(一)
用过react router4.X的小伙伴一定知道,比起3.X的版本,router的使用上有了很大的改变. 首先,我们只需要安装 react-router-dom 即可使用.看到“dom”想必你就该知 ...