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之关于类的初步认识
Oct 11 Python
Python使用pip安装报错:is not a supported wheel on this platform的解决方法
Jan 23 Python
Python中单例模式总结
Feb 20 Python
基于python的多进程共享变量正确打开方式
Apr 28 Python
Python模拟自动存取款机的查询、存取款、修改密码等操作
Sep 02 Python
使用Python的SymPy库解决数学运算问题的方法
Mar 27 Python
Python循环实现n的全排列功能
Sep 16 Python
python-web根据元素属性进行定位的方法
Dec 13 Python
Python和Anaconda和Pycharm安装教程图文详解
Feb 04 Python
Python如何使用turtle库绘制图形
Feb 26 Python
解析Tensorflow之MNIST的使用
Jun 30 Python
python 爬取腾讯视频评论的实现步骤
Feb 18 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来检测proxy
2006/10/09 PHP
一个基于PDO的数据库操作类(新) 一个PDO事务实例
2011/07/03 PHP
PhpStorm2020 + phpstudyV8 +XDebug的教程详解
2020/09/17 PHP
用javascript实现无刷新更新数据的详细步骤 asp
2006/12/26 Javascript
用Jquery重写windows.alert方法实现思路
2013/04/03 Javascript
JavaScript中的toUTCString()方法使用详解
2015/06/12 Javascript
学习javascript面向对象 理解javascript对象
2016/01/04 Javascript
JavaScript编写Chrome扩展实现与浏览器的交互及时间通知
2016/05/16 Javascript
AngularJS 最常用的八种功能(基础知识)
2017/06/26 Javascript
微信小程序 页面滑动事件的实例详解
2017/10/12 Javascript
ajax请求data遇到的问题分析
2018/01/18 Javascript
解决LayUI数据表格复选框不居中显示的问题
2019/09/25 Javascript
基于JavaScript实现十五拼图代码实例
2020/04/26 Javascript
jQuery cookie的公共方法封装和使用示例
2020/06/01 jQuery
[02:40]DOTA2英雄基础教程 炼金术士
2013/12/23 DOTA
通过python下载FTP上的文件夹的实现代码
2013/02/10 Python
Tornado Web服务器多进程启动的2个方法
2014/08/04 Python
python框架django基础指南
2016/09/08 Python
Python之py2exe打包工具详解
2017/06/14 Python
完美解决Pycharm无法导入包的问题 Unresolved reference
2018/05/18 Python
django+xadmin+djcelery实现后台管理定时任务
2018/08/14 Python
python实现一组典型数据格式转换
2018/12/15 Python
Python list与NumPy array 区分详解
2019/11/06 Python
使用 Python 写一个简易的抽奖程序
2019/12/08 Python
Python 窗体(tkinter)下拉列表框(Combobox)实例
2020/03/04 Python
解决reload(sys)后print失效的问题
2020/04/25 Python
AmazeUI在模态框中嵌入表单形成模态输入框
2020/08/20 HTML / CSS
香港草莓网:Strawberrynet香港
2019/05/10 全球购物
介绍一下JNDI的基本概念
2013/07/26 面试题
食品销售计划书
2014/04/26 职场文书
文化建设工作方案
2014/05/12 职场文书
2014年司法所工作总结
2014/11/22 职场文书
付款承诺函范文
2015/01/21 职场文书
初中英语教师个人工作总结
2015/02/09 职场文书
高校自主招生自荐信2015
2015/03/04 职场文书
创业项目大全(适合在家创业的项目)
2019/08/15 职场文书