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


Posted in Python onMarch 13, 2014
#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创建临时文件夹的方法
Jul 06 Python
Python使用Paramiko模块编写脚本进行远程服务器操作
May 05 Python
Python中with及contextlib的用法详解
Jun 08 Python
全面分析Python的优点和缺点
Feb 07 Python
对python .txt文件读取及数据处理方法总结
Apr 23 Python
Python基于最小二乘法实现曲线拟合示例
Jun 14 Python
python中从str中提取元素到list以及将list转换为str的方法
Jun 26 Python
python 批量修改/替换数据的实例
Jul 25 Python
对Python中实现两个数的值交换的集中方法详解
Jan 11 Python
基于python3.7利用Motor来异步读写Mongodb提高效率(推荐)
Apr 29 Python
python产生模拟数据faker库的使用详解
Nov 04 Python
基于Python-turtle库绘制路飞的草帽骷髅旗、美国队长的盾牌、高达的源码
Feb 18 Python
使用Python判断IP地址合法性的方法实例
Mar 13 #Python
Python 分析Nginx访问日志并保存到MySQL数据库实例
Mar 13 #Python
详解Python中的__init__和__new__
Mar 12 #Python
python文件和目录操作方法大全(含实例)
Mar 12 #Python
Python 文件读写操作实例详解
Mar 12 #Python
Python 异常处理实例详解
Mar 12 #Python
Python break语句详解
Mar 11 #Python
You might like
Smarty foreach控制循环次数的实现详解
2013/07/03 PHP
Yii2.0 模态弹出框+ajax提交表单
2016/05/22 PHP
Laravel统计一段时间间隔的数据方法
2019/10/09 PHP
js中页面的重新加载(当前页面/上级页面)及frame或iframe元素引用介绍
2013/01/24 Javascript
javascript setTimeout和setInterval计时的区别详解
2013/06/21 Javascript
jQuery获取页面及个元素高度、宽度的总结——超实用
2015/07/28 Javascript
实例详解JavaScript获取链接参数的方法
2016/01/01 Javascript
jQuery模拟360浏览器切屏效果幻灯片(附demo源码下载)
2016/01/29 Javascript
JS实现Select的option上下移动的方法
2016/03/01 Javascript
javascript函数自动执行常用方法汇总
2016/03/28 Javascript
AngularJs directive详解及示例代码
2016/09/01 Javascript
学习Node.js模块机制
2016/10/17 Javascript
详解Angular.js的$q.defer()服务异步处理
2016/11/06 Javascript
在点击div中的p时,如何阻止事件冒泡
2017/02/07 Javascript
js时间戳格式化成日期格式的多种方法介绍
2017/02/16 Javascript
详解nodejs微信公众号开发——5.素材管理接口
2017/04/11 NodeJs
jQuery实现form表单序列化转换为json对象功能示例
2018/05/23 jQuery
JavaScript引用类型Array实例分析
2018/07/24 Javascript
Promise.all中对于reject的处理方法
2018/08/01 Javascript
jQuery中ajax请求后台返回json数据并渲染HTML的方法
2018/08/08 jQuery
图解javascript作用域链
2019/05/27 Javascript
element ui分页多选,翻页记忆的实例
2019/09/03 Javascript
Python 第一步 hello world
2009/09/25 Python
跟老齐学Python之重回函数
2014/10/10 Python
利用python写个下载teahour音频的小脚本
2017/05/08 Python
Python编程产生非均匀随机数的几种方法代码分享
2017/12/13 Python
Python读取图片为16进制表示简单代码
2018/01/19 Python
Windows 64位下python3安装nltk模块
2018/09/19 Python
对django中render()与render_to_response()的区别详解
2018/10/16 Python
使用Pandas将inf, nan转化成特定的值
2019/12/19 Python
如何利用python进行时间序列分析
2020/08/04 Python
中外合拍动画首获奥斯卡提名,“上海出品”《飞奔去月球》能否拿下最终大奖?
2021/03/16 国漫
Spanx塑身衣官网:美国知名内衣品牌
2017/01/11 全球购物
计算机专业应届生求职信
2014/04/06 职场文书
统计工作个人总结
2015/03/03 职场文书
各国货币符号大全
2022/02/17 杂记