记录一下数据库大作业

article/2025/8/26 21:02:26

查看服务器

select @@servername

python语句增删减改数据但数据库未保存

connect.commit()

这句话一定要加上,是在我发现修改数据后发现数据库并没有保存才知道的

设置登录名安全性

新建登录名后设置各个表的插入、查询等权限,具体是在表的属性然后权限里面的,我原来一直在登录名的属性上调,一直不成功,经验教训 

当时主要想法是每次统计数据的确很麻烦,而且手上数据最多最全面的就是这些,做完之后没在使用qaq 

from pyexpat import native_encoding
import pymssqllogin_username=input("请输入用户名:")
login_passwd=input("请输入密码:") 
connect = pymssql.connect('DESKTOP-UO5S3E1\MSSQLSERVERMMK',login_username,login_passwd,'五队人员信息')   
# 服务器名,账户,密码,数据库名
try:if connect:print("Success!!")
except:print("连接不成功")#菜单
def menu():print("欢迎来到五队人员管理系统")if login_username=='五队人员':while True:a=input("请选择需要的服务(1.查找人员信息,2.增加人员,3.退出):")if a=='1' or a=='查找人员信息':sql_select_renyuan()elif a=='2' or a=='增加人员':sql_insert_renyuan()elif a=='3' or a=='退出':print("您已成功退出")exit()elif login_username=='团支部':while True:a=input("请选择需要的服务(1.查找人员信息,2.增加人员,3.退出):")if a=='1' or a=='查找人员信息':sql_select_tuan()elif a=='2' or a=='增加人员':sql_insert_tuan()elif a=='3' or a=='退出':print("您已成功退出")exit()elif login_username=='党支部':while True:a=input("请选择需要的服务(1.查找人员信息,2.增加人员,3.退出):")if a=='1' or a=='查找人员信息':sql_select_dang()elif a=='2' or a=='增加人员':sql_insert_dang()elif a=='3' or a=='退出':print("您已成功退出")exit()#五队人员查询函数
def sql_select_renyuan():try:cursor=connect.cursor()name=input("请输入要查询的人员姓名:")sql="select * from 全队人员名单 where 姓名='%s' "%namecursor.execute(sql)row = cursor.fetchone()  # 读取查询结果print("姓名:"+row[0])print("出生日期:"+str(row[1]))print("学号:"+row[2])connect.commit()cursor.close()except:print("出错了哦,有可能是名字输入不正确")#团支部查询函数
def sql_select_tuan():try:cursor=connect.cursor()name=input("请输入要查询的人员姓名:")sql2="select * from 全队人员名单,团员花名册 where 全队人员名单.姓名=团员花名册.姓名 and 团员花名册.姓名='%s' "%namecursor.execute(sql2)row = cursor.fetchone()  # 读取查询结果print("姓名:"+row[0])print("出生日期:"+str(row[1]))print("学号:"+row[2])print("性别:"+row[5])print("身份证号:"+row[7])print("民族:"+row[8])print("政治面貌:"+row[9])print("生源地:"+row[10])print("家庭住址:"+row[11])print("手机号码:"+row[12])connect.commit()cursor.close()except:print("出错了哦,有可能是名字输入不正确")#党支部查询函数
def sql_select_dang():try:cursor=connect.cursor()name=input("请输入要查询的人员姓名:")        sql="select * from 全队人员名单,团员花名册,入党申请人基本情况 where 全队人员名单.姓名=团员花名册.姓名 and 全队人员名单.姓名=入党申请人基本情况.姓名 and 团员花名册.姓名=入党申请人基本情况.姓名 and 团员花名册.姓名='%s' "%namecursor.execute(sql)row = cursor.fetchone()  # 读取查询结果print("姓名:"+row[0])print("出生日期:"+str(row[1]))print("学号:"+row[2])print("性别:"+row[5])print("身份证号:"+row[7])print("民族:"+row[8])print("政治面貌:"+row[9])print("生源地:"+row[10])print("家庭住址:"+row[11])print("手机号码:"+row[12])print("文化程度:"+row[17])print("单位职务:"+row[18])print("申请时间:"+str(row[19]))print("入党申请人谈话时间:"+str(row[20]))print("提交思想汇报时间:"+str(row[21]))connect.commit()cursor.close()    except:print("出错了哦,有可能是名字输入不正确")#五队人员插入函数
def sql_insert_renyuan():try:cursor=connect.cursor()name=input("请输入要增加的人员姓名:")date=input("请输入要增加的人员出生日期:(格式xxxx-xx-xx)")id=input("请输入要增加的人员学号:")sql="insert into 全队人员名单(姓名,出生日期,学号) values('%s','%s','%s')"%(name,date,id)cursor.execute(sql)connect.commit()cursor.close()print("增加成功")except:print("增加的数据出问题了哦,有可能是格式问题")#团支部插入函数
def sql_insert_tuan():try:cursor=connect.cursor()id=input("请输入要增加的人员学号:")name=input("请输入要增加的人员姓名:")sex=input("请输入要增加的人员性别:")date=input("请输入要增加的人员出生日期:(格式xxxx-xx-xx)")id_card=input("请输入要增加的人员身份证号:")nation=input("请输入要增加的人员民族:")political_outlook=input("请输入要增加的人员政治面貌:")origin=input("请输入要增加的人员生源地:")address=input("请输入要增加的人员家庭住址:")tel=input("请输入要增加的人员手机号码:")sql="insert into 团员花名册(学号,姓名,性别,出生日期,身份证号,民族,政治面貌,生源地,家庭住址,手机号码) values('%s','%s','%s','%s','%s','%s','%s','%s','%s','%s')"%(id,name,sex,date,id_card,nation,political_outlook,origin,address,tel)cursor.execute(sql)connect.commit()cursor.close()print("增加成功")except:print("增加的数据出问题了哦,有可能是格式问题")#党支部插入函数
def sql_insert_dang():try:cursor=connect.cursor()name=input("请输入要增加的人员姓名:")sex=input("请输入要增加的人员性别:")nation=input("请输入要增加的人员民族:")date=input("请输入要增加的人员出生日期:(格式xxxx-xx-xx)")level=input("请输入要增加的人员文化程度:")duty=input("请输入要增加的人员单位职务:")time_apply=input("请输入要增加的人员的申请时间:(格式xxxx-xx-xx)")time_conversation=input("请输入要增加的人员的入党申请人谈话时间:(格式xxxx-xx-xx)")time_submit=input("请输入要增加的人员的提交思想汇报时间:(格式xxxx-xx-xx)")sql="insert into 入党申请人基本情况(姓名,性别,民族,出生日期,文化程度,单位职务,申请时间,入党申请人谈话时间,提交思想汇报时间) values('%s','%s','%s','%s','%s','%s','%s','%s','%s')"%(name,sex,nation,date,level,duty,time_apply,time_conversation,time_submit)cursor.execute(sql)       connect.commit()cursor.close()print("增加成功")except:print("增加的数据出问题了哦,有可能是格式问题")menu()

 


