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中input和raw_input的一点区别
Oct 21 Python
Python之父谈Python的未来形式
Jul 01 Python
Python 比较两个数组的元素的异同方法
Aug 17 Python
Python cookbook(数据结构与算法)通过公共键对字典列表排序算法示例
Mar 15 Python
python pyheatmap包绘制热力图
Nov 09 Python
python使用response.read()接收json数据的实例
Dec 19 Python
Python基础之函数的定义与使用示例
Mar 23 Python
python 实现多维数组(array)排序
Feb 28 Python
Django之choices选项和富文本编辑器的使用详解
Apr 01 Python
浅析python函数式编程
Sep 26 Python
Python 按比例获取样本数据或执行任务的实现代码
Dec 03 Python
Python包管理工具pip的15 个使用小技巧
May 17 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实现读取和编写XML DOM代码
2010/04/07 PHP
在项目中寻找代码的坏命名
2012/07/14 PHP
基于PHP编程注意事项的小结
2013/04/27 PHP
php curl选项列表(超详细)
2013/07/01 PHP
php中自定义函数dump查看数组信息类似var_dump
2014/01/27 PHP
PHP中SESSION的注销与清除
2015/04/16 PHP
php写一个函数,实现扫描并打印出自定目录下(含子目录)所有jpg文件名
2017/05/26 PHP
PHP7内核之Reference详解
2019/03/14 PHP
ArrayList类(增强版)
2007/04/04 Javascript
用js调用迅雷下载代码的二种方法
2013/04/15 Javascript
jquery之超简单的div显示和隐藏特效demo(分享)
2013/07/09 Javascript
JS执行删除前的判断代码
2014/02/18 Javascript
如何使用jquery修改css中带有!important的样式属性
2016/04/28 Javascript
基于Bootstrap框架实现图片切换
2017/03/10 Javascript
Angular中实现树形结构视图实例代码
2017/05/05 Javascript
JavaScript html5 canvas实现图片上画超链接
2017/10/20 Javascript
angular实现input输入监听的示例
2018/08/31 Javascript
Vue axios设置访问基础路径方法
2018/09/19 Javascript
JS合并两个数组的3种方法详解
2019/10/24 Javascript
vue实现带过渡效果的下拉菜单功能
2020/02/19 Javascript
[47:18]完美世界DOTA2联赛循环赛 IO vs FTD BO2第一场 11.05
2020/11/06 DOTA
python中的一些类型转换函数小结
2013/02/10 Python
给Python学习者的文件读写指南(含基础与进阶)
2020/01/29 Python
Django 解决distinct无法去除重复数据的问题
2020/05/20 Python
html5组织内容_动力节点Java学院整理
2017/07/10 HTML / CSS
解决html5中的video标签ios系统中无法播放使用的问题
2020/08/10 HTML / CSS
size?瑞典:英国伦敦的球鞋精品店
2018/03/01 全球购物
个人担保书格式范文
2014/05/12 职场文书
新教师培训心得体会
2014/09/02 职场文书
接待员岗位职责
2015/02/13 职场文书
销售经理工作检讨书
2015/02/19 职场文书
求职自我推荐信
2015/03/24 职场文书
六一儿童节主持开场白
2015/05/28 职场文书
Windows下使用Nginx+Tomcat做负载均衡的完整步骤
2021/03/31 Servers
如何用python反转图片,视频
2021/04/24 Python
Python面向对象编程之类的概念
2021/11/01 Python