使用Python连接MySQL数据库
2015-07-30 16:29
736 查看
使用Python连接MySQL数据库
运行环境:win7 x64 + Python 2.7.10 32bit+ MySQL5.6 32bit+MySQLdb模块一、环境准备:
1、 安装Python 2.7.10 32bit
从Python官网下载Python的安装包,并安装;相较于3.x版本,据说2.x版本更稳定一些,对于一些新手交适合。(因为自己也是菜鸟新手,如果说的不准确还望包涵并批评指正,O(∩_∩)O谢谢!)2、安装MySQL5.6 32bit
从MySQL官网下载最新的社区版(MySQL Community )并安装,网上有相关的安装教程,在此不再赘述。3、安装MySQLdb模块
Python连接mysql数据库,必须要安装MySQLdb模块,因为实在Windows环境下,因此我们直接从网上下载已编译过可运行的exe文件,不要自己现在源码再去编译,这很复杂且问题多多。下载地址sourceforge地址**解释一下:**Python是32bit的,需安装32bit的MySQLdb模块的exe文件,若是64bit的就安装62bit的exe文件。
二、数据库准备:
在数据库中建立新的数据库:mysql_shiyan,在此数据库中建立数据表:employee,并插入数据。CREATE DATABASE mysql_test; use mysql_test; CREATE TABLE employee ( id INT(10) PRIMARY KEY, name CHAR(20), age INT(10), salary INT(10) NOT NULL, phone INT(12) NOT NULL, in_dpt CHAR(20) NOT NULL, UNIQUE (phone), CONSTRAINT emp_fk FOREIGN KEY (in_dpt) REFERENCES department(dpt_name) );
INSERT INTO employee(id,name,age,salary,phone,in_dpt) VALUES(01,'Tom',26,2500,119119,'dpt4'); INSERT INTO employee(id,name,age,salary,phone,in_dpt) VALUES(02,'Jack',24,2500,120120,'dpt2'); INSERT INTO employee(id,name,age,salary,phone,in_dpt) VALUES(03,'Rose',22,2800,114114,'dpt3'); INSERT INTO employee(id,name,age,salary,phone,in_dpt) VALUES(04,'Jim',35,3000,100861,'dpt1'); INSERT INTO employee(id,name,age,salary,phone,in_dpt) VALUES(05,'Mary',21,3000,100101,'dpt2');
三、编写Python代码
#! /usr/bin/env python # -*- coding: utf-8 -*- import os,sys import MySQLdb # MySQLdb模块操作MySQL数据库很方便,使用前需先安装 # # host:本地还是在线 user:MySQL用户名 passwd:MySQL用户的密码 # db:需连接的MySQL数据库名 # try: conn = MySQLdb.connect(host='localhost',user='root',passwd='yourmysqlpassword',db='mysql_test') except Exception,e: print e print "连接数据库失败" sys.exit() try: # 获取cursor(游标) cursor = conn.cursor() # 增 try: sql = "INSERT INTO employee(id,name,age,salary,phone,in_dpt) VALUES(%s,%s,%s,%s,%s,%s)" value = ('6','Job','42','4000','123321','dpt4') cursor.execute(sql,value) conn.commit() except Exception,e: conn.rollback() print e print "INSERT新增数据出现错误" # 改 try: sql = "UPDATE employee SET name = %s,salary = %s WHERE id = %s" value = ('Jobs','3700','13') cursor.execute(sql,value) conn.commit() except Exception,e: conn.rollback() print e print "UPDATE出现错误" # 查 try: sql = "SELECT * FROM employee" print sql cursor.execute(sql) data = cursor.fetchall() for index in range(len(data)): print data[index] except Exception,e: print e print "SELECT查找数据出现错误" # 删 try: sql = "DELETE FROM employee WHERE id=13" cursor.execute(sql) conn.commit() except Exception,e: conn.rollback() print e print "DELETE出现错误" except Exception: print "处理时出现异常" finally: cursor.close() # 关闭游标 conn.close() # 关闭数据库
注意: by jixiangrurui 转载请注明出处
相关文章推荐
- Python3.4网页爬虫,提取图片
- python基础教程总结15——7 自定义电子公告板
- python中的单引号、双引号、三引号
- python题目练习
- 有关 Python 2 和 Sublime Text 中文 Unicode 编码问题的分析与理解
- 【python】 倒序输出字符串
- python 类和实例
- Python Web框架Tornado的异步处理代码示例
- python eval的常见错误封装及利用原理
- python 安全编码&代码审计
- python学习之第三方包安装方法(两种方法)
- python 求100以内素数
- Mac Python路径总结
- Mac Python路径总结
- Python格式化输出
- 读书笔记:关于wsgi、web框架和模板的总结(python)
- Python实现的Excel文件读写类
- Django1.9 Python3.4出现Error loading MySQLdb module:No module named ‘MySQLdb’问题
- python generator
- python内置函数(四)