2.4.4 Python存储之SQLite

SQLite是一个小型的关系型数据库,它最大的特点在于不需要服务器零配置。前面的MySQL需要“安装”,安装之后,才运行起来,其实是已经有一个相应的服务器在跑着呢。而SQLite不需要这样,首先Python已经将相应的驱动模块作为标准库一部分了,只要安装了Python,就可以使用;另外,它也不需要服务器,可以类似操作文件那样来操作SQLite数据库文件。还有一点也不错,SQLite源代码不受版权限制。
SQLite也是一个关系型数据库,所以SQL语句也可以在里面使用。
与操作MySQL数据库类似,对于SQLite数据库也要通过以下几步。
建立连接对象。
连接对象方法:建立游标对象。
游标对象方法:执行sql语句。
1,建立连接对象
由于SQLite数据库的驱动已经在Python里面了,所以,只要引用就可以直接使用。
>>> import sqlite3
>>> conn = sqlite3.connect("D://test.txt")
>>> dir(conn) #查看内建方法
这样就得到了连接对象,在sqlite3.connect("D://test.txt")语句中,如果已经有了那个数据库,就连接上它;如果没有,就新建一个。注意,这里的路径可以随意指定。查看相应位置已经有了文件。
2,游标对象
这个和MySQL一致
>>> cur = conn.cursor() #创建游标对象
>>> dir(cur) #查看内建函数
>>> create_tab = "create table users (id int,name text,age int)" #建表语句
>>> cur.execute(create_tab) #创建表
<sqlite3.Cursor object at 0x02AE8AE0>
>>> cur.execute('insert into users values (1,"zhangsan",18)') #插入数据
<sqlite3.Cursor object at 0x02AE8AE0>
>>> conn.commit() #提交
>>> cur.close() 关闭游标
>>> conn.close() #关闭连接
查询结果
>>> conn = sqlite3.connect("D://test.txt")
>>> cur = conn.cursor()
>>> cur.execute('select * from users')
<sqlite3.Cursor object at 0x031A3720>
>>> print cur.fetchall() #查询所有结果
[(1, u'zhangsan', 18)]
批量插入
>>> sql = [(2,"lisi",20),(3,"wangwu",22),(4,"zhaoliu",25)] #拼装插入的数值
>>> cur.executemany('insert into users values (?,?,?)',sql) #批量运行
<sqlite3.Cursor object at 0x031A3720>
>>> conn.commit() #提交
打印结果:
>>> results = cur.execute('select * from users')
>>> for result in results:
print result

(1, u'zhangsan', 18)
(2, u'lisi', 20)
(3, u'wangwu', 22)
(4, u'zhaoliu', 25)
更新(修改)
>>> cur.execute("update users set name='zhangsan1' where id = 1") #修改
<sqlite3.Cursor object at 0x031A3720>
>>> conn.commit()
>>> cur.execute("select * from users where id = 1")
<sqlite3.Cursor object at 0x031A3720>
>>> cur.fetchone() #打印一条
(1, u'zhangsan1', 18)
删除
>>> cur.execute("delete from users where id = 1")
<sqlite3.Cursor object at 0x031A3720>
>>> conn.commit()
>>> cur.execute("select * from users")
<sqlite3.Cursor object at 0x031A3720>
>>> cur.fetchall()
[(2, u'lisi', 20), (3, u'wangwu', 22), (4, u'zhaoliu', 25)]
基本这些应该够用了。
阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011418530/article/details/79956677
个人分类: Python
所属专栏: 我的Python学习
上一篇2.4.3 Python存储之MySQL
下一篇2.4.5 Python存储之表格
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