Python对数据库操作


Posted in Python onMarch 28, 2016

Windows下安装MySQL-python

下载地址:https://pypi.python.org/pypi/MySQL-python/1.2.5 安装到系统即可。

linux下安装MySQL-python以连接MySQL:

下载地址:https://pypi.python.org/pypi/MySQL-python/

解压后,进入目录下,执行python setup.py install

安装过程中,常会遇到的问题:

1、 提示找不到mysql_config的话,一般是由于mysql采用的是lnmp一键安装包安装的,路径

解决:locate mysql_config找到mysql_config这个文件的位置,然后ln -s做个软连接到/usr/bin/下。

2、 Ubuntu下提示缺少'x86_64-linux-gnu-gcc'时,需要安装python-dev包:

解决:sudo apt-get install python-dev -y

3、 CentOS下提示command 'gcc' failed with exit status 1

解决:yum install gcc python-devel -y

安装完成后,进入python,执行import MySQLdb看导入是否能成功。

补充:

我在ubuntu下操作时候,发现无法连接数据库,ss -lnt发现mysql只监听在回环地址上的3306端口,需要修改下。
修改Ubuntu的mysql,将其监听端口127.0.0.1:3306改为允许外部连接的方法:
编辑/etc/mysql/my.cnf(可能配置参数再此目录下的其它文件中,仔细找找)
修改bind-address = 0.0.0.0 表示允许任意IP访问。
然后执行 /etc/init.d/mysql restart重启mysqlserver服务即可

# 下面是一个Python操作数据库的例子:

#!/usr/bin/env python
# -*- coding:utf8 -*-
import MySQLdb
conn = MySQLdb.connect(
host = '192.168.2.14',
port = 3306,
user = 'root',
passwd = '123456',
db = 'demo',
)
# 操作数据库首先需要创建游标
cur = conn.cursor()
# 通过游标cur操作execute()方法可以写入纯sql语句,如下:
# 创建数据表
# cur.execute("create table teacher (id int(5),name varchar(20),class varchar(20),age varchar(10))")
# 插入数据
# cur.execute("insert into teacher values(23,'zhangsan','science',15)")
# 修改数据
# cur.execute("update teacher set id=100 where name='zhangsan'")
# 删除数据
# cur.execute("delete from teacher where id=100")
#插入一条数据【也可以用像下面这种写法】
sqli="insert into teacher values(%s,%s,%s,%s)"
cur.execute(sqli, (23,'zhangsan','science',15))
# 使用executemany一次性向数据表中插入多条值,返回值为受影响的行数。
sqli="insert into teacher values(%s,%s,%s,%s)"
cur.executemany(sqli,[
(11,'wangwu','art',23),
(8,'john','math',22),
(3,'Tom','physical',25),
])
# 最后关闭游标,执行提交操作,并关闭数据库连接
cur.close()
conn.commit()
conn.close()

检索并输出数据

#!/usr/bin/env python
# -*- coding:utf8 -*-
import MySQLdb
conn = MySQLdb.connect(
host = '192.168.2.14',
port = 3306,
user = 'root',
passwd = '123456',
db = 'demo',
)
cur = conn.cursor()
# 获得表中有多少条数据
aa = cur.execute("select * from teacher")
cur.fetchone() # fetchone()方法可以帮我们获得表中的数据,但是每执行一次输出一行满足条件的值
cur.fetchone()
......
cur.scroll(0,'absolute')# 这样能将游标定位到表中的第一条数据
info = cur.fetchmany(aa)
for i in info:
print i
cur.close()
conn.commit()
conn.close()

有关Python对数据库操作小编就给大家介绍这么多,希望对大家有所帮助!

