import sqlite3

conn = sqlite3.connect('E:\\student.db')
print("Opened database successfully")
c = conn.cursor()
c.execute('''CREATE TABLE if not exists STUDENT
(ID INT PRIMARY KEY NOT NULL,
STU_NAME CHAR(20),
AGE INT NOT NULL,
ADDRESS CHAR(50));''') print ("Table created successfully")
conn.commit()
Opened database successfully
Table created successfully
print("Opened database successfully")
c.execute("INSERT INTO STUDENT(ID,STU_NAME,AGE,ADDRESS) VALUES(20154071115,'dch',22,'1-223')")
c.execute("INSERT INTO STUDENT(ID,STU_NAME,AGE,ADDRESS) VALUES(20154071112,'fwx',22,'1-222') ")
c.execute("INSERT INTO STUDENT(ID,STU_NAME,AGE,ADDRESS) VALUES(20154071111,'cg',22,'1-223') ")
c.execute("INSERT INTO STUDENT(ID,STU_NAME,AGE,ADDRESS) VALUES(20154071110,'wyf',22,'1-222') ")
conn.commit()
print("Records created successfully")
Opened database successfully
Records created successfully
cursor = c.execute("SELECT id,STU_NAME,address FROM student")
for row in cursor:
print("ID = ",row[0])
print("NAME = ",row[1])
print("ADDRESS = ",row[2])
print("Operation done successfully")
#conn.close()
def display_menu():
print("学生表操作界面")
print("---------------------")
print("1.增添学生信息")
print("2.查询学生有关资料")
print("3.修改学生有关信息")
print("4.删除学生信息")
print("5.查询现在的学生信息")
print("0.退出")
print("---------------------")
ID =  20154071115
NAME = dch
ADDRESS = 1-223
ID = 20154071112
NAME = fwx
ADDRESS = 1-222
ID = 20154071111
NAME = cg
ADDRESS = 1-223
ID = 20154071110
NAME = wyf
ADDRESS = 1-222
Operation done successfully
def append_data():
id = int(input("请输入新学生的学号:"))
name = str(input("请输入新学生的名字"))
age = int(input("请输入新学生的年龄"))
address = str(input("请输入新学生的地址"))
sqlStr = "select * from student where id = {};".format(id)
cursor = conn.execute(sqlStr)
if len(cursor.fetchall())>0:
print("列表中已经有这个学生了")
else:
sqlStr = "insert into student(ID,STU_NAME,AGE,ADDRESS) VALUES ({},'{}',{},'{}')".format(id,name,age,address)
conn.execute(sqlStr)
conn.commit()
def update_date():
id = int(input("请输入你要修改的学号:"))
sqlStr = "select * from student where id = {};".format(id)
cursor = conn.execute(sqlStr)
rows = cursor.fetchall()
if len(rows) > 0:
print("该学生的姓名是",rows[0][1])
name = input("请输入学生的新名字")
age = int(input("请输入学生的新年龄"))
address = input("请输入学生的新地址")
sqlStr = "update student set STU_NAME = '{}',age = '{}',address = '{}' where id = {}".format(name,age,address,id)
conn.execute(sqlStr)
conn.commit()
print("修改成功")
else:
print("不存在该学生")
def delete_data():
id = int(input("请输入要删除的学生id:"))
sqlStr = "select * from student where id = {};".format(id)
cursor = conn.execute(sqlStr)
rows = cursor.fetchall()
if len(rows) > 0:
print("该学生的姓名是",rows[0][1])
s = int(input("请确认删除(如果删除请输入'1',不删除请输入'0'):"))
if s == 1:
sqlStr = "delete from student where id = {}".format(id)
conn.execute(sqlStr)
print("删除成功")
else:
return display_menu()
def select_data():
id = int(input("请输入要修改的学生id:"))
sqlStr = "select * from student where id = {};".format(id)
cursor = conn.execute(sqlStr)
rows = cursor.fetchall()
if len(rows) > 0:
print("该学生信息如下:")
print(rows)
else:
print("该学生不存在")
def display_data():
cursor = conn.execute('SELECT * FROM student;')
for row in cursor:
print(row)
while True:
display_menu()
choice = int(input("请输入你的选择"))
if choice == 0:
conn.close()
break
elif choice == 2:
select_data()
elif choice == 3:
update_date()
elif choice == 4:
delete_data()
elif choice == 5:
display_data()
elif choice == 1:
append_data()
else:break

