• 连接数据库


    连接数据库
    1
    #!/usr/bin/env python 2 #coding:utf-8 3 4 import MySQLdb 5 6 conn = MySQLdb.connect(host='127.0.0.1', user='root', passwd='123456', db='08day5')#第一部分,创建连接的 7 cur = conn.cursor()#我们要使用连接对象获得一个cursor对象,接下来,我们会使用cursor提供的方法来进行工作.这些方法包括两大类:1.执行命令,2.接收返回值 8 9 reCount = cur.execute('select * from admin')#执行单条sql语句,接收的参数为sql语句本身和使用的参数列表,返回值为受影响的行数 10 11 data=cur.fetchall()#fetchall(self):接收全部的返回结果行. 12 13 cur.close()#第三部分,关闭连接 14 conn.close() 15 16 print reCount 17 print data
    数据库的批量操作
    1
    #!/usr/bin/env python 2 #coding:utf-8 3 4 import MySQLdb 5 6 conn=MySQLdb.connect(host='127.0.0.1', user='root', passwd='123456',db='08day5') 7 cur=conn.cursor() 8 9 li=[ 10 ('bill','usa'), 11 ('sb','jap') 12 ] 13 14 sql="insert into admin(name,address) values(%s,%s)" 15 16 17 recount=cur.executemany(sql,li)#使用executemany达到一次提交多组数据 18 19 conn.commit() 20 21 cur.close() 22 conn.close() 23 24 print recount
    数据库的插入操作 
    1
    #!/usr/bin/env python 2 #coding:utf-8 3 4 import MySQLdb 5 6 conn=MySQLdb.connect(host='127.0.0.1', user='root', passwd='123456',db='08day5') 7 cur=conn.cursor() 8 9 sql="insert into admin(name,address) values(%s,%s)"#对于自增列是不需要额外操作的,%s,%s只是作为占位符,为了防止sql注入 10 #delete from admin where id = %s 删除 11 #update admin set name=%s where id=7 12 params=('alex_1','usa') 13 14 recount=cur.execute(sql,params) 15 16 conn.commit()#当对数据库有什么数据更改的时候需要保存操作 17 18 cur.close() 19 conn.close() 20 21 print recount
    获取自增ID 
    1
    #!/usr/bin/env python 2 #coding:utf-8 3 4 import MySQLdb 5 6 conn = MySQLdb.connect(host='127.0.0.1', user='root', passwd='123456', db='08day5') 7 cur = conn.cursor() 8 9 sql='insert into media (address) values (%s)' 10 par=('/usr/bin/a.txt',) 11 reCount = cur.execute(sql,par) 12 13 #data=cur.fetchall() 14 15 conn.commit() 16 17 new_id=cur.lastrowid#获取自增id 18 print new_id 19 20 cur.close() 21 conn.close()
    取数据库的一行操作 
    1
    #!/usr/bin/env python 2 #coding:utf-8 3 4 5 import MySQLdb 6 7 conn = MySQLdb.connect(host='127.0.0.1', user='root', passwd='123456', db='08day5') 8 cur = conn.cursor() 9 10 reCount = cur.execute('select * from admin') 11 12 #data=cur.fetchall() 13 data=cur.fetchone()#每次执行只取一个记录,这是第一次 14 print data 15 16 #cur.scroll(0,mode='absolute')#绝对定位,让指针偏移到开头 17 cur.scroll(-1,mode='relative')#相对定位,在执行前一次的操作 18 19 data=cur.fetchone()#第二次 20 print data 21 22 cur.close() 23 conn.close() 24 25 #print reCount
    提交和回滚 
    1
    #!/usr/bin/env python 2 #coding:utf-8 3 4 import MySQLdb 5 6 conn=MySQLdb.connect(host='127.0.0.1', user='root', passwd='123456',db='08day5') 7 cur=conn.cursor() 8 9 sql='update admin set name =%s where id =10' 10 params=[1] 11 recount=cur.execute(sql,params) 12 13 sql='update admin set name =%s where id =11' 14 params=[2] 15 recount=cur.execute(sql,params)#params只能是列表或者元祖 16 17 18 conn.commit() 19 20 cur.close() 21 conn.close() 22 23 print recount
    以字典的形式显示数据
    1
    #!/usr/bin/env python 2 #coding:utf-8 3 4 import MySQLdb 5 6 conn = MySQLdb.connect(host='127.0.0.1', user='root', passwd='123456', db='08day5') 7 cur = conn.cursor(cursorclass=MySQLdb.cursors.DictCursor)#以字典的形式显示数据 8 9 reCount = cur.execute('select * from admin') 10 11 data=cur.fetchall() 12 13 cur.close() 14 conn.close() 15 16 print reCount 17 print data
  • 相关阅读:
    响应式面包屑菜单
    自定义美化UL OL发光列表
    3D立方体图片切换动画
    超酷Loading进度条
    比特币网络的弱点(二)
    比特币网络的弱点
    C++的价值
    《老罗的Android之旅》导读PPT
    系统的思考性能问题
    no_expand优化案例
  • 原文地址:https://www.cnblogs.com/bill2014/p/6919758.html
Copyright © 2020-2023  润新知