python操作数据库之sqlite3打开数据库、删除、修改示例

yipeiwu_com5年前Python基础

复制代码 代码如下:

#coding=utf-8
__auther__ = 'xianbao'
import sqlite3
# 打开数据库
def opendata():
        conn = sqlite3.connect("mydb.db")
        cur = conn.execute("""create table if not exists tianjia(
id integer primary key autoincrement, username varchar(128), passworld varchar(128),
address varchar(125), telnum varchar(128))""")
        return cur, conn
#查询全部的信息


def showalldata():
        print "-------------------处理后后的数据-------------------"
        hel = opendata()
        cur = hel[1].cursor()
        cur.execute("select * from tianjia")
        res = cur.fetchall()
        for line in res:
                for h in line:
                        print h,
                print
        cur.close()
#输入信息


def into():
        username1 = str(raw_input("请输入您的用户名:"))
        passworld1 = str(raw_input("请输入您的密码:"))
        address1 = str(raw_input("请输入您的地址:"))
        telnum1 = str(raw_input("请输入您的联系电话:"))
        return username1, passworld1, address1, telnum1
#  (添加)  往数据库中添加内容


def adddata():
        welcome = """-------------------欢迎使用添加数据功能---------------------"""
        print welcome
        person = into()
        hel = opendata()
        hel[1].execute("insert into tianjia(username, passworld, address, telnum)values (?,?,?,?)",
                                        (person[0], person[1], person[2], person[3]))
        hel[1].commit()
        print "-----------------恭喜你数据,添加成功----------------"
        showalldata()
        hel[1].close()
#  (删除)删除数据库中的内容


def deldata():
        welcome = "------------------欢迎您使用删除数据库功能------------------"
        print welcome
        delchoice = raw_input("请输入您想要删除用户的编号:")
        hel = opendata()              # 返回游标conn
        hel[1].execute("delete from tianjia where id ="+delchoice)
        hel[1].commit()
        print "-----------------恭喜你数据,删除成功----------------"
        showalldata()
        hel[1].close()
# (修改)修改数据的内容


def alter():
        welcome = "--------------------欢迎你使用修改数据库功能-----------------"
        print welcome
        changechoice = raw_input("请输入你想要修改的用户的编号:")
        hel =opendata()
        person = into()
        hel[1].execute("update tianjia set username=?, passworld= ?,address=?,telnum=? where id="+changechoice,
                                (person[0], person[1], person[2], person[3]))
        hel[1].commit()
        showalldata()
        hel[1].close()
# 查询数据


def searchdata():
        welcome = "--------------------欢迎你使用查询数据库功能-----------------"
        print welcome
        choice = str(raw_input("请输入你要查询的用户的编号:"))
        hel = opendata()
        cur = hel[1].cursor()
        cur.execute("select * from tianjia where id="+choice)
        hel[1].commit()
        row = cur.fetchone()
        id1 = str(row[0])
        username = str(row[1])
        passworld = str(row[2])
        address = str(row[3])
        telnum = str(row[4])
        print "-------------------恭喜你,你要查找的数据如下---------------------"
        print ("您查询的数据编号是%s" % id1)
        print ("您查询的数据名称是%s" % username)
        print ("您查询的数据密码是%s" % passworld)
        print ("您查询的数据地址是%s" % address)
        print ("您查询的数据电话是%s" % telnum)
        cur.close()
        hel[1].close()
# 是否继续


def contnue1(a):
        choice = raw_input("是否继续?(y or n):")
        if choice == 'y':
                a = 1
        else:
                a = 0
        return a


if __name__ == "__main__":
        flag = 1
        while flag:
                welcome = "---------欢迎使用仙宝数据库通讯录---------"
                print welcome
                choiceshow = """
请选择您的进一步选择:
(添加)往数据库里面添加内容
(删除)删除数据库中内容
(修改)修改书库的内容
(查询)查询数据的内容
选择您想要的进行的操作:
"""
                choice = raw_input(choiceshow)
                if choice == "添加":
                        adddata()
                        contnue1(flag)
                elif choice == "删除":
                        deldata()
                        contnue1(flag)
                elif choice == "修改":
                        alter()
                        contnue1(flag)
                elif choice == "查询":
                        searchdata()
                        contnue1(flag)
                else:
                        print "你输入错误,请重新输入"

相关文章

python如何在终端里面显示一张图片

python如何在终端里面显示一张图片

Linux终端里面可谓是奇妙无限,很多优秀的软件都诞生在终端里面。相较之下,Windows本身的理念和Linux就不一致,所以,你懂得。 下面,我们不妨先思考一下,如何在终端里面显示一...

详解从Django Rest Framework响应中删除空字段

我使用django-rest-framework开发了一个API. 我正在使用ModelSerializer返回模型的数据. models.py class MetaTags(mod...

Python MySQLdb 使用utf-8 编码插入中文数据问题

最近帮伙计做了一个从网页抓取股票信息并把相应信息存入MySQL中的程序。 使用环境: Python 2.5 for Windows MySQLdb 1.2.2 for Python 2....

python pandas消除空值和空格以及 Nan数据替换方法

在人工采集数据时,经常有可能把空值和空格混在一起,一般也注意不到在本来为空的单元格里加入了空格。这就给做数据处理的人带来了麻烦,因为空值和空格都是代表的无数据,而pandas中Serie...

django迁移数据库错误问题解决

django.db.migrations.graph.NodeNotFoundError: Migration order.0002_auto_20181209_0031 depen...