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系列之数据处理编程实例(一)
May 22 Python
解决windows下Sublime Text 2 运行 PyQt 不显示的方法分享
Jun 18 Python
Python采用socket模拟TCP通讯的实现方法
Nov 19 Python
Nginx搭建HTTPS服务器和强制使用HTTPS访问的方法
Aug 16 Python
VSCode下好用的Python插件及配置
Apr 06 Python
基于Pandas读取csv文件Error的总结
Jun 15 Python
Python使用LDAP做用户认证的方法
Jun 20 Python
解决pyecharts在jupyter notebook中使用报错问题
Apr 23 Python
python 类的继承 实例方法.静态方法.类方法的代码解析
Aug 23 Python
使用 Python ssh 远程登陆服务器的最佳方案
Mar 06 Python
Python内置函数及功能简介汇总
Oct 13 Python
Python logging自定义字段输出及打印颜色
Nov 30 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语言中global和$GLOBALS[]的分析 之二
2012/02/02 PHP
如何使用Strace调试工具
2013/06/03 PHP
PHP伪静态Rewrite设置之APACHE篇
2014/07/30 PHP
php检索或者复制远程文件的方法
2015/03/13 PHP
php mysql procedure实现获取多个结果集的方法【基于thinkPHP】
2016/11/09 PHP
PHP读取文件,解决中文乱码UTF-8的方法分析
2020/01/22 PHP
IE6下js通过css隐藏select的一个bug
2010/08/16 Javascript
JS 模态对话框和非模态对话框操作技巧汇总
2013/04/15 Javascript
JavaScript自定义事件介绍
2013/08/29 Javascript
Node.js异步I/O学习笔记
2014/11/04 Javascript
jquery调取json数据实现省市级联的方法
2015/01/29 Javascript
jQuery中常用动画效果函数(日常整理)
2016/09/17 Javascript
实例解析jQuery中如何取消后续执行内容
2016/12/01 Javascript
javascript完美实现给定日期返回上月日期的方法
2017/06/15 Javascript
微信小程序实现文字无限轮播效果
2018/12/28 Javascript
简单了解JS打开url的方法
2020/02/21 Javascript
Python中实现参数类型检查的简单方法
2015/04/21 Python
Django URL传递参数的方法总结
2016/08/28 Python
Python调用ctypes使用C函数printf的方法
2017/08/23 Python
Python实现文件内容批量追加的方法示例
2017/08/29 Python
python 判断参数为Nonetype类型或空的实例
2018/10/30 Python
python去重,一个由dict组成的list的去重示例
2019/01/21 Python
基于python-opencv3的图像显示和保存操作
2019/06/27 Python
Python安装selenium包详细过程
2019/07/23 Python
python序列类型种类详解
2020/02/26 Python
基于Python爬取fofa网页端数据过程解析
2020/07/13 Python
python os.rename实例用法详解
2020/12/06 Python
英国骑行、跑步、游泳、铁人三项运动装备专卖店:Wiggle
2016/08/23 全球购物
澳大利亚二手奢侈品网站:Modsie
2019/09/23 全球购物
教师自荐书
2013/10/08 职场文书
战友聚会主持词
2014/04/02 职场文书
新手上路标语
2014/06/20 职场文书
购房公证委托书(2014版)
2014/09/12 职场文书
高中生学习计划书
2014/09/15 职场文书
2015年预算员工作总结
2015/05/14 职场文书
2015年度对口支援工作总结
2015/07/22 职场文书