用Python操作数据库
来源:互联网 发布:国际阿里云购买方法 编辑:程序博客网 时间:2024/05/22 10:40
前言
最近做项目需要通过Python从数据库获取数据,然后将数据进行处理。就此对MySQL数据的相关知识进行简单的整理,主要是Python对MySQL数据库的操作。
MySQL数据库的安装
Windows用户
下载MySQL-python-1.2.3.win-amd64-py2.7文件直接安装就可以。
我的环境:
由于当时自己做过一些PHP网页项目,有个集成php,mysql,Apache等软件的工具叫xampp的软件。我安装的是xampp。Xampp的官网为https://www.apachefriends.org/zh_cn/index.html上边的情况,自己也尝试安装过,没有问题。
Linux环境:
主要针对Ubuntu,学校期间用的主要是Ubuntu。
sudo apt-get install mysql-server
sudo apt-get install mysql-client
MySQL数据基本操作
Windows下常用的数据库管理工具:Navicat。官网:https://www.navicat.com.cn/ 破解软件:http://download.csdn.net/detail/yiluohan0307/9812298
创建数据库
命令:CREATE DATABASE python_test;
删除数据库
命令:DROP DATABASE python_test;
创建数据表
保存后提示输入表名
也可以通过命令行操作:
CREATE TABLE user (
user_id int(11) NOT NULL AUTO_INCREMENT COMMENT '用户id',
name varchar(255) DEFAULT NULL COMMENT '用户名字',
scores double DEFAULT NULL COMMENT '用户成绩',
PRIMARY KEY (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
删除表格
命令:DROP TABLE user2;
插入数据
在Navicat下可以直接插入
命令行方式:INSERT into user (user_id, name, scores) VALUES (5, 'de', 68);
查询数据
命令:SELECT * FROM user;
更改数据
命令:UPDATE user SET name= 'cyf' WHERE user_id=5;
删除数据
命令:DELETE FROM user WHERE user_id=3;
具体详细的用法介绍,可以参考菜鸟教程:http://www.runoob.com/mysql/mysql-tutorial.html
安装Python
去官网下载Python软件
选择安装位置,剩下的直接点下一步即可
环境变量配置:
我的电脑》属性》高级系统设置》环境变量》系统变量中的path加入D:\python27\
win+r》cmd
出现如下界面,说明Python环境安装完成
安装MySQL-Python
Windows下的安装过程MySQL-python-1.2.3.win-amd64-py2.7.exe。注意此版本对应的Python版本为2.7。先安装python然后直接安装即可。
Python下的MySQL操作
Python下对数据库的操作流程如下:
操作主要是在execute执行的sql不同
#coding=utf-8'''Created on 2017年4月12日@author: cyf@description: python mysql 数据库的操作'''import MySQLdb as mdbfrom numpy import *def select(): #与数据库建立连接 conn=mdb.connect(host='localhost',user='root',passwd='123456',port=3306,db='python_test',charset='utf8') #创建游标 cur = conn.cursor() #sql语句 sql = 'select * from user' #执行 numOfLines = cur.execute(sql) #获取所有数据 rows = cur.fetchall() for row in rows:print row conn.commit() cur.close() conn.close()def insert(): #与数据库建立连接 conn=mdb.connect(host='localhost',user='root',passwd='123456',port=3306,db='python_test',charset='utf8') #创建游标 cur = conn.cursor() #sql语句 sql = 'insert into user values(%s,%s,%s)' #插入一条数据 #numOfLines = cur.execute(sql,('6', 'hhh', '88')) #插入多条数据 cur.executemany(sql,[('7', 'g', '88'), ('8', 'cd', '44'), ('9', 'dir', '56'), ('10', 'sd', '78') ]) conn.commit() cur.close() conn.close() print '插入成功'if __name__ == '__main__': select()insert()
下面是一些常用的方法:
executemany()方法可以一次插入多条值。
callproc(self, procname, args):用来执行存储过程,接收的参数为存储过程名和参数列表,返回值为受影响的行数
execute(self, query, args):执行单条sql语句,接收的参数为sql语句本身和使用的参数列表,返回值为受影响的行数
executemany(self, query, args):执行单挑sql语句,但是重复执行参数列表里的参数,返回值为受影响的行数
nextset(self):移动到下一个结果集
fetchmany(self, size=None)方法可以获得多条数据,但需要指定数据的条数。
fetchone()方法可以帮助我们获得表中的数据,可是每次执行cur.fetchone() 获得的数据都不一样,换句话说我没执行一次,游标会从表中的第一条数据移动到下一条数据的位置,所以,我再次执行的时候得到的是第二条数据。
scroll(0,'absolute') 方法可以将游标定位到表中的第一条数据。
参考资料:
http://www.cnblogs.com/rollenholt/archive/2012/05/29/2524327.html
http://www.cnblogs.com/fnng/p/3565912.html
在此感谢前辈的整理。
- 用Python操作数据库
- 用python操作redis数据库
- Python SQLITE数据库操作简便易用
- Python SQLITE数据库操作简便易用
- Python SQLITE数据库操作简便易用
- 用Python进行SQLite数据库操作
- python 用mysqldb方式操作数据库
- 用Python进行SQLite数据库操作
- 用Python进行SQLite数据库操作
- 用Python进行SQLite数据库操作
- Python操作Mysql数据库
- python的数据库操作
- python操作数据库
- python SQlite数据库操作
- python操作MySQL数据库
- python操作MySQL数据库
- python操作数据库
- Python 数据库操作
- 【java基础】jdbc的简单分页查询
- C++笔记(一)
- JavaScript学习-navigator对象
- 一个简单的servlet 程序
- HDU 573 tetrahedron 三维计算几何(叉积, 四面体内切球)
- 用Python操作数据库
- java语言基础(35)——面向对象(final关键字)
- Jmeter基础-入门
- 开门式或切西瓜式页面跳转,从中间向左右两边推开
- 浅谈斐波那契数列
- Maven下载及安装配置
- kylin——安装(hcatalog lib not found)
- 第十一单元练习题
- 廖雪峰Python的研读笔记(一) Python基础、函数、高级特性