http://chatgpt.dhexx.cn/article/HODo733W.shtml

相关文章

数据库的介绍

1. 数据库的介绍 数据库(Database DB)是按照数据结构来组织、存储和管理数据的仓库(存储数据的仓库),它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据&#xff0c…

【数据库】数据库基本概念和类型

一、数据库基本概念 1、数据 所谓数据(Data)是指对客观事物进行描述并可以鉴别的符号,这些符号是可识别的、抽象的。它不仅仅指狭义上的数字,而是有多种表现形式:字母、文字、文本、图形、音频、视频等。现在…

Linux下ll命令

ll命令其实就是ls -l,当然如果想显示隐藏信息就是 ls -al。 我个人是特别喜欢ll代替ls -al命令,并且还要有颜色的那种。 今天卸载软件重新安装环境变量怎么都不对了,一生气把环境变量都清空了。命令:unset PATH 然后就手动添加…

【Linux】ll命令报错-bash: ll: command not found

报错信息 : -bash: ll: command not found root用户没有显示 普通用户下,即目录的拥有者,可以使用ll命令 报错原因: root用户在当前目录没权限,或者, ll 并不是Linux 下一个基本的命令,它实际上…

语法分析:LL(1)分析

本篇介绍的LL(1)分析,这是一种自上而下分析的方法,第一个 L 表示从左向右扫描, 第二个 L 表示分析过程是最左推导,(1)表示每次只向前看一个符号进行分析 关于语法描述的概念 本文中,若无特别说明,小写字母[…

Linux命令 ls 和 ll 的使用方法与基本区别

Linux命令 ls 和 ll 的使用方法与基本区别 Linux 命令 ls 和 ll 的使用方法: ll:罗列出当前文件或目录的详细信息,含有时间、读写权限、大小、时间等信息 ,像Windows显示的详细信息。ll是“ls -l"的别名。相当于Windows里的…

Linux ll指令介绍

经常会用到ll指令来查看文件等,这里记录一下查看的详情信息 介绍样例 drwxrwxrwx 3 root root 4096 Oct 30 10:41 backup drwxrwxrwx 表示文件的属性。Linux的文件基本上分为三个属性:可读(r),可写(w&…

Linux命令`ll`的各列什么意思

下面是随便一个目录下的ll命令,显示的结果分为7个列。 第1列是文件类型加权限 第一个字符为文件类型 d表示目录l表示软连接-表示文件c表示字符设备文件 后面的字符分为三组 所有者u(r表示可读,w表示可写,x表示可执行&#xff09…

Linux 中 ll与ls -l 区别

linux下命令“ll”是“ls -l"的别名。别名相当于windows里的快捷方式。 但是 ll会列出该文件下的所有文件信息,包括隐藏的文件,而ls-l只列出显式文件。 如图 : . 本级 …上一级

ls、ls -a、ls -l、ls -al、ll、ll -a区别

ls 仅罗列出当前文件名或目录名 ls -a 列出目录下的所有文件,包括以 . 开头的隐含文件。 ls -l 列出文件的详细信息。 total 1948 是第5列的和(单位k) 第一列中第一小列代表文件 - 文件(普通文件,图片,压缩包) l 链接文件 类似于Window…

linux ll命令是什么

ll并不是linux下一个基本的命令,它实际上是ls -l的一个别名。 # 查看指定目录下的内容,默认查看当前目录下内容 ls [-ald] [目录名] # 目录名不填写,默认为当前目录。 # -a:列出的全部的文件,包括隐藏文件 # -l&#x…

linux ls和 ll 命令

ll 命令列出的信息更加详细,有时间,是否可读写等信息 ll命令和ls -l命令结果区别: 上面结果说明: ll会列出该文件下的所有文件信息,包括隐藏的文件,而ls -l只列出显式文件,说明这两个命令还…

Linux “ll“ 命令详解

“ls -l” "ls -al" ll 用来查询当前目录下文件及目录的详情 1. 第一位文件类型 - 普通文件 , d 目录文件,I 链接文件,p 管理文件, b 块设备文件, c 字符设备文件, s 套接字文件 2.文件属性 第…

linux命令 ll信息详解

本文链接:https://blog.csdn.net/LEON1741/article/details/82386520 在linux下使用“ls -l”或者“ls -al”或者“ll”命令查看文件及目录详情时,shell中会显示出好几列的信息。平时也没怎么注意过,今天忽然心血来潮想了解一下,于…

STM32LL库系列教程(一)—— LL库概览及资料

**开发平台** : 正点原子 探索者STM32F407ZET6cube mx:V 5.1.0keil uVision5项目地址: github : https://github.com/liliang1918/STM32LL 码云 :https://gitee.com/liang1918/stm32_ll_library 注意: 本教程默认读…

Linux命令`ll`的结果解析

下面是随便一个目录下的ll命令,显示的结果分为7个列。 第1列是文件类型加权限。 第一个字符为文件类型, d表示目录,l表示软连接,-表示文件,c表示字符设备文件。 后面的字符分为三组, 所有者u(…

linux命令中ll和ls的区别

Linux命令 ls 和 ll 的使用方法与基本区别 Linux 命令 ls 和 ll 的使用方法: 1.ll 罗列出当前文件或目录的详情信息,含有时间、读写权限、大小等信息 ,像Windows显示的详细信息。ll是“ls -l"的别名。相当于Windows里的快捷方式。可以…

特别行动队[斜率优化]

传送门 首先考虑暴力的DP sum(i--j) 可以用前缀和维护 把式子拆开 ...是一坨常数,这里省略了 我们令 yf[j]a*s[j]*s[j]-b*s[j] , xs[j] , k2*a*s[i] , bf[i] 把点绘制出来差不多是这样[注意斜率是负的] 数形结合来看,代码还是比较好写 #include<bits/stdc.h> #…

1911: [Apio2010]特别行动队

1911: [Apio2010]特别行动队 Time Limit: 4 Sec Memory Limit: 64 MB Submit: 4061 Solved: 1922 [ Submit][ Status][ Discuss] Description Input Output Sample Input 4 -1 10 -20 2 2 3 4 Sample Output 9 题解&#xff1a; 首先我们可以推出原始方程式&#xff1a;…

特别行动队题解

特别行动队题解 刷水题什么的最愉快了。 题意十分明了&#xff0c;就是选出一种分配方案将士兵分为若干组&#xff0c;使修正后的战斗力最大。 我们先可以写出暴力dp转移&#xff1a; 设\(f[n]\)为将前\(i\)个士兵分组&#xff0c;且第\(i\)个士兵为最后一组最后一个的最大战斗…