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占位符。

     
  • 相关阅读:
    SaaS模式应用之多租户系统开发(单数据库多Schema设计)
    web-api POST body object always null
    linq to js 用法
    c#导出数据到csv文本文档中,数据前面的0不见了解决方法
    金蝶BOS元模型分析
    DotNet 资源大全中文版
    JavaScript中的类方法、对象方法、原型方法
    解决System.Data.SqlClient.SqlException (0x80131904): Timeout 时间已到的问题
    在需要隐藏navigationController控制器
    升级macOS Sierra系统 导致错误 app: resource fork, Finder information, or similar detritus not allowed
  • 原文地址:https://www.cnblogs.com/Mangnolia/p/13667322.html
Copyright © 2011-2022 走看看