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脚本实现DNSPod DNS动态解析域名
Feb 14 Python
Python中暂存上传图片的方法
Feb 18 Python
python中的随机函数random的用法示例
Jan 27 Python
Python实现抓取HTML网页并以PDF文件形式保存的方法
May 08 Python
利用pyinstaller打包exe文件的基本教程
May 02 Python
python xlwt如何设置单元格的自定义背景颜色
Sep 03 Python
pandas处理csv文件的方法步骤
Oct 16 Python
pycharm永久激活超详细教程
Oct 29 Python
Python字符串格式化方式
Apr 07 Python
Python&Matlab实现樱花的绘制
Apr 07 Python
python​格式化字符串
Apr 20 Python
python自动获取微信公众号最新文章的实现代码
Jul 15 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
ECMall支持SSL连接邮件服务器的配置方法详解
2014/05/19 PHP
PHP链表操作简单示例
2016/10/15 PHP
php实现替换手机号中间数字为*号及隐藏IP最后几位的方法
2016/11/16 PHP
JS中==与===操作符的比较
2009/03/21 Javascript
javascript innerHTML使用分析
2010/12/03 Javascript
javascript 弹出层组件(升级版)
2011/05/12 Javascript
深入理解JavaScript系列(12) 变量对象(Variable Object)
2012/01/16 Javascript
原生js的弹出层且其内的窗口居中
2014/05/14 Javascript
JS中如何判断传过来的JSON数据中是否存在某字段
2014/08/18 Javascript
jquery插件推荐 jquery.cookie
2014/11/09 Javascript
js获取字符串最后一位方法汇总
2014/11/13 Javascript
JavaScript编写连连看小游戏
2015/07/07 Javascript
Vue实现一个返回顶部backToTop组件
2017/07/25 Javascript
jq源码解析之绑在$,jQuery上面的方法(实例讲解)
2017/10/13 jQuery
webpack+vue+express(hot)热启动调试简单配置方法
2018/09/19 Javascript
详解如何在Vue项目中发送jsonp请求
2019/10/25 Javascript
Node.js API详解之 zlib模块用法分析
2020/05/19 Javascript
vue递归获取父元素的元素实例
2020/08/07 Javascript
如何在JavaScript中等分数组的实现
2020/12/13 Javascript
原生js实现九宫格拖拽换位
2021/01/26 Javascript
python实现获取序列中最小的几个元素
2014/09/25 Python
初步认识Python中的列表与位运算符
2015/10/12 Python
python制作爬虫爬取京东商品评论教程
2016/12/16 Python
python3中bytes和string之间的互相转换
2017/02/09 Python
深入了解Python中pop和remove的使用方法
2018/01/09 Python
pandas dataframe添加表格框线输出的方法
2019/02/08 Python
python词云库wordCloud使用方法详解(解决中文乱码)
2020/02/17 Python
使用Python将图片转正方形的两种方法实例代码详解
2020/04/29 Python
使用HTML5和CSS3表单验证功能
2017/05/05 HTML / CSS
Luxplus丹麦:香水和个人护理折扣
2018/04/23 全球购物
STAY JAPAN台湾:预订日本民宿
2018/07/22 全球购物
儿媳婚宴答谢词
2014/01/14 职场文书
班组建设经验交流材料
2014/05/12 职场文书
办公室主任岗位职责范本
2015/03/31 职场文书
七年级作文(600字3篇)
2019/09/24 职场文书
Redis做数据持久化的解决方案及底层原理
2021/07/15 Redis