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 web程序
Sep 11 Python
Python中pip安装非PyPI官网第三方库的方法
Jun 02 Python
python实现识别相似图片小结
Feb 22 Python
使用Python的Flask框架来搭建第一个Web应用程序
Jun 04 Python
linux环境下python中MySQLdb模块的安装方法
Jun 16 Python
Python使用asyncio包处理并发详解
Sep 09 Python
python面向对象多线程爬虫爬取搜狐页面的实例代码
May 31 Python
numpy中loadtxt 的用法详解
Aug 03 Python
Python Web框架之Django框架cookie和session用法分析
Aug 16 Python
Python 如何创建一个线程池
Jul 28 Python
Flask缓存静态文件的具体方法
Aug 02 Python
解决python3安装pandas出错的问题
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实现与ASP Banner组件相似的类
2006/10/09 PHP
新浪SAE搭建PHP项目教程
2015/01/28 PHP
php防止用户重复提交表单
2015/11/02 PHP
PhpStorm 如何优雅的调试Hyperf的方法步骤
2019/11/24 PHP
用Javascript实现UTF8编码转换成gb2312编码
2006/12/22 Javascript
js 弹出菜单/窗口效果
2011/10/30 Javascript
4种JavaScript实现简单tab选项卡切换的方法
2016/01/06 Javascript
在js代码拼接dom对象到页面上去的模板总结(必看)
2017/02/14 Javascript
原生JS中slice()方法和splice()区别
2017/03/06 Javascript
JavaScript数据结构之二叉查找树的定义与表示方法
2017/04/12 Javascript
javaScript 逻辑运算符使用技巧整理
2017/05/03 Javascript
二维码图片生成器QRCode.js简单介绍
2017/08/18 Javascript
Vue.js划分组件的方法
2017/10/29 Javascript
vue组件实现可搜索下拉框扩展
2020/10/23 Javascript
element-ui 表格数据时间格式化的方法
2018/08/24 Javascript
值得收藏的八个常用的js正则表达式
2018/10/19 Javascript
使用vue完成微信公众号网页小记(推荐)
2019/04/28 Javascript
你了解vue3.0响应式数据怎么实现吗
2019/06/07 Javascript
vue 使用lodash实现对象数组深拷贝操作
2020/09/10 Javascript
python实现zencart产品数据导入到magento(python导入数据)
2014/04/03 Python
python网络编程之TCP通信实例和socketserver框架使用例子
2014/04/25 Python
Django重装mysql后启动报错:No module named ‘MySQLdb’的解决方法
2018/04/22 Python
python实现超简单的视频对象提取功能
2018/06/04 Python
Python2和Python3的共存和切换使用
2019/04/12 Python
pytorch 固定部分参数训练的方法
2019/08/17 Python
浅谈tensorflow 中的图片读取和裁剪方式
2020/06/30 Python
Python求区间正整数内所有素数之和的方法实例
2020/10/13 Python
Smallable意大利家庭概念店:设计师童装及家居装饰
2018/01/08 全球购物
加拿大服装和鞋类零售商:Mark’s
2021/01/04 全球购物
承诺书怎么写
2014/03/26 职场文书
明信片寄语大全
2014/04/08 职场文书
考试作弊检讨书1000字(5篇)
2014/10/19 职场文书
2014年仓库工作总结
2014/11/20 职场文书
库房管理员岗位职责
2015/02/12 职场文书
如何用threejs实现实时多边形折射
2021/05/07 Javascript
关于pytest结合csv模块实现csv格式的数据驱动问题
2022/05/30 Python