python基础——数据库操作

xiaoxiao2021-02-28  14

首先导入数据库模块sqlite3

然后建立数据库连接,执行命令,提交执行的命令:

import sqlite3 # database # 连接到一个数据库如果一个数据库存在则链接, # 如果数据库不存在则创建 con = sqlite3.connect('myDB') # 下条命令设置数据库光标 光标是用来执行数据库命令的 cursor = con.cursor() cursor.execute('CREATE TABLE IF NOT EXISTS my_info(name text,age int,des text)') #上条命令的参数是要执行的数据库语句,if not exists 如果不存在则插入 con.commit()#提交数据把所做的操作保存到数据库,查询语句可不用此句

增删改查都是cursor.execute里的参数改变。但是查询我们需要接受它返回的值

因此我们可以用fetchall(),fetcgibe().fetchmay()这几个方法接受返回的值.

cursor.execute('SELECT name from my_info WHERE age > 0') result = cursor.fetchone() print(result) result = cursor.fetchall() print(result) # many()里边表示要获取几条数据,不写表示获取所有数据这时的数据指的是所有查询出来的数据 result = cursor.fetchmany(3) print(result)

案例:

 新建一个数据库,里面有一个数据表 1.要求有这些字段手机牌子,手机价格,手机进货日期,手机内存,手机功能(yuele ,),手机存货量 2.新建一个对象,顾客    新建一个对象,售货员,售货员必须有部分手机存量为0   顾客有一个属性,叫做需求,消费能力   售货员根据顾客需求,在数据库中查找相应的手机   并将所有结果返回给顾客,如果找不到指定手机则提示  import sqlite3 con = sqlite3.connect('KU') cursor = con.cursor() cursor.execute('CREATE TABLE IF NOT EXISTS phone_info(paizi text,price int,riqi date,neicun int,gongneng text,huoliang int)') con.commit() class guke(): def __init__(self, xuqiu, nengli): self.xuqiu = xuqiu self.nengli = nengli class xiaoshou(): def __init__(self): pass def search(self,guke): exec1 = 'SELECT * from phone_info WHERE {} and price <= {}'.format(guke.xuqiu,guke.nengli) cursor.execute(exec1) result = cursor.fetchall() if result == []: print('没有该手机') else: for x in result: if x[5] ==0: print('{}该进货了老铁'.format(x[0])) else: print(x) def insert(paizi1,price1,riqi1 ,neicun1,gongneng1,huoliang1): exec2 = 'INSERT INTO phone_info(paizi,price,riqi,neicun,gongneng,huoliang) VALUES("{}",{},"{}",{},"{}",{})'.format(paizi1,price1,riqi1,neicun1,gongneng1,huoliang1) cursor.execute(exec2) con.commit() insert("三星",196,"2017-08-02",2,"老年",120) insert("苹果",366,"2017-02-02",2,"娱乐",620) insert("小米",266,"2017-09-02",3,"娱乐",330) insert("小米",266,"2017-09-02",4,"高端",0) laowang = guke('paizi="vivo"',nengli=880) pangzi = xiaoshou() pangzi.search(laowang)
转载请注明原文地址: https://www.6miu.com/read-2603143.html

最新回复(0)