Python学习笔记(1) 使用sqlalchemy连接mysql

最近学习了使用orm框架来连接数据库,在这里分享一些我的学习笔记。

sqlalchemy是python中著名的orm框架,通过这个框架我们可以不用关心sql语句,就能操作数据库。大大的提高开发效率。当然通过orm来操作数据库会执行很多的数据库冗余操作,降低程序的运行效率。不过既然选择使用python来编写程序,那么这么这点开销和开发效率相比就显得不值一提了。

1.在开发之前我们要先做一些准备工作,首先我们先安装sqlalchemy

pip install sqlalchemy或者easy install sqlalchemy
2.安装完成后就开始连接数据库吧,和上网一样我们也需要一个connect路径

路径格式为:dialect+driver://username:password@host:port/database

因为本人用的是mysql数据库,所以这里我就只放出mysql路径了

mysql路径:“mysql+pymysql://username+password@host:prot/database”

pymysql:通过sqlalchemy连接数据库必须要通过相应的数据库驱动来连接,这里pymysql为mysql的驱动

username:数据库的用户名

password:数据库的用户密码

host:连接的数据库的域名,如果你是默认状态下启动的那么你的ip名就是127.0.0.1,如果你更改了默认的ip,那么就是你更改后的ip

port:端口号,数据库连接的默认状态下端口通常为3306

database:连接的数据库名

为了保险起见设置了默认的编码格式

# encoding: utf-8

HOSTNAME = "127.0.0.1"
PORT = "3306"
DATABASE = "first_sqlalchemy"
USERNAME = "root"
PASSWORD = "root"

DB_URI = "mysql+pymysql://{username}:{password}@{host}:{port}/{db}?charset=utf8".\
    format(username=USERNAME,password=PASSWORD,host=HOSTNAME,port=PORT,db=DATABASE)

在这里我们要注意一下,如果你是用mysql数据库来操作的话,还请务必下载一下pymysql的驱动(我的环境是python3.6),当初就是因为没有下驱动一直连接不上数据库,找了很久的原因才知道必须要连接要导入数据库驱动才行

3.有了连接路径以后我们就能通过create_engine来连接数据库了

create_engine方法会返回一个数据数据库引擎,通过他我们就能连接上数据库了。当然在create_engine中有一个echo参数,当参数为true时,则会显示执行每条数据库语句

from sqlalchemy import create_engine
...
engine = create_engine(db_url)

4.然后我们就再来检测一下啊这个是否能够正常连接数据库了

conn = engine.connect()
result = conn.execute("select 1")
print(result.fetchone())

当控制台返回打印出一个(1,)的数据时,那么说明这个连接已经成功了

你可能感兴趣的:(Python学习笔记(1) 使用sqlalchemy连接mysql)