Python练习册3

第 0002 题:将 0001 题生成的 200 个激活码(或者优惠券)保存到 MySQL 关系型数据库中。

解题:主要考察python连接mysql数据库

# -*- coding: gbk -*-

import MySQLdb
import sys

def store_mysql(filepath):
    #连接数据库
    try:
        conn = MySQLdb.connect(host = '127.0.0.1', user = 'root',
                               passwd = '123456', db = 'showmethecode', port = 3306)
    except Exception, e:
        print e
        sys.exit()

    print '连接成功'

    #获取cursor对象来进行操作
    cursor = conn.cursor()

    # 判断表是否已经存在
    cursor.execute('show tables in ShowMeTheCode;')
    tables = cursor.fetchall()   #获得所有结果数据行
    findtables = False
    for table in tables:
        if 'code' in table:      #判断表‘code’是否已经存在
            findtables = True
    if not findtables:
        cursor.execute('''
                CREATE TABLE `ShowMeTheCode`.`code` (
                `id` INT NOT NULL AUTO_INCREMENT,
                `code` VARCHAR(10) NOT NULL,
                PRIMARY KEY (`id`));
        ''')

    f = open(filepath, 'rb')
    for line in f.readlines():
        code = line.strip()
        cursor.execute("insert into ShowMeTheCode.code (code) values(%s);", [code])

    conn.commit()
    cursor.close()
    conn.close()

if __name__ == '__main__':
    store_mysql('F://Activation_code.txt')




你可能感兴趣的:(mysql,python)