第0002题:将0001题生成的200个激活码(或者优惠券)保存到MySQL关系型数据库中。
分析:这题需要使用mysql数据库.
1.首先要下载mysql
Window上安装Mysql相对来说会较为简单,你只需要载在MySQL 下载地址:http://www.mysql.com/downloads/中下载window版本的mysql安装包,并解压安装包。双击 setup.exe 文件,按照提示安装。最后验证是否安装正确:在cmd上输入mysqld.exe --console如果安装成功以上命令将输出一些mysql启动及InnoDB信息.
2.安装MySQL驱动
由于MySQL服务器以独立的进程运行,并通过网络对外服务,所以,需要支持Python的MySQL驱动来连接到MySQL服务器。目前,有两个MySQL驱动:
mysql-connector-python:是MySQL官方的纯Python驱动;
MySQL-python:是封装了MySQL C驱动的Python驱动。
3.在mysql中创建存储激活码的数据库和表
create database test;
create table t1( id int(4) not NULL primary key, code char(10));
4.编程
代码如下
import MySQLdb
import string,random
def generateCode(n):
r=[]
s=string.digits+string.letters
for i in range(200):
t=''
for j in range(n):
t+=random.choice(s)
r.append(t)
return r
Host='localhost'
User='root'
Password="123456"
Port=3306
DB='test'
conn = MySQLdb.connect(user='root', passwd='123456', db='test', use_unicode=True)
cur=conn.cursor()
r=generateCode(8)
for i in xrange(200):
sql='INSERT INTO t1 (id,code) VALUES (%d,\'%s\');' % (i+1,r[i])
cur.execute(sql)
conn.commit()
cur.close()
conn.close()
5.使用查询语句查看结果
select * from t1;