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

     
  • 相关阅读:
    codeforces 645C. Enduring Exodus
    test markdown
    codeforces 817C Really Big Numbers
    797C C. Minimal string
    ubuntu配置安卓开发环境记录
    常用网址
    Mysql/Oracle/达梦中数据字典表
    Hadoop0.20.2中MapReduce读取gb2312文件出现乱码问题
    凝思磐石4.2系统字符编码的修改
    hadoop学习(三)HDFS常用命令以及java操作HDFS
  • 原文地址:https://www.cnblogs.com/Mangnolia/p/13667322.html
Copyright © 2011-2022 走看看