[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

posted @ 2012-04-10 13:31  zaleilynn  阅读(898)  评论(0编辑  收藏  举报