一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

python下用mysqldb连接使用数据库示例

时间:2016-08-03 编辑:简简单单 来源:一聚教程网

第一步:连接

import MySQLdb #首先需要引入mysqldb即Python 连接 MySQL 的模块。
conn=MySQLdb.connect(host="localhost",user="root",passwd="")#此处等价于缺省值时即conn=MySQLdb.connect()
cur = conn.cursor() #创建游标,用于发送sql指令这样就可以用游标cur发送sql指令给mysql了。

第二步:操作

1.创建数据库

cur.execute('create database adams') 再在mysql下查看一下,当然也可以直接在python中查看,但这里写一下如何在mysql下查看,便于两种环境的转换。
 
2.创建表

cur.execute('use adams') #表示接下来要使用数据库adams同mysql下的用法
cur.execute('create table test(ID int,name varchar(8),sex varchar(1))')
cur.execute('show tables')#在这里不能直接打印出tables,而要用如下命令查看
cur.fetchone() 得到如下结果:
 
3.表操作

只介绍添加记录和查找记录,因为删除和修改mysqldb所设计的操作比较少,基本只和sql语句有关。

3.1.增

sqlim = "insert into test(ID,name,sex) values(%s,%s,%s)"#先把sql语句写下来,用格式化方法方便操作时传入可变的值,注意这里无论什么数据类型都用%s
m1 = (1,'aaa','f')
m2 = (2,'bbb','m')
m3 = (3,'ccc','m')
m4 = (4,'ddd','f')
m5 = (5,'eee','m')
cur.executemany(sqlim,[m1,m2,m3,m4,m5])#用列表把5个值和sql命令通过executemany命令执行。如果只有一个值的话把executemany改为execute把sqlim中values改为value,传入一个m参数就可以了。
3.2.查

cur.execute('select  * from test')
cur.fetchall()
得到如下结果
 
在这里,指针移动到了最后面,在执行cur.fetchone()就无法得到任何结果,所以需要移动指针

cur.scroll(offset,mode)#这scroll的用法和python中的文件操作所用的seek函数只有第一个参数是一样的,mode=absolute | relative,默认为relative。

我们把cur移到最前面

cur.scroll(0,‘absolute’)
cur.catchmany(2) #查到前两条数据
因为前面我们由cur.execute('select * from test')得到的是test中记录的条数,所以可以直接这样使用输出所有条目
cur.catchmany(cur.execute('select * from test'))
第三步:退出

先退出游标

cur.close() 在退出连接
conn.close()


补充:


Python连接数据库之postgresql:

使用psycopg2来连接

示例代码:

import psycopg2 
conn = psycopg2.connect("dbname='dbname' user='username'
host='localhost' password='password'") 
cur = conn.cursor() 
cur.execute("select * from dbtable") 
for row in cur: 
print row[0] 
conn.close()
Python连接数据库之ms sql server:

使用pymssql来连接

示例代码:

import psmssql 
conn = psmssql.connect(host='yourhost', user='loginname',
password='password', database='dbname', charset='utf8') 
cur = conn.cursor() 
cur.execute('select * from dbtable') 
for row in cur: 
print row[0] 
conn.close()

热门栏目