第 0002 题:将 0001 题生成的 200 个激活码(或者优惠券)保存到 MySQL 关系型数据库中。
这道题主要是Python操作MySQL数据库,其实只涉及到了插入操作,但是为了熟悉其他操作,在代码中增加了查询。
遇到的主要问题有两个:
1.如何加入自定义模块 Python如何导入自定义模块
2.数据库的表和列命名的时候不能使用MySQL关键字,比如key,这个我刚开始没发现,结果一直是语法错误
下面是代码:
#coding=utf-8
import MySQLdb
from genkey import genKey
HOST = 'localhost'
USER = 'root'
PASSWORD = '1234'
PORT = 3306
DB = 'mysql'
#连接数据库
conn = MySQLdb.connect(host =HOST,user=USER,passwd=PASSWORD,db=DB,port=PORT)
cur = conn.cursor()
#生成200组激活码
list=[]
for i in range(200):
list.append(genKey.randchoice_gen())
#将生成的激活码插入到表中
for i in xrange(200):
sql = 'INSERT INTO randkey (rkey) VALUES (\'%s\')' % list[i]
cur.execute(sql)
conn.commit()
#查询操作
sql="select * from randkey limit 10"
cur.execute(sql)
#查看excute执行后影响的行数
print cur.rowcount
result=cur.fetchall()
for row in result:
print row[0]
cur.close()
conn.close()