您的位置:首页 > 编程语言 > Python开发

python模块之MySQLdb: 用python连接mysql数据库

2009-12-15 16:32 591 查看
mysql是一个优秀的开源数据库,它现在的应用非常的广泛,因此很有必要简单的介绍一下用python操作mysql数据库的方法。python操作数据库需要安装一个第三方的模块,在http://mysql-python.sourceforge.net/
有下载和文档。

由于python的数据库模块有专门的数据库模块的规范,所以,其实不管使用哪种数据库的方法都大同小异的,这里就给出一段示范的代码:

#
-*- encoding: gb2312 -*-

import
os, sys, string

import
MySQLdb

#
连接数据库 

try
:

conn
=
MySQLdb.connect(host
=
'
localhost
'
,user
=
'
root
'
,passwd
=
'
xxxx
'
,db
=
'
test1
'
)

except
Exception, e:

print
e

sys.exit()

#
获取cursor对象来进行操作

cursor
=
conn.cursor()

#
创建表

sql
=

"
create table if not exists test1(name varchar(128) primary key, age int(4))
"

cursor.execute(sql)

#
插入数据

sql
=

"
insert into test1(name, age) values ('%s', %d)
"

%
(
"
zhaowei
"
,
23
)

try
:

cursor.execute(sql)

except
Exception, e:

print
e

sql
=

"
insert into test1(name, age) values ('%s', %d)
"

%
(
"
张三
"
,
21
)

try
:

cursor.execute(sql)

except
Exception, e:

print
e

#
插入多条

sql
=

"
insert into test1(name, age) values (%s, %s)
"

val
=
((
"
李四
"
,
24
), (
"
王五
"
,
25
), (
"
洪六
"
,
26
))

try
:

cursor.executemany(sql, val)

except
Exception, e:

print
e

#
查询出数据

sql
=

"
select * from test1
"

cursor.execute(sql)

alldata
=
cursor.fetchall()

#
如果有数据返回,就循环输出, alldata是有个二维的列表

if
alldata:

for
rec
in
alldata:

print
rec[0], rec[
1
]

cursor.close()

conn.close()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: