• 热门专题

python学习之数据库操作(mysql_ubuntu版)

作者:友间博客--->web时代  发布日期:2011-08-25 18:10:45
Tag标签:python  学习  数据库  
  • mysql是一个优秀的开源数据库,它现在的应用非常的广泛,因此很有必要简单的介绍一下用python操作mysql数据库的方法。python操作数据库需要安装一个第三方的模块,在http://mysql-python.sourceforge.net/有下载和文档。

    下面给出ubuntu安装说明:


    在终端中输入:sudo apt-get install python-mysqldb
    OK,搞定,简单吧?来测试下
    安装完成之后可以在Python解释器中测试一下
    IDE输入 import MySQLdb #注意大小写
    或终端输入python MySQLdb
    如果不报错,就证明安装成功了。

     


        由于python的数据库模块有专门的数据库模块的规范,所以,其实不管使用哪种数据库的方法都大同小异的,这里就给出一段示范的代码:


    #-*- encoding: gb2312 -*-
    import os, sys, string
    import MySQLdb

    # 连接数据库 
    try:
        conn = MySQLdb.connect(host='localhost',user='root',passwd='xxxx',db='test1')
    except Exception, e:
        print e
        sys.exit()

    # 获取cursor对象来进行操作

    cursor = conn.cursor()
    # 创建表
    sql = "create table if not exists test1(name varchar(128) primary key, age int(4))"
    cursor.execute(sql)
    # 插入数据
    sql = "insert into test1(name, age) values ('%s', %d)" % ("zhaowei", 23)
    try:
        cursor.execute("set NAMES utf8")   #乱码问题
        cursor.execute(sql)
    except Exception, e:
        print e

    sql = "insert into test1(name, age) values ('%s', %d)" % ("张三", 21)
    try:
        cursor.execute("set NAMES utf8")
        cursor.execute(sql)
    except Exception, e:
        print e
    # 插入多条

    sql = "insert into test1(name, age) values (%s, %s)"
    val = (("李四", 24), ("王五", 25), ("洪六", 26))
    try:
        cursor.execute("set NAMES utf8")
        cursor.executemany(sql, val)
    except Exception, e:
        print e

    #查询出数据
    sql = "select * from test1"
    cursor.execute("set NAMES utf8")
    cursor.execute(sql)
    alldata = cursor.fetchall()
    # 如果有数据返回,就循环输出, alldata是有个二维的列表
    if alldata:
        for rec in alldata:
            print rec[0], rec[1]


    cursor.close()

    conn.close()

About IT165 - 广告服务 - 隐私声明 - 版权申明 - 免责条款 - 网站地图 - 网友投稿 - 联系方式
本站内容来自于互联网,仅供用于网络技术学习,学习中请遵循相关法律法规