创建SQLite数据库文件
# 使用SQLite # 创建一个mrsoft.db的数据库文件,创建一个user表,表中包含id和name两个字段 import sqlite3 #连接到SQLite数据库 #创建数据库文件,若文件不存在,则会自动在同级目录下创建文件 conn = sqlite3.connect('mrsoft.db') #创建一个游标Cursor cursor = conn.cursor() #执行SQL语句,创建表 cursor.execute('create table user(id int(10) primary key,name varchar(20))') #关闭游标 cursor.close() #关闭Connection连接 conn.close()
运行结果
这是因为数据库文件已经存在。
*** 作SQLite
1.新增用户信息 新增信息,使用 insert into 表名(字段名1,字段名2,字段名3,...字段名3) values(字段值1,字段值2,字段值3,...字段值n) 由于是新增数据,所以需要使用commit()方法提交事务。因为对于增加,修改,和删除 *** 作,使用commit()方法提交事务后,如果相应 *** 作失败,可以使用 rollback()回滚到 *** 作之前的状态。
import sqlite3 #连接到SQLite数据库 #创建数据库文件,若文件不存在,则会自动在同级目录下创建文件 conn = sqlite3.connect('mrsoft1.db') #创建一个游标Cursor cursor = conn.cursor() #执行SQL语句,创建表 cursor.execute('create table user(id int(10) primary key,name varchar(20))') cursor.execute('insert into user(id,name) values(001,"张三")') cursor.execute('insert into user(id,name) values(002,"李四")') cursor.execute('insert into user(id,name) values(003,"王二")') #关闭游标 cursor.close() #提交事务 conn.commit() #关闭Connection连接 conn.close() #再次运行,如果出现
再次运行,如果出现则说明插入成功。
2 查询数据 查询数据,使用SQL语句:select 字段名1,字段名2,字段名3... from 表名 where 查询条件 查询数据通常使用如下3种方式: fetchone():获取查询结果集中的下一条记录 fetchmany(size):获取指定数量的数据 fetchall():获取结果集的所有记录
import sqlite3 #连接到SQLite数据库 #创建数据库文件,若文件不存在,则会自动在同级目录下创建文件 conn = sqlite3.connect('mrsoft2.sql') #创建一个游标Cursor cursor = conn.cursor() #执行SQL语句,创建表 cursor.execute('create table user(id int(10) primary key,name varchar(20))') cursor.execute('insert into user(id,name) values(001,"张三")') cursor.execute('insert into user(id,name) values(002,"李四")') cursor.execute('insert into user(id,name) values(003,"王二")') #执行查询语句 cursor.execute('select * from user') #获取查询结果 result1 = cursor.fetchone() print('result1:',result1) #使用fetchone()方法返回结果为为元组 #关闭游标 cursor.close() #提交事务 conn.commit() #关闭Connection连接 conn.close()
运行结果为:
若改为
result2 = cursor.fetchmany(2) print('result2:',result2) #使用fetchmany()结果返回列表,列表元素为元组
则运行结果为:
若改为
result3 = cursor.fetchall() print('result3:',result3) #使用fetchall()结果返回列表,列表结果为元组
则运行结果为:
若改为
#执行查询语句 cursor.execute('select * from user where id >', (1,)) #获取查询结果 result4 = cursor.fetchall() print('result4:',result4) #使用fetchall()结果返回列表,列表结果为元组
相当于
select * from user where id > 1
则运行结果为:
[(2,'李四'),(3,'王二')]
3 修改表数据 修改数据使用SQL语句:update 表名 set 字段名 = 字段值 where 查询条件
import sqlite3 #连接到SQLite数据库 #创建数据库文件,若文件不存在,则会自动在同级目录下创建文件 conn = sqlite3.connect('mrsoft2.sql') #创建一个游标Cursor cursor = conn.cursor() #执行修改语句 cursor.execute('update user set name = ? where id = ?',('小明',1)) #执行查询语句 cursor.execute('select * from user') #获取查询结果 result3 = cursor.fetchall() print('result3:',result3) #使用fetchall()结果返回列表,列表结果为元组 #关闭游标 cursor.close() #提交事务 conn.commit() #关闭Connection连接 conn.close()
结果为:
4 删除表信息 删除表信息使用SQL语句:delete from 表名 where 查询条件
import sqlite3 #连接到SQLite数据库 #创建数据库文件,若文件不存在,则会自动在同级目录下创建文件 conn = sqlite3.connect('mrsoft2.sql') #创建一个游标Cursor cursor = conn.cursor() #执行删除语句 cursor.execute('delete from user where id = ?',(1,)) #执行查询语句 cursor.execute('select * from user') #获取查询结果 result3 = cursor.fetchall() print('删除后的查询结果result3:',result3) #使用fetchall()结果返回列表,列表结果为元组 #关闭游标 cursor.close() #提交事务 conn.commit() #关闭Connection连接 conn.close()
结果为:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)