ホームページ  >  記事  >  バックエンド開発  >  Python データベース操作 sqlite3 データベースを開く、削除、変更する例

Python データベース操作 sqlite3 データベースを開く、削除、変更する例

WBOY
WBOYオリジナル
2016-06-16 08:44:541314ブラウズ

复制代码 代码如下:

#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 = "--------Xianbao データベース アドレス帳へようこそ -- -------「
印刷へようこそ
の内容 (変更) ライブラリの内容を変更します
(照会) データの内容を照会します
実行する操作を選択します:
"" ""
choice = raw_input(choiceshow)deldata()elif choice == "modify":
alter()
contnue1( FLAG)
Elif Choice == "Query":
Searchdata ()
Contnue1 (Flag)
Else: Else:
Print "エラーを入力しました。再入力してください"


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。