使用Python连接MySQL数据库

使用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 转载请注明出处

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值