第三題:將 0001 題生成的 200 個啟用碼(或者優惠券)儲存到mysql關係型資料庫中
一、分析問題
由於是要把資料儲存到mysql中,這裡就需要用到python的怕pymysql模組,並且先生成再存入,
注意:1.這裡操作mysql的時候,先寫入一條,獲得id,然後再更新該條記錄。
2.建立的驗證碼的格式為---'16進製制的sql_id' + 'l' + 隨機碼
3.電腦端mysql server的安裝
二、**示例
#coding:utf-8三、執行結果import pymysql
import random
import datetime
import string
def opt_mysql(num): #連線資料庫
conn = pymysql.connect(host='localhost',port =3306,user='root',passwd='123456',db ='user')
cur = conn.cursor() #通過獲取到的資料庫連線conn下的cursor()方法來建立游標
drop_table ='''drop table if exists python''' #如資料庫中存在此python**則刪除該**
cur.execute(drop_table)
create_table =''' #建立資料表
create table python(
id int primary key not null auto_increment,
codes varchar(64) not null,
create_time varchar(64) not null);
cur.execute(create_table)
for iin range(num):
create_time = datetime.datetime.now() #獲取當前的時間
insert_table ='''insert into python(codes,create_time) values('testcode','%s')''' % create_time #插入當前時間值
cur.execute(insert_table)
id = conn.insert_id()
code = create_code(id)
update_table ='''update python set codes = '%s' where id = %s'''% (code,id) #插入更新資料
cur.execute(update_table)
conn.commit()
cur.close()
conn.close()
def create_code(id,length=15): #格式轉換
code =hex(int(id))+'l'
length_rdm = length -len(code)
random_num =''.join(random.sample(string.letters + string.digits,length_rdm))
return code + random_num
if __name__ =='__main__': #主程式
opt_mysql(100)
執行結果
python每日一練
人生苦短,我用python 2018.6.5 有個目錄,裡面是你自己寫過的程式,統計一下你寫過多少行 包括空行和注釋,但是要分別列出來 coding utf 8 import re import glob defcodecolletion path filelist glob.glob path p...
Python每日一練
人生苦短,我用python 2018.6.13 最近事情有點多,有幾天沒寫了,正好最近需要統計一下各組排名,也就拿python代替手工了 各組給出其他組的排名,統計每個組最終的得分,第一名為0.5,第二名0.4,以此類推。coding utf 8 groups 3,2,5,4,6 1,3,5,6,4...
Python每日一練0002
如何序列化輸出元素包含字串元組的字串元組 好繞 舉個例子 zoo1 monkey elephant zoo2 python zoo1 將zoo2輸出為python,monkey,elephant容易想到使用join 函式,但join 函式要求元素必須都是字串型別,否則會丟擲typeerror錯誤 z...