Python 相关文章推荐
python中list循环语句用法实例
Nov 10 Python
Python中map和列表推导效率比较实例分析
Jun 17 Python
简单讲解Python中的数字类型及基本的数学计算
Mar 11 Python
Python实现的选择排序算法示例
Nov 29 Python
python 显示数组全部元素的方法
Apr 19 Python
浅谈Python中的bs4基础
Oct 21 Python
Python图像处理实现两幅图像合成一幅图像的方法【测试可用】
Jan 04 Python
Flask框架重定向,错误显示,Responses响应及Sessions会话操作示例
Aug 01 Python
500行代码使用python写个微信小游戏飞机大战游戏
Oct 16 Python
使用python+pygame开发消消乐游戏附完整源码
Jun 10 Python
Python pandas求方差和标准差的方法实例
Aug 04 Python
python中 Flask Web 表单的使用方法
May 20 Python
Python字符串切片操作知识详解
Mar 28 #Python
python Django框架实现自定义表单提交
Mar 25 #Python
python Django批量导入数据
Mar 25 #Python
python Django批量导入不重复数据
Mar 25 #Python
用Python实现斐波那契(Fibonacci)函数
Mar 25 #Python
Python基础教程之正则表达式基本语法以及re模块
Mar 25 #Python
详解Python使用simplejson模块解析JSON的方法
Mar 24 #Python
You might like
PHP使用gmdate实现将一个UNIX 时间格式化成GMT文本的方法
2015/03/19 PHP
php实现支持中文的文件下载功能示例
2017/08/30 PHP
JavaScript中instanceof运算符的用法总结
2013/11/19 Javascript
js流动式效果显示当前系统时间
2016/05/16 Javascript
Vue.js每天必学之表单控件绑定
2016/09/05 Javascript
jQuery实现弹出带遮罩层的居中浮动窗口效果
2016/09/12 Javascript
利用Angularjs中模块ui-route管理状态的方法
2016/12/27 Javascript
在一般处理程序(ashx)中弹出js提示语
2017/08/16 Javascript
详解Vue.js组件可复用性的混合(mixin)方式和自定义指令
2017/09/06 Javascript
用p5.js制作烟花特效的示例代码
2018/03/21 Javascript
用vue2.0实现点击选中active其他选项互斥的效果
2018/04/12 Javascript
关于jquery中attr()和prop()方法的区别
2018/05/28 jQuery
nodejs aes 加解密实例
2018/10/10 NodeJs
jquery+ajax实现上传图片并显示上传进度功能【附php后台接收】
2019/06/06 jQuery
让 babel webpack vue 配置文件支持智能提示的方法
2019/06/22 Javascript
es6中比较有用的7个技巧小结
2019/07/12 Javascript
vscode中eslint插件的配置(prettier配置无效)
2019/09/10 Javascript
vue elementUI 表单校验的实现代码(多层嵌套)
2019/11/06 Javascript
jquery实现直播视频弹幕效果
2020/02/25 jQuery
原生JS实现pc端轮播图效果
2020/12/21 Javascript
Python IDLE清空窗口的实例
2018/06/25 Python
Python使用numpy产生正态分布随机数的向量或矩阵操作示例
2018/08/22 Python
Python实现PyPDF2处理PDF文件的方法示例
2019/09/25 Python
Python 实现opencv所使用的图片格式与 base64 转换
2020/01/09 Python
打印tensorflow恢复模型中所有变量与操作节点方式
2020/05/26 Python
Python基于内置函数type创建新类型
2020/10/22 Python
css3实现背景模糊的三种方式(小结)
2020/05/15 HTML / CSS
Kate Spade澳大利亚官方网站:美国设计师手袋品牌
2019/09/10 全球购物
Laravel中Kafka的使用详解
2021/03/24 PHP
淘宝活动策划方案
2014/02/06 职场文书
小学二年级学生评语
2014/04/21 职场文书
计算机系本科生求职信
2014/05/31 职场文书
校园文明标语
2014/06/13 职场文书
怎样写辞职信
2015/02/27 职场文书
单位考核聘任报告
2015/03/02 职场文书
Python 解决空列表.append() 输出为None的问题
2021/05/23 Python