鏈結資料庫的學員管理系統

2021-08-15 10:19:43 字數 4276 閱讀 9291

#coding:utf-8

# 學員管理系統

import sqlite3

# 管理器

class studentmanager(object):

@classmethod

def sqlite3_operation(cls,type, *args):

''':param

type: -1 0 1 2查詢3

建立表:param

args:

學員資訊

:return

:'''

connect = sqlite3.connect('student.db')

cursor = connect.cursor()

if type == 2:

# 查詢students = cls.query_stu(cursor)

return students

elif type == 3:

cls.create_table(cursor)

else:

# 增刪改cls.operation_stu(type,connect,cursor,*args)

cursor.close()

connect.close()

@classmethod

def create_table(cls,cursor):

try:

cursor.execute('create table student(

id integer

primary key ,

name

text,

age

integer

, phone

text)')

except

exception

as e:

print(e)

# 新增學員

@classmethod

def add_stu(cls):

id = int(input('

請輸入學員學號:

')) name = input('

請輸入學員姓名:

') age = int(input('

請輸入學員年齡

')) phone = input('

') #

執行新增學員的

sqlite

操作cls.sqlite3_operation(1,id,name,age,phone)

# 查詢學員

@classmethod

def query_stu(cls,cursor):

rs = cursor.execute("select

*from student")

result_list =

for stu in rs:

print('

學號:{}

姓名:{}

年齡:{}

{}'.format(stu[0],stu[1],stu[2],stu[3]))

# 返回列表

return result_list

# 修改學員

@classmethod

def update_stu(cls):

students = cls.sqlite3_operation(2)

if len(students) ==0:

print('

沒有學員資訊,請先新增學員!

') return

id = int(input('

請選擇要修改的學員學號:

')) while id not in [s[0] for s in students]:

id = int(input('

沒有該學號,請重選:

')) stu = [s for s in students if s[0]==id]

name = input('

請輸入修改後的姓名

(%s)

:'%stu[0][1])

age = int(input('

請輸入修改後的年齡

(%s)

:'%stu[0][2]))

phone = input('

請輸入修改後的**

(%s)

:'%stu[0][3])

# 執行修改操作

cls.sqlite3_operation(0,id,name,age,phone)

# 刪除學員

@classmethod

def delete_stu(cls):

students = cls.sqlite3_operation(2)

if len(students) == 0:

print('

沒有學員資訊,請先新增學員!

') return

id = int(input('

請選擇要刪除的學員學號:

')) while id not in [s[0] for s in students]:

id = int(input('

沒有該學號,請重選:

')) #

執行刪除操作

cls.sqlite3_operation(-1,id)

# 傳入操作型別,然後根據學員資訊,做出對應的操作

@classmethod

def operation_stu(cls, type,connect,cursor,*args):

''':param

type:

操作型別

1表示新增學員

0表示修改學員

-1刪除學員

:param

args:

學員資訊

:return

: none

'''if type not in

range(-1,2):

raise

typeerror('type must be int, 1 or 0 or -1 !')

sql = ''

# 根據不同的操作型別,拼接

sql語句

if type == 1:

# 新增學員

sql = "insert into student(id,name,age,phone)values({},'{}',{},'{}')".format(args[0],args[1],args[2],args[3])

elif type == 0:

# 修改學員

sql = "update student set name='{}',age={},phone='{}' where id={}".format(args[1],args[2],args[3],args[0])

else:

# 刪除學員

sql = "delete from student where id={}".format(args[0])

try:

cursor.execute(sql)

connect.commit()

except

exception

as e:

print(e)

if __name__ == '__main__':

# 建立表studentmanager.sqlite3_operation(3)

while true:

print("""

1.新增學員

2.修改學員

3.查詢學員

4.刪除學員

0.退出程式

""")

num = int(input('

請選擇您的操作:

')) while num not in

range(0,5):

num = int(input('

選項錯誤,請重選:

')) if num == 1:

# 執行新增學員的操作

studentmanager.add_stu()

elif num == 2:

studentmanager.update_stu()

elif num == 3:

studentmanager.sqlite3_operation(2)

elif num == 4:

studentmanager.delete_stu()

else:

break

資料庫 資料庫系統 資料庫管理系統

資料庫 db table 例子如下 資料庫管理系統 dbms dbms的主要功能 定義功能 提供資料定義語言 ddl 定義db的 結構 兩級映象 定義資料的完整性約束 保密限制等 操縱功能 提供資料操作語言 dml 實現對資料的檢索和更新 詢問 插入 刪除 保護功能 db的恢復 的併發控制 資料完整...

資料庫系統 資料庫 資料庫管理系統 資料庫系統

繼續寫資料庫系統的文章,第二篇 資料庫 資料庫管理系統 資料庫系統。本文主要談談這三者之間的關係。下方,摘自老師的ppt,非原創。資料庫管理系統 從系統角度看資料庫管理系統 資料庫系統 資料庫指的是長期儲存在計算機內有組織的,大量的,相關聯的,可共享的資料集合。資料應當是有組織的,不應該是雜亂無章的...

資料庫管理系統

資料庫管理系統 dbms 網路應用服務端 我們要使用服務端的資料 需要有乙個客戶端 客戶端可以自己寫 未來寫 的時候 也可以用別人寫好的 第三方的工具 資料庫管理軟體的公司出版的官方客戶端 資料庫管理系統本質上也是管理一堆檔案 只不過人家的管理方式比我們更高效 更安全 資料庫管理員 dba 搭建資料...