[zz]sqlalchemy连接mysql数据库初探
个人总结:
1.sudo apt-get install python-mysqldb
2.一个Mysql的小例子,关注一下metadata = MetaData() 然后在创建Table的时候传入这个metadata以及metadata.create_all(mysql_engine)的含义
--------------------------------------------------------我是无情的分割线-----------------------------------------------
首先贴一个sqlalchemy的简介:
什么是SQLAlchemy?
SQLAlchemy是一个开源的SQL工具包,基于Python编程语言的MIT许可证而发布的对象关系映射器。SQLAlchemy提供了“一个熟知的企业级全套持久性模式,专为高效率和高性能的数据库访问而设计“。SQLAlchemy的首次发布2006年2月,并已迅速成为最广泛使用的对象关系映射在Python社区的工具之一。
以下记录通过sqlalchemy连接MySQL数据库。
1 安装MySQL数据库。
sudo apt-get install mysql
安装完毕后,mysql -uroot -p 然后输入密码登入数据库。
新建一个数据库mydb,以后测试用。
2 安装sqlalchemy。
2.1 下载sqlalchemy
http://prdownloads.sourceforge.net/sqlalchemy/SQLAlchemy-0.7b2.tar.gz?download
2.2 解压
tar -zvxfSQLAlchemy-0.7b2.tar.gz
cd到解压目录
2.3 安装
$sudo python setup.py install
2.4 验证
>>> import sqlalchemy
>>>
没出错误就表示安装成功。
3 测试安装情况
以下是一段测试代码:
from sqlalchemy import *
import sqlalchemy.util as util
import string, sys
from sqlalchemy.databases import mysql
mysql_engine = create_engine('mysql://root:@localhost/')
#mysql_engine.connect()
metadata = MetaData()
#创建users表
users_table = Table('users', metadata,
Column('id', Integer, primary_key=True),
Column('username', String(20), nullable = False),
Column('fullname', String(20), nullable = False),
Column('password', String(20), nullable = False),
mysql_engine='InnoDB'
)
#mysql_engine='InnoDB' 或者 mysql_engine='MyISAM' 表类型
metadata.create_all(mysql_engine)
代码执行完毕后,发现mydb数据库下增加了一个表users,describe命令查看其结构。
注:测试代码执行时,可能出现一个少了mysqldb模块的错,那么要安装python的mysqldb模块,安装命令sudo apt-get install python-mysqldb