python操作数据库之sqlite3打开数据库、删除、修改示例
发布时间:2024-01-26 15:47:01
#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 "你输入错误,请重新输入"
猜你喜欢
- 前言:分区是一种表的设计模式,通俗地讲表分区是将一大表,根据条件分割成若干个小表。但是对于应用程序来讲,分区的表和没有分区的表是一样的。换句
- 原文:Five quick JavaScript tips真是五个很quick的小提示:1.只在<form>元素上使用submi
- 图像边缘信息主要集中在高频段,通常说图像锐化或检测边缘,实质就是高频滤波。我们知道微分运算是求信号的变化率,具有加强高频分量的作用。在空域运
- 下面是虚机维护中,经常碰到的一些ASP程序中的数据库调用的错误,现收集整理如下:
- 前言大家谈及用Pandas导出数据,应该就会想到to.xxx系列的函数。这其中呢,比较常用的就是pd.to_csv()和pd.to_exce
- import osimport sysimport MySQLdbdef getStatus(conn):  
- 微信入口绑定,微信事件处理,微信API全部操作包含在这些文件中。内容有:微信摇一摇接口/微信多客服接口/微信支付接口/微信红包接口/微信卡券
- 在 pandas 中提供了利用映射关系来实现某些操作的函数,具体如下:replace() 函数:替换元素;map() 函数:新建一列;ren
- 在使用mysql视图是出现问题: The user specified as a definer ('root'@'
- 前言大家好,我叫善念。这是我的第二篇博客,也是第一篇技术博客,希望大家多多支持,让我更加有动力去更新一些python爬虫类的案例教程。开始确
- 在 Web 编辑器领域,CKEditor – 七年的专注,赢取的是王者风范。TinyMCE – 五年前的小家碧玉,如今已成长为大家闺秀。Go
- 最简单的方法:取整后判断是否和原值相等!javascript的取整函数是:parseIntif(parseInt(value)==value
- 本文实例讲述了python获得一个月有多少天的方法。分享给大家供大家参考。具体分析如下:在python的datetime模块中没有一个月有多
- 1.1 什么是多线程 Threading多线程可简单理解为同时执行多个任务。多进程和多线程都可以执行多个任务,线程是进程的一部分。线程的特点
- 导入注意点:使用phpmyadmin或navicat之类的工具的导入功能还是会相当慢,可以直接使用mysql进行导入导入命令如下:mysql
- PySide是一个免费的软件,与PyQt不同之处在于使用了LGPL,允许PySide免费的开发商业软件。 PySide有15个模块。这些模块
- 本文实例为大家分享了python手写均值滤波的具体代码,供大家参考,具体内容如下原理与卷积类似,设置一个n*n的滤波模板,滤波模板内的值累加
- 很多时候我们获取到一个列表后,这个列表并不满足我们的需求,我们需要的是一个有特殊顺序的列表.这时候就可以使用list.sort方法和内置函数
- DROP PRIMAY DEY用于取消主索引。注释:在MySQL较早的版本中,如果没有主索引,则DROP PRIMARY KEY会取消表中的
- 识别验证码OCR(Optical Character Recognition)即光学字符识别技术,专门用于对图片文字进行识别,并获取文本。字