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 相关文章推荐
wxpython 最小化到托盘与欢迎图片的实现方法
Jun 09 Python
python使用nntp读取新闻组内容的方法
May 08 Python
python爬虫实战之爬取京东商城实例教程
Apr 24 Python
深入理解Python中的内置常量
May 20 Python
python reduce 函数使用详解
Dec 05 Python
Python Subprocess模块原理及实例
Aug 26 Python
python读取tif图片时保留其16bit的编码格式实例
Jan 13 Python
Pytorch .pth权重文件的使用解析
Feb 14 Python
django使用F方法更新一个对象多个对象字段的实现
Mar 28 Python
动态设置django的model field的默认值操作步骤
Mar 30 Python
使用Python实现批量ping操作方法
May 06 Python
Ubuntu权限不足无法创建文件夹解决方案
Nov 14 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中定时计划任务的实现原理
2013/01/08 PHP
PHP判断来访是搜索引擎蜘蛛还是普通用户的代码小结
2015/09/14 PHP
Yii2使用自带的UploadedFile实现的文件上传
2016/06/20 PHP
php使用自定义函数实现汉字分割替换功能示例
2017/01/30 PHP
JavaScript 三种创建对象的方法
2009/10/16 Javascript
javascript loadScript异步加载脚本示例讲解
2013/11/14 Javascript
在js文件中写el表达式取不到值的原因及解决方法
2013/12/23 Javascript
Javascript中数组方法汇总(推荐)
2015/04/01 Javascript
使用jquery实现仿百度自动补全特效
2015/07/23 Javascript
node.js中 stream使用教程
2016/08/28 Javascript
jQuery Easyui datagrid editor为combobox时指定数据源实例
2016/12/19 Javascript
详解Vue.js动态绑定class
2016/12/20 Javascript
DOM事件探秘篇
2017/02/15 Javascript
ES6新特性之数组、Math和扩展操作符用法示例
2017/04/01 Javascript
react-native 封装选择弹出框示例(试用ios&android)
2017/07/11 Javascript
javascript 作用于作用域链的详解
2017/09/27 Javascript
移动端图片上传旋转、压缩问题的方法
2018/10/16 Javascript
微信小程序云函数使用mysql数据库过程详解
2019/08/07 Javascript
layui table动态表头 改变表格头部 重新加载表格的方法
2019/09/21 Javascript
JavaScript代码异常监控实现过程详解
2020/02/17 Javascript
JS函数参数的传递与同名参数实例分析
2020/03/16 Javascript
Vue中watch、computed、updated三者的区别及用法
2020/07/27 Javascript
python将html转成PDF的实现代码(包含中文)
2013/03/04 Python
Python+OpenCV实现图像融合的原理及代码
2018/12/03 Python
Python企业编码生成系统总体系统设计概述
2019/07/26 Python
关于pytorch中网络loss传播和参数更新的理解
2019/08/20 Python
python生成器/yield协程/gevent写简单的图片下载器功能示例
2019/10/28 Python
Python3和pyqt5实现控件数据动态显示方式
2019/12/13 Python
OpenCV 表盘指针自动读数的示例代码
2020/04/10 Python
HTML5输入框下拉菜单功能的示例代码
2020/09/08 HTML / CSS
Dower & Hall官网:英国小众轻奢珠宝品牌
2019/01/31 全球购物
C语言编程题
2015/03/09 面试题
2014年控辍保学工作总结
2014/12/08 职场文书
供应商食品安全承诺书
2015/04/29 职场文书
使用pipenv管理python虚拟环境的全过程
2021/09/25 Python
TV动画《八十龟酱观察日记》第四季宣传PV公布
2022/04/06 日漫