python访问数据库一

直接访问mysql,示例如下:

# coding:utf-8
import time
import MySQLdb
# import traceback
# import sys

conn = MySQLdb.connect(host='127.0.0.1', port=3306, user='root', passwd='root', db='dev', charset="utf8", )
cur = conn.cursor()
# cur.execute("SET NAMES utf8")

try:
    sql = "create table mytest1("
    sql = sql + "id int(11) not null auto_increment,"
    sql = sql + "channelcode varchar(100) null,"
    sql = sql + "systemcode varchar(100) not null,"
    sql = sql + "systemname varchar(100) not null,"
    sql = sql + "primary key(id))"
    print sql;
    cur.execute(sql);
except Exception, e:
    print Exception, ":", e

try:
    cur.execute("insert into mytest1(systemcode,systemname) values('test','测试')")
    conn.commit()
    print 'insert new mytest1.'
except Exception, e:
    print Exception, ":", e
    # traceback.print_exc()
# except:
#     info=sys.exc_info()
#     print info[0],":",info[1]

try:
    cur.execute("update mytest1 set systemname='测试" + time.strftime('%Y-%m-%d %H:%M:%S') + "' where systemcode='test'");
    conn.commit()
except Exception, e:
    print Exception, ":", e

try:
    itsystem = cur.execute("select * from mytest1");
    print 'count:' + str(itsystem);
    info = cur.fetchmany(itsystem)
    for ii in info:
        # if print ii,chinese string will print it's unicode with u\####
        print  str(ii[0]) + ',' + (ii[1] == None and str(None) or ii[1]) + ',' + ii[2] + ',' + ii[3]
except Exception, e:
    print Exception, ":", e

try:
    cur.execute("delete from itsystem where systemcode='test'");
    conn.commit()

    cur.execute("drop table mytest1");
except Exception, e:
    print Exception, ":", e
cur.close()
conn.close()

 

posted @ 2016-11-30 09:14  Brian Tan  阅读(285)  评论(0编辑  收藏  举报