吴裕雄--python学习笔记:通过sqlite3 进行文字界面学生管理
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 进行文字界面学生管理的更多相关文章
- 吴裕雄--python学习笔记:sqlite3 模块
1 sqlite3.connect(database [,timeout ,other optional arguments]) 该 API 打开一个到 SQLite 数据库文件 database 的 ...
- 吴裕雄--python学习笔记:sqlite3 模块的使用与学生信息管理系统
import sqlite3 cx = sqlite3.connect('E:\\student3.db') cx.execute( '''CREATE TABLE StudentTable( ID ...
- 吴裕雄--python学习笔记:爬虫基础
一.什么是爬虫 爬虫:一段自动抓取互联网信息的程序,从互联网上抓取对于我们有价值的信息. 二.Python爬虫架构 Python 爬虫架构主要由五个部分组成,分别是调度器.URL管理器.网页下载器.网 ...
- 吴裕雄--python学习笔记:爬虫包的更换
python 3.x报错:No module named 'cookielib'或No module named 'urllib2' 1. ModuleNotFoundError: No module ...
- 吴裕雄--python学习笔记:爬虫
import chardet import urllib.request page = urllib.request.urlopen('http://photo.sina.com.cn/') #打开网 ...
- 吴裕雄--python学习笔记:os模块函数
os.sep:取代操作系统特定的路径分隔符 os.name:指示你正在使用的工作平台.比如对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix'. os.getcwd:得 ...
- 吴裕雄--python学习笔记:os模块的使用
在自动化测试中,经常需要查找操作文件,比如说查找配置文件(从而读取配置文件的信息),查找测试报告(从而发送测试报告邮件),经常要对大量文件和大量路径进行操作,这就依赖于os模块. 1.当前路径及路径下 ...
- 吴裕雄--python学习笔记:BeautifulSoup模块
import re import requests from bs4 import BeautifulSoup req_obj = requests.get('https://www.baidu.co ...
- Python学习笔记(十二)—Python3中pip包管理工具的安装【转】
本文转载自:https://blog.csdn.net/sinat_14849739/article/details/79101529 版权声明:本文为博主原创文章,未经博主允许不得转载. https ...
随机推荐
- linux的centos设置静态网络
这个是该自己的网络排至,具体的分析,自己以后再研究 http://www.centoscn.com/CentOS/config/2015/0227/4753.html
- 用Python3生成30万条excel数据(xlsx格式)
在B/S架构的系统测试中,有时需要通过导入excel文件来生成一些数据记录,当数据量小的时候,一般不会出现什么问题,而当导入的数据量巨大时,对系统的性能就是一个考验了.为了验证系统的性能,有时需要导入 ...
- ZJNU 1269 - 灯塔——高级
根据题目输入可以得到一个有向图 信号可以根据有向图的传递性传递,因此可以说是找到这个有向图的所有父亲即可 但又要考虑可能会出现环这类情况 所以跑一遍强连通分量模板,再根据分块后的图找到入度为0的块,把 ...
- [Algo] 292. String Abbreviation Matching
Word “book” can be abbreviated to 4, b3, b2k, etc. Given a string and an abbreviation, return if the ...
- TextBox换行C#文本框换行.net文本框换行textarea换行
在TextBox中输入的内容,显示的时候如果用lable显示,无法换行 可以使用TextBox输入,然后也使用TextBox 显示,这样换行输入的内容,显示的时候也可以换行.显示的时候可以设置一下控件 ...
- collection-time-os-sys-json模块
一.collections模块 美 [kə'lekʃənz] ,收集,收藏 在内置数据(dict list set tuple)的基础上,collections模块海提供了几个常用的数据类型:c ...
- XMemcached 中文api
变更历史 2010-06-22 添加客户端分布和SASL验证两节,更新spring配置一节. 2010-06-23 添加maven依赖说明 2010-10-17 1.2.6 released 2011 ...
- 2020 CCPC Wannafly Winter Camp Day2-K-破忒头的匿名信
题目传送门 sol:先通过AC自动机构建字典,用$dp[i]$表示长串前$i$位的最小代价,若有一个单词$s$是长串的前$i$项的后缀,那么可以用$dp[i - len(s)] + val(s)$转移 ...
- B-Tree(B树)原理及C++代码实现
B树是一种平衡搜索树,它可以看做是2-3Tree和2-3-4Tree的一种推广.CLRS上介绍了B树目前主要针对磁盘等直接存取的辅存设备,许多数据库系统也利用B树或B树的变种来存储信息. 本文主要针对 ...
- Linux_列出文件和文件属性
ls +文件名:列出该文件 ls +目录名:列出该目录下的文件 ls 什么也不加:列出当前工作目录下的文件 ls -a 列出包括隐藏文件,即所有文件名 ls -l 列出文件名+详细信息 ls -al ...