SQlite数据库(2)_Python教程
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) 关闭连接
大家在使用的过程中通过这个顺序能够保证我们程序的正确性。