zoukankan      html  css  js  c++  java
  • 将随机生成的学生数据导入Mysql

    import random
    from random import choice as choice
    import mysql.connector
    import string
    def Create_Name():
        first_name = ['',"","","","",""]
        second_name = ["","","","","",""]
        last_name = ['',"","","","",""]
        name = choice(first_name)+choice(second_name)+choice(last_name)
        return name.rstrip()
    def Create_class():
        Class = '0123456' 
        Class_name = '三年'+choice(Class)+''
        return Class_name.rstrip()
    def Create_Gender():
        Gender=['','']
        Gender_set=choice(Gender)
        return Gender_set.rstrip()
    def Create_Age():
        Age_set=random.randint(18,21)
        return Age_set
    def Create_Height():
        Height_set=random.randint(150,190)
        return Height_set
    def Create_Teacher():
        Teacher = ['李明','王森','赵刚','林丹']
        Teacher_name=choice(Teacher)
        return Teacher_name.rstrip()
    
    def Create_Subject(Teacher_name):
        Teacher_name=Teacher_name
        if Teacher_name == '李明':
            Subject='数学'
        elif Teacher_name == '王森':
            Subject='语文'
        elif Teacher_name == '赵刚':
            Subject ='英语'
        elif Teacher_name == '林丹':
            Subject ='物理'
        return Subject.rstrip()
    def Create_Score():
        Score_set=random.randint(50,100)
        return Score_set
    def Create_StudentNo():
        StudentNo_set= random.randint(1001,1028)
        return StudentNo_set
    def main():
        mydb=mysql.connector.connect(
          host=localhost,
          user=username,
          passwd=pwd,
          database=data
        )
        cursor = mydb.cursor()
        n=int(input("生成数据数:"))
        for i in range(n):
            name = Create_Teacher()
            #sql_Student='INSERT INTO Student (Name,Class) values ("%s","%s")'
            #cursor.execute(sql_Student,(Create_Name(),Create_class()))
            sql_Score = 'INSERT INTO Score (StudentNo,Subject,Teacher,Score) values ("%s","%s","%s","%s")'
            cursor.execute(sql_Score,(Create_StudentNo(),Create_Subject(name),name,Create_Score()))
        mydb.commit()
        cursor.close()
    main()

    其中碰到了一个坑在

    sql_Score = 'INSERT INTO Score (StudentNo,Subject,Teacher,Score) values ("%s","%s","%s","%s")'

    这里虽然导入的StudentNo和Score是int型的数据,但是因为MySQL的参数标记与Python格式化字符串中使用的%s看起来相同,但使用是不同的。所以无论是数字(包括整数和浮点数)、字符串、日期时间或其他任意类型,都应该使用%s占位符。

     
  • 相关阅读:
    【C# 代码小技巧】巧用 linq select 实现遍历集合返回元素 index
    [转载] redis 学习
    Html5 Canvas斗地主游戏
    K-近邻算法(KNN)
    Sql 把Xml字符串转换成一张表
    Asp.Net Mvc4分页,扩展HtmlHelper类
    SQL 分割字符串
    http://q.cnblogs.com/q/54251/
    读强化学习论文之MADDPG
    【回归】记Paddle强化学习训练营
  • 原文地址:https://www.cnblogs.com/Mangnolia/p/13667322.html
Copyright © 2011-2022 走看看