吴裕雄--python学习笔记:通过sqlite3 进行文字界面学生管理的更多相关文章

  1. 吴裕雄--python学习笔记:sqlite3 模块

    1 sqlite3.connect(database [,timeout ,other optional arguments]) 该 API 打开一个到 SQLite 数据库文件 database 的 ...

  2. 吴裕雄--python学习笔记:sqlite3 模块的使用与学生信息管理系统

    import sqlite3 cx = sqlite3.connect('E:\\student3.db') cx.execute( '''CREATE TABLE StudentTable( ID ...

  3. 吴裕雄--python学习笔记:爬虫基础

    一.什么是爬虫 爬虫:一段自动抓取互联网信息的程序,从互联网上抓取对于我们有价值的信息. 二.Python爬虫架构 Python 爬虫架构主要由五个部分组成,分别是调度器.URL管理器.网页下载器.网 ...

  4. 吴裕雄--python学习笔记:爬虫包的更换

    python 3.x报错:No module named 'cookielib'或No module named 'urllib2' 1. ModuleNotFoundError: No module ...

  5. 吴裕雄--python学习笔记:爬虫

    import chardet import urllib.request page = urllib.request.urlopen('http://photo.sina.com.cn/') #打开网 ...

  6. 吴裕雄--python学习笔记:os模块函数

    os.sep:取代操作系统特定的路径分隔符 os.name:指示你正在使用的工作平台.比如对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix'. os.getcwd:得 ...

  7. 吴裕雄--python学习笔记:os模块的使用

    在自动化测试中,经常需要查找操作文件,比如说查找配置文件(从而读取配置文件的信息),查找测试报告(从而发送测试报告邮件),经常要对大量文件和大量路径进行操作,这就依赖于os模块. 1.当前路径及路径下 ...

  8. 吴裕雄--python学习笔记:BeautifulSoup模块

    import re import requests from bs4 import BeautifulSoup req_obj = requests.get('https://www.baidu.co ...

  9. Python学习笔记(十二)—Python3中pip包管理工具的安装【转】

    本文转载自:https://blog.csdn.net/sinat_14849739/article/details/79101529 版权声明:本文为博主原创文章,未经博主允许不得转载. https ...

随机推荐

  1. Windows Java桌面应用程序集成slf4j实现日志持久化

    声明:迁移自本人CSDN博客https://blog.csdn.net/u013365635 Windows上一般的应用程序也可以通过日志系统打印日志到指定文件.通过这个例子想说明,问题处理的方法是多 ...

  2. [Algo] 117. Array Deduplication III

    Given a sorted integer array, remove duplicate elements. For each group of elements with the same va ...

  3. 面向对象 part5

    构造函数模式与原型模式结合 function Person(name) = { this.name = name this.friends = ["a", "b" ...

  4. 第二季第十天 es6新特性新特性

    1.set的应用(去重)js标准内置对象 适用范围:String,Array(数字基本数据类型不可以) set的方法:例子 var s = new Set(data) 增加:  s.add(data) ...

  5. ubuntu 编译VLC3.0.0

    参考链接 https://blog.csdn.net/u014755412/article/details/78874038 https://www.cnblogs.com/wpjamer/p/919 ...

  6. js字符串相关要点

    不要创建string对象,它会拖慢执行速度,并可能产生其他副作用. var x = "John"; var y = new String("John"); (x ...

  7. Java文字识别软件-调用百度ocr实现文字识别

    java_baidu_ocr Java调用百度OCR文字识别API实现图片文字识别软件 这是一款小巧方便,强大的文字识别软件,由Java编写,配上了窗口界面 调用了百度ocr文字识别API 识别精度高 ...

  8. python获取当前的日期和时间

    import datetime import time print ("格式参数:") print (" %a 星期几的简写") print (" % ...

  9. 九、Shell脚本高级编程实战第九部

    一.监控mysql主从同步是否异常,如果异常,发送短信给管理员 1)开发一个守护进程脚本每30秒实现检测一次. 2)如果错误号是:1158.1159.1008.1007.1062,请跳过 3)请使用数 ...

  10. jetbrains系列产品 永久注册方法

    使用方法: 0. 先下载压缩包解压后得到jetbrains-agent.jar,把它放到你认为合适的文件夹内. 下载列表地址:https://zhile.io/files/jetbrains-agen ...