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三元运算符实现方法
Dec 17 Python
python实现的简单窗口倒计时界面实例
May 05 Python
TensorFlow实现非线性支持向量机的实现方法
Apr 28 Python
Python3导入CSV文件的实例(跟Python2有些许的不同)
Jun 22 Python
django DRF图片路径问题的解决方法
Sep 10 Python
python将txt文件读入为np.array的方法
Oct 30 Python
Python转换时间的图文方法
Jul 01 Python
Django自关联实现多级联动查询实例
May 19 Python
python使用自定义钉钉机器人的示例代码
Jun 24 Python
详解Python 函数参数的拆解
Sep 02 Python
python 爬取英雄联盟皮肤并下载的示例
Dec 04 Python
完美处理python与anaconda环境变量的冲突问题
Apr 07 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中限制IP段访问、禁止IP提交表单的代码
2011/04/23 PHP
php记录日志的实现代码
2011/08/08 PHP
php设计模式之单例模式实例分析
2015/02/25 PHP
Laravel 5框架学习之表单
2015/04/08 PHP
PHP7实现和CryptoJS的AES加密方式互通示例【AES-128-ECB加密】
2019/06/08 PHP
tp5框架前台无限极导航菜单类实现方法分析
2020/03/29 PHP
javascript下操作css的float属性的特殊写法
2007/08/22 Javascript
基于jQuery实现的Ajax 验证用户名是否存在的实现代码
2011/04/06 Javascript
JQuery EasyUI 日期控件如何控制日期选择区间
2014/05/05 Javascript
javascript 中that的含义示例介绍
2014/05/14 Javascript
Javascript学习笔记之函数篇(四):arguments 对象
2014/11/23 Javascript
nodejs的压缩文件模块archiver用法示例
2017/01/18 NodeJs
jQuery查找dom的几种方法效率详解
2017/05/17 jQuery
Express+Nodejs 下的登录拦截实现代码
2017/07/01 NodeJs
Angular4开发解决跨域问题详解
2017/08/28 Javascript
Vue中使用的EventBus有生命周期
2018/07/12 Javascript
Vue中多个元素、组件的过渡及列表过渡的方法示例
2019/02/13 Javascript
JS实现获取当前所在周的周六、周日示例分析
2019/05/11 Javascript
jQuery实现简单聊天室
2020/02/08 jQuery
深度定制Python的Flask框架开发环境的一些技巧总结
2016/07/12 Python
Django 浅谈根据配置生成SQL语句的问题
2018/05/29 Python
PyQt5固定窗口大小的方法
2019/06/18 Python
python GUI库图形界面开发之PyQt5窗口背景与不规则窗口实例
2020/02/25 Python
Python类的继承super相关原理解析
2020/10/22 Python
意大利网上药房:Farmacia 33
2020/01/27 全球购物
Herschel Supply Co.美国:背包、手提袋及配件
2020/11/24 全球购物
Linux机考试题
2015/10/16 面试题
自学考试自我鉴定范文
2013/09/26 职场文书
职业道德模范事迹材料
2014/08/24 职场文书
质检员岗位职责
2015/02/03 职场文书
2015年社区平安建设工作总结
2015/05/13 职场文书
2015中学政教处工作总结
2015/07/22 职场文书
宿舍管理制度范本
2015/08/07 职场文书
mysql中如何用命令创建联合唯一索引
2022/04/20 MySQL
Java 定时任务技术趋势简介
2022/05/04 Java/Android
Win11无法安装更新补丁KB3045316怎么办 附KB3045316补丁修复教程
2022/08/14 数码科技