首先导入数据库模块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
顾客有一个属性,叫做需求,消费能力
售货员根据顾客需求,在数据库中查找相应的手机
并将所有结果返回给顾客,如果找不到指定手机则提示
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)