Python MySQL操作
2016-07-05 22:56
477 查看
导入MySQLdb包
import MySQLdb
连接数据库
con = MySQLdb.connect(host="localhost", user="root", passwd="123456",db="xblog",port=3306)
完成python的数据库连接, 但是不能在这个对象上直接对数据库进行操作, 还需要获取对应的操作游标才能进行数据库的操作
cur = con.cursor()
cur.execute('create table stu_info (name char(128) not null default "", age tinyint(3) not null default 0, sex enum("man","femal") not null default "man") engine=innodb ')
0L
cur.execute 返回执行的sql 影响的行数, 因为这里是创建数据库, 所以是0L行。但到这里还并没有真正执行了sql语句, 必须使用MySQLdb.commit才是真正执行完毕
con.commit()
梳理下步骤
在数据库连接上的情况下,获取操作游标cur.execute(“mysql script”)提交mysql语句
con.commit()执行提交的mysql语句
更新表数据(两种方式)
单步插入
cur.execute("insert into stu_info (name, age, sex) values ('Yi_Zhi_Yu',25,'man')") con.commit()
或者用下面这种方式:
批量插入
cur.execute("insert into stu_info (name, age, sex) values (%s,%s,%s)", ("Tony",25, "man")) con.commit()
第二种方式可以传递多列表值,即可以批量的导入数据进数据库。
cur.executemany("insert into stu_info (name, age, sex) values (%s,%s,%s)",(("LiMei",26,"femal"),("YuanYuan",28,"femal"))) con.commit()
数据查询(两种方式)
无字段名查询
cur.execute("select * from stu_info") stus = cur.fetchall() for stu in stus: print "name: %s; age: %d; sex: %s" %(stu[0], stu[1], stu[2])
name: Yi_Zhi_Yu; age: 25; sex: man name: Tony; age: 25; sex: man name: LiMei; age: 26; sex: femal name: YuanYuan; age: 28; sex: femal name: Yi_Zhi_Yu; age: 25; sex: man
有字段名查询
cur = con.cursor(cursorclass=MySQLdb.cursors.DictCursor) cur.execute("select * from stu_info") cur.fetchall()
({'age': 25, 'name': 'Yi_Zhi_Yu', 'sex': 'man'}, {'age': 25, 'name': 'Tony', 'sex': 'man'}, {'age': 26, 'name': 'LiMei', 'sex': 'femal'}, {'age': 28, 'name': 'YuanYuan', 'sex': 'femal'}, {'age': 25, 'name': 'Yi_Zhi_Yu', 'sex': 'man'})
con.close()
总结
Python 中对数据的操作, 增删改均要在指针对象执行了sql语句后, 使用连接对象commit, 查询的结果使用指针对象的fetch系列方法获取参考
diancody CSDN博客相关文章推荐
- MySQL中的integer 数据类型
- MySQL存储过程
- Android之获取手机上的图片和视频缩略图thumbnails
- Python动态类型的学习---引用的理解
- Python3写爬虫(四)多线程实现数据爬取
- 垃圾邮件过滤器 python简单实现
- 下载并遍历 names.txt 文件,输出长度最长的回文人名。
- mysql中int、bigint、smallint 和 tinyint的区别与长度
- mysql load data 导出、导入 csv
- install and upgrade scrapy
- source命令执行SQL脚本文件
- Scrapy的架构介绍
- Centos6 编译安装Python
- 使用Python生成Excel格式的图片
- 让Python文件也可以当bat文件运行
- [Python]推算数独
- MySQL创建用户及权限控制