繁体   English   中英

python 中的数据库,带有 sqlite3 和用户输入

[英]Database in python with sqlite3 and user input

我正在尝试在 python 中创建一个小型数据库,该数据库最终将包含我感兴趣的大学的所有信息。我希望能够随时添加一所大学并向其中添加数据或从中删除数据我已经输入了一个。我想回答我在代码中输入的所有问题,然后将所有这些答案保存在数据库中。 我现在有一些错误,任何帮助将不胜感激。 谢谢!

import sqlite3

connection = sqlite3.connect("CollegeDB.db")

cursor = connection.cursor()

cursor.execute("CREATE TABLE Colleges (Name TEXT, Enrollment INTEGER, Location TEXT, Acceptance TEXT, Matriculation INTEGER, Testing TEXT, ACT INTEGER, SAT INTEGER, Tuition INTEGER, Scholarships TEXT, ApplicationDeadline BLOB, Visit? TEXT, Interview TEXT, Major TEXT, GreekLife INTEGER, ReligiousAffiliation TEXT)")

collegename1 = input("What is the name of the college?")
enrollment1 = input("What is the total number of undergrads?")
location1 = input("Where is it located?")
acceptance1 = float(input("What is the acceptance rate?"))
matriculation1 = int(input("What is the matriculation?"))
testing1 = input("Is testing optional?")
act1 = int(input("What is the minimum ACT score?"))
sat1 = int(input("What is the minimum SAT score?"))
tuition1 = int(input("What is the cost of tuition?"))
scholarship1 = input("Do they offer scholarships?")
applicationdeadline1 = input("What is the application deadline?")
visit1 = input("Have you visited?")
interview1 = input("Are interviews offered?")
major1 = input("What major interests you from this university?")
greeklife1 = int(input("What is the greek life percentage?"))
religiousaffiliation1 = input("Is there a religious affiliation?")

cursor.execute("INSERT INTO Colleges VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", (
    collegename1, enrollment1, location1, acceptance1, matriculation1, testing1, act1, sat1, tuition1, scholarship1,
    applicationdeadline1, visit1, interview1, major1, greeklife1, religiousaffiliation1))

rows = cursor.execute("SELECT Name, Enrollment, Location, Acceptance, Matriculation, Testing, ACT, SAT, Tuition, "
                      "Scholarships, ApplicationDeadline, Visit?, Interview, Major, GreekLife, ReligiousAffiliation")
print(rows)

至少有一个问题是在列名中Visit? . 它包含一个特殊字符( ? ),因此需要像使用双引号一样进行转义,例如。 "Visit?" . 也允许使用反引号 ( ) or square brackets []`。 为列选择不同的名称可能还为时不晚。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM