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实现在每个独立进程中运行一个函数的方法
Apr 23 Python
Django框架中的对象列表视图使用示例
Jul 21 Python
基于Python实现一个简单的银行转账操作
Mar 06 Python
pycharm 配置远程解释器的方法
Oct 28 Python
Python datetime和unix时间戳之间相互转换的讲解
Apr 01 Python
Python对象转换为json的方法步骤
Apr 25 Python
python SVM 线性分类模型的实现
Jul 19 Python
django框架用户权限中的session缓存到redis中的方法
Aug 06 Python
Python socket实现的文件下载器功能示例
Nov 15 Python
python有序查找算法 二分法实例解析
Feb 18 Python
Python对称的二叉树多种思路实现方法
Feb 28 Python
python多线程实现同时执行两个while循环的操作
May 02 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程序的php代码
2008/04/07 PHP
在Linux系统下一键重新安装WordPress的脚本示例
2015/06/30 PHP
php关键字仅替换一次的实现函数
2015/10/29 PHP
Centos 6.5系统下编译安装PHP 7.0.13的方法
2016/12/19 PHP
Js控制弹窗实现在任意分辨率下居中显示
2013/08/01 Javascript
深入领悟JavaScript中的面向对象
2013/11/18 Javascript
js 剪切板应用clipboardData详细解析
2013/12/17 Javascript
JavaScript异步编程Promise模式的6个特性
2014/04/03 Javascript
详解JavaScript 中的 replace 方法
2016/01/01 Javascript
详解基于Bootstrap+angular的一个豆瓣电影app
2017/06/26 Javascript
Vue.js中组件中的slot实例详解
2017/07/17 Javascript
vue 根据数组中某一项的值进行排序的方法
2018/08/30 Javascript
JavaScript类的继承操作实例总结
2018/12/20 Javascript
js获取form表单中name属性的值
2019/02/27 Javascript
vue 框架下自定义滚动条(easyscroll)实现方法
2019/08/29 Javascript
[51:28]EG vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/16 DOTA
[22:59]VGJ.S vs VG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
Python实现基于权重的随机数2种方法
2015/04/28 Python
python魔法方法-属性转换和类的表示详解
2016/07/22 Python
Python使用pip安装报错:is not a supported wheel on this platform的解决方法
2018/01/23 Python
利用Python正则表达式过滤敏感词的方法
2019/01/21 Python
用python给csv里的数据排序的具体代码
2020/07/17 Python
python 如何用urllib与服务端交互(发送和接收数据)
2021/03/04 Python
澳大利亚顶级美发和美容贸易超市:glamaCo
2020/01/19 全球购物
大学毕业感言
2014/01/10 职场文书
采购主管岗位职责
2014/02/01 职场文书
寄语十八大感言
2014/02/07 职场文书
2015年元旦文艺汇演主持词
2014/03/26 职场文书
超市商业计划书
2014/05/04 职场文书
本科毕业生自荐信
2014/05/26 职场文书
市场部经理岗位职责
2015/02/02 职场文书
廉政承诺书2015
2015/04/28 职场文书
python解决12306登录验证码的实现
2021/04/18 Python
PL350与SW11的比较
2021/04/22 无线电
将图片保存到mysql数据库并展示在前端页面的实现代码
2021/05/02 MySQL
通过Python把学姐照片做成拼图游戏
2022/02/15 Python