第一步:连接
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:快速入门精讲第37课时所做的笔记
python下用mysqldb连接使用数据库
时间: 2024-10-24 06:24:18