python函数模拟mysql增删改查功能

import os
list1 = [‘staff_id‘, ‘name‘, ‘age‘, ‘phone‘, ‘dept‘, ‘enroll_date‘]
def staff_info():
    #获取员工信息生成器函数
    with open(‘staff_table.txt‘, ‘r‘, encoding=‘utf-8‘) as f:
            for line in f :
             x =line.split(‘,‘)
             staff_dic = {k: v for (k, v) in zip(list1,x)}
             yield staff_dic

def select_func(select_content,start,middle,end):
    #查找函数
    if middle == ‘=‘:
        middle = ‘==‘

    if select_content == ‘*‘:
        content = list1
    else:
        content = select_content.split(‘,‘)

    total_check = 0
    for i in staff_info():
        list = []
        for j in content:
            list.append(i[j])
        #查找需要列出的项
        if middle == ‘like‘:
            l=len(end)
            if eval(i[start][:l] + ‘==‘ +end ):
                print(list)
                total_check+=1
        else:
            s = i[start]
            e = end
            if eval("s"+middle+"e"):
                print(list)
                total_check+=1

    print(‘相关查询共计%s‘%total_check)

def insert_func(list):
    #添加功能函数,添加的内容以列表写入
    with open(‘staff_table.txt‘,‘r+‘,encoding=‘utf-8‘) as f:
        #判断手机号是否重复,若重复报错退出
        for line in f:
            if list[2] in line:
                print(‘err information‘)
                return
        #不重复的添加内容
        f.seek(0)
        info=f.readlines()
        staff_id=info[-1].split(‘,‘)
        staff_id=int(staff_id[0])+1
        f.seek(0,2)
        s=‘‘
        for i in list:
            if type(i)==int:
                i=str(i)
            s=s+‘,‘+i
        f.write(str(staff_id)+s+‘\n‘)

def delete_func(staff_id):
    #删除信息函数
    with open(‘staff_table.txt‘,‘r+‘,encoding=‘utf_8‘) as f,          open(‘new.txt‘,‘w‘,encoding=‘utf-8‘) as f1:
        for line in f:
            if staff_id == line[0]:
                line=‘‘
            f1.write(line)
    os.remove(‘staff_table.txt‘)
    os.rename(‘new.txt‘,‘staff_table.txt‘)

def modify_func(oldcontent,newcontent):
    #修改函数
    with open(‘staff_table.txt‘,‘r+‘,encoding=‘utf_8‘) as f,          open(‘new.txt‘,‘w‘,encoding=‘utf-8‘) as f1:
        for line in f:
            if oldcontent in line:
                line=line.replace(oldcontent,newcontent)
            f1.write(line)
    os.remove(‘staff_table.txt‘)
    os.rename(‘new.txt‘,‘staff_table.txt‘)

def run_func():
   #运行函数
   while 1:
       cmd=input(‘>>>: ‘)
       if cmd == ‘quit‘:
           break
       else:
           cmd=cmd.split()
           if cmd[0] == ‘select‘:
               end=cmd[-1]
               start=cmd[-3]
               middle=cmd[-2]
               select_content=cmd[1]
               select_func(select_content,start,middle,end)
           elif cmd[0] == ‘insert‘:
               list=cmd[1].split(‘,‘)
               insert_func(list)
           elif cmd[0].lower() == ‘update‘:
               oldcontent=cmd[-1]
               newcontent=cmd[5]
               modify_func(oldcontent,newcontent)
           elif cmd[0] == ‘delete‘:
               staff_id=cmd[1]
               delete_func(staff_id)
           else:
               print(‘err input‘)

run_func()

staff_table.txt 里的内容:

1,Alex Li,22,13651054608,IT,2013-04-012,Jack Wang,30,13304320533,HR,2015-05-033,Rain Liu,25,1383235322,Sales,2016-04-224,Mack Cao,40,1356145343,HR,2009-03-01

因能力有限,命令格式请遵循下列说明
  • 查询命令格式:select age,name from satff_table where dept == IT/age > 20/其他条件
  • 修改命令格式:update staff_table set dept = market where where dept = IT
  • 增加命令格式:insert mona, 15, 13693041938, IT, 2016-09-04
  • 删除命令格式:delete 1
时间: 2024-10-17 11:36:17

python函数模拟mysql增删改查功能的相关文章

基于SSM实现的MySQL增删改查

之前自学完了JAVA基础,一直以来也没有做什么好玩的项目,最近暑假,时间上比较空闲,所以又学习了一下最近在企业实际应用中比较流行的SSM框架,以此为基础,通过网络课程,学习编写了一个基于SSM实现的MySQL增删改查的网站,好了废话不多说,下面介绍一下项目. 首先,页面的UI是使用了Bootstrap框架快速搭建的,这个框架还是比较好用的,不但快速,而且美观,风格偏扁平化.而且对于我这种英文渣渣来说,有中文的帮助文档,简直不要太好上手,然后搭建好的大致效果图就如1-1所示,当然搭建好的只是静态页

3.创建Manager类,演示对TestUser进行增删改查功能

接上一篇文章 创建NHibernateHelper帮助类,生成sessionFactory http://www.cnblogs.com/fzxiaoyi/p/8443587.html 创建个新的类Manager,演示对TestUser进行增删改查功能 编写代码如下: using MySQLDateBase.Model; using System; using System.Collections.Generic; using System.Linq; using System.Text; us

SpringBoot快速上手——《二》:SpringBoot集成SSM,实现增删改查功能

SpringBoot集成SSM,实现增删改查功能 github源码:https://github.com/xivinChen/SpringBoot 一.先介绍创建模块的另一种方式 1.点击Maven -> 勾选Create from archetype -> 选择 maven-archetype-quickstart 有时会需要点击 自动导入 2.工程目录 可以看到,这样创建的模块是相对干净的,需要我们手动的编写程序启动入口类.需要配置时还得创建配置文件.下一步见证. 3.完善模块 添加依赖,

PHP MySql增删改查

mysql_connect()连接数据库 mysql_select_db选择数据库 mysql_fetch_assoc()获取结果集 mysql_query()执行sql语句 实例如下: <?php    [email protected]_connect('localhost','root','root');//连接数据库    mysql_select_db('test',$con);//选择数据库    $userInfo=mysql_query("select * from use

SQLite实现基本的增删改查功能

SQLite实现基本的增删改查功能 还是向之前一样,先介绍功能,再介绍所用知识点,然后贴下代码. 一,SQLite简介: SQLite,是一款轻型的数据库,是遵守ACID(原子性.一致性.隔离性.持久性)的关联式数据库管理系统,多用于嵌入式开发中.   SQLite的数据类型:Typelessness(无类型), 可以保存任何类型的数据到你所想要保存的任何表的任何列中. 但它又支持常见的类型比如: NULL, VARCHAR, TEXT, INTEGER, BLOB, CLOB...等. 唯一的

使用MVC5+Entity Framework6的Code First模式创建数据库并实现增删改查功能

此处采用VS2017+SqlServer数据库 一.创建项目并引用dll: 1.创建一个MVC项目 2.采用Nuget安装EF6.1.3 二.创建Model 在models文件夹中,建立相应的model文件,这里建立的class名,就是数据库里表的名字.        在这里面,可以建立表之间的关系,本次将建立Course(课程).Student(学生).StuCourse(课程学生关系)来作为一个Demo [Table("t_course")]   //可以通过Attribute的形

java H2数据库使用并实现增删改查功能

原文:java H2数据库使用并实现增删改查功能 代码下载地址:http://www.zuidaima.com/share/1550463278058496.htm package com.zuidaima.h2sql.test; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.St

JavaScript之实现基本的增删改查功能

开心一笑 听说这两天,全国都很冷.福建人说1度好冷,北京人笑了:我们这零下17度.黑龙江人也笑了:我们这零下33度.呼伦贝尔人听到哈哈大笑:我们这零下43度.福建人听完冷笑一声:我说的是室内,室内,室内 提出问题 如何利用原生的js实现基本的增删改查功能 解决问题 包含两个文件(index.jsp 和 index.js) <%@ page language="java" contentType="text/html; charset=UTF-8" pageEn

js + bootstrap 实现基本的增删改查功能 -- 兰

描述:利用原生js + bootstrap 实现基本的增删改查功能:包含两个文件(index.jsp 和 index.js) <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN