PYTHON数据库管理:SQlite数据库(查看、修改、删除)

1. 查看数据

查看表中的数据使select语句,它的语法格式为:

1
cursor = con.execute("select 字段1,字段2...(id,name...). from 表名(user) where 查询条件")

我们在查询数据的时候可以通过多种方式:

1) 使用fetchone()方法来查询结果中的下一条信息

2) 使用fetchmany(size)方法来获取size数量的记录

3) 使用fetchall()方法来查看所有记录

代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import sqlite3
con = sqlite3.connect('test.db')
cursor =  con.cursor()
cursor.execute('select * from user')
print('第一种方式:')
print(cursor.fetchone())
print(cursor.fetchone())
print(cursor.fetchone())
print('第二种方式:')
print(cursor.fetchmany(2))
print('第三种方式:')
print(cursor.fetchall())
cursor.close()
con.commit()
con.close()

注意使用每一种方式的时候把其它两种方式删除掉,输出结果为:

1
2
3
4
5
6
7
 第一种方式:
 (1001'李华'21)
 (1002'小明'20)
 (1003'小张'21)
 第二种方式:
 [(1001'李华'21), (1002'小明'20)]
 第三种方式:[(1001'李华'21), (1002'小明'20), (1003'小张'21)]

第一种方式是依次查询,第二种方式指定了查询数量为2,第三种方式为全部查询。

下面我们再介绍一种方式:

1
2
3
4
5
6
7
8
9
import sqlite3
con = sqlite3.connect('test.db')
cursor =  con.cursor()
cursor.execute('select * from user')
for row in cursor:
   print ("id = ", row[0],"name = ", row[1],"age = ", row[2])
cursor.close()
con.commit()
con.close()

输出结果为:

1
2
3
id =  1001 name =  李华 age =  21
id =  1002 name =  小明 age =  20
id =  1003 name =  小张 age =  21

这种方式我们可以通过索引获得每个元素对应的值。

2. 修改数据

修改数据使用update方法,语法格式为:

1
con.execute("update 表名(user) set 字段名(age) = 字段值(21) where 查询条件(id=1002)")

我们通过下面代码来看一下:

1
2
3
4
5
6
7
8
9
import sqlite3
con = sqlite3.connect('test.db')
cursor =  con.cursor()
cursor.execute('select * from user')
for row in cursor:
   print ("id = ", row[0],"name = ", row[1],"age = ", row[2])
cursor.close()
con.commit()
con.close()

输出结果为:

1
2
3
id =  1001 name =  李华 age =  21
id =  1002 name =  小明 age =  20
id =  1003 name =  小张 age =  21

我们可以通过输出结果看出数据已经被修改。

3. 删除数据

删除数据的方式为:

1
con.execute("delete from 表名(user) where 条件(id = 1002)")

我们通过代码看一下:

1
2
3
4
5
6
7
8
9
10
import sqlite3
con = sqlite3.connect('test.db')
cursor =  con.cursor()
con.execute("delete from user where id = 1002;")
cursor.execute('select * from user')
for row in cursor:
   print ("id = ", row[0],"name = ", row[1],"age = ", row[2])
cursor.close()
con.commit()
con.close()

输出结果为:

1
2
id =  1001 name =  李华 age =  21
id =  1003 name =  小张 age =  21

可以看出id为1002的数据已经被删除。

4. 总结

通过这两节的学习,我们来回顾一下操作流程:

1) 首先要连接到数据库文件

2) 然后创建一个游标来进行相关操作

3) 如果是增加数据一定要注意主键的唯一性,不能插入相同的主键信息

4) 如果是删除数据时,在选择条件的时候,会删除满足条件的所有项

5) 查看数据的时候有多种方式可选择

6) 关闭游标

7) 提交事务

8) 关闭连接

大家在使用的过程中通过这个顺序能够保证我们程序的正确性。

THE END