先连接数据库文件
进行数据的读取和写入
关闭数据库
connect(): 负责数据库文件连接的一个函数,当要连接的数据库文件不存在的时候,默认会在当前目录下自动创建一个新的数据库文件
connect = sqlite3.connect('database.db')
要操作数据库,先要获取数据库的游标,通过游标操作数据库中表,接着对表进行增删改查
cursor = connect.cursor()
数据库文件连接好了,游标也创建好了,接着可以创建表,并且对表中的数据进行增删改查
创建一张表(通过SQL语句创建一张表)
student:表名
id,name,age,score:表中的字段
INTEGER,TEXT,FLOAT:数据类型
PRIMARY KEY:给id这个字段添加约束,将id这个字段作为主键
主键:主键是唯一的,不允许重复的,主要是给某一条数据设置一个唯一的标识,方便数据的查找和定位
create_table = 'create table student(id INTEGER PRIMARY KEY, name TEXT,age INTEGER ,score FLOAT )'
通过游标执行创建表的SQL语句
cursor.execute(create_table)
向student表中插入name-张三,age-18,score-99.5
insert_sql = 'insert into student(name,age,score) VALUES ("张三",18,99.5)'
cursor.execute(insert_sql)
# 执行提交的操作
connect.commit()
# 关闭游标
cursor.close()
# 关闭数据库
connect.close()
删除student表中 id=1 的数据
delete_sql = 'delete from student WHERE id=1'
cursor.execute(delete_sql)
# 执行提交的操作
connect.commit()
# 关闭游标
cursor.close()
# 关闭数据库
connect.close()
WHERE 后面跟的是筛选的条件
更新 student 表中 id=2 的数据
update_sql = 'update student set name="%s",age="%d",score="%.1f" WHERE id=2' % ('李四', 81, 60.5)
cursor.execute(update_sql)
# 执行提交的操作
connect.commit()
# 关闭游标
cursor.close()
# 关闭数据库
connect.close()
*查询所有数据
select_sql = 'select * from student'
result = cursor.execute(select_sql)
print(result)
fetchone():获取结果集中的一条数据,返回的是一个由字段对应的数据组成的一个元组
select_sql = 'select * from student'
result = cursor.execute(select_sql)
print(result)
# fetchone():获取结果集中的一条数据,返回的是一个由字段对应的数据组成的一个元组
print(result.fetchone())
print(result.fetchone())
print(result.fetchone())
print(result.fetchone())
fetchall():获取结果集中所有的数据,一条数据对应着一个元组,然后再将这些元组嵌套在列表中进行返回
select_sql = 'select * from student'
result = cursor.execute(select_sql)
print(result)
# fetchone():获取结果集中的一条数据,返回的是一个由字段对应的数据组成的一个元组
res = result.fetchall()
for i in res:
print('id是%s' % i[0], end=' ')
print('name是%s' % i[1], end=' ')
print('age是%s' % i[2], end=' ')
print('score是%s' % i[3])