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访问纯真IP数据库脚本分享
Jun 29 Python
Python实现曲线点抽稀算法的示例
Oct 12 Python
Python3 中文文件读写方法
Jan 23 Python
使用python opencv对目录下图片进行去重的方法
Jan 12 Python
简单了解python的break、continue、pass
Jul 08 Python
Django为窗体加上防机器人的验证码功能过程解析
Aug 14 Python
python sqlite的Row对象操作示例
Sep 11 Python
基于python读取.mat文件并取出信息
Dec 16 Python
pytorch常见的Tensor类型详解
Jan 15 Python
python pyqtgraph 保存图片到本地的实例
Mar 14 Python
详解vscode实现远程linux服务器上Python开发
Nov 10 Python
python 中[0]*2与0*2的区别说明
May 10 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 数组实例说明
2008/08/18 PHP
一个简洁的PHP可逆加密函数(分享)
2013/06/06 PHP
php通过Chianz.com获取IP地址与地区的方法
2015/01/14 PHP
使用新浪微博API的OAuth认证发布微博实例
2015/03/27 PHP
php实现转换ubb代码的方法
2015/06/18 PHP
示例详解Laravel重置密码代码重构
2016/08/10 PHP
PHP实现的简单在线计算器功能示例
2017/08/02 PHP
js 数组实现一个类似ruby的迭代器
2009/10/27 Javascript
javascript 主动派发事件总结
2011/08/09 Javascript
页面调用单个swf文件,嵌套出多个方法。
2011/11/21 Javascript
JS+DIV实现鼠标划过切换层效果的实例代码
2013/11/26 Javascript
javascript比较两个日期相差天数的方法
2015/07/23 Javascript
详解js私有作用域中创建特权方法
2016/01/25 Javascript
JavaScript中的闭包
2016/02/24 Javascript
jQuery UI制作选项卡(tabs)
2016/12/13 Javascript
微信小程序 生命周期和页面的生命周期详细介绍
2017/01/19 Javascript
JavaScript事件发布/订阅模式原理与用法分析
2018/08/21 Javascript
video.js 一个页面同时播放多个视频的实例代码
2018/11/27 Javascript
Node.js JSON模块用法实例分析
2019/01/04 Javascript
Webpack4 使用Babel处理ES6语法的方法示例
2019/03/07 Javascript
js实现点击图片在屏幕中间弹出放大效果
2019/09/11 Javascript
Vue如何基于es6导入外部js文件
2020/05/15 Javascript
Python 通配符删除文件的实例
2018/04/24 Python
Flask Web开发入门之文件上传(八)
2018/08/17 Python
PyTorch笔记之scatter()函数的使用
2020/02/12 Python
Python统计文本词汇出现次数的实例代码
2020/02/27 Python
python3注册全局热键的实现
2020/03/22 Python
python爬虫把url链接编码成gbk2312格式过程解析
2020/06/08 Python
Python字符串split及rsplit方法原理详解
2020/06/29 Python
村官工作鉴定评语
2014/01/27 职场文书
小学生学习雷锋倡议书
2014/05/15 职场文书
公司人事专员岗位职责
2014/08/11 职场文书
手机销售员岗位职责
2015/04/11 职场文书
工资证明范本
2015/06/12 职场文书
SQL Server 数据库实验课第五周——常用查询条件
2021/04/05 SQL Server
《勇者辞职不干了》上卷BD发售宣传CM公开
2022/04/08 日漫