您的位置:首页 > 编程语言 > Python开发

使用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 转载请注明出处
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: