1,Sqlite3 是用C语言写的轻量级的数据库
感觉python一般自带,不需要额外安装
2,创建数据库,创建表,删除表
>>> import sqlite3 #导入模块
>>> con = sqlite3.connect('testdb') #连接数据库,如果没有,则自动在该目录下创建数据库文件
>>> import os
>>> os.getcwd() #查看当前目录
'C:\\Users\\xxx\\AppData\\Local\\Programs\\Python\\Python37-32'
>>> os.listdir() #查看当前目录下的文件和文件夹
[。。。'testdb',。。。]
>>> cursor = con.cursor() #创建游标
>>> cursor.execute("create table student (sno char(10) primary key, sname char(20), sage int);") #创建表student
<sqlite3.Cursor object at 0x041BEEE0>
>>> cursor.execute('drop table student') #删除表student
<sqlite3.Cursor object at 0x041BEE20>
>>>cursor.close() #关闭游标
3,表数据的增删改除
假设表已经建立好,进行表的数据处理
数据插入:
>>> con = sqlite3.connect('testdb') #连接
>>> cur = con.cursor() #游标
>>> cur.execute("insert into student values('0000000001','wang','18')") #插入语句执行
<sqlite3.Cursor object at 0x041BEE20>
>>> cur.execute("insert into student values('0000000002','lisi','20')") #插入语句执行
<sqlite3.Cursor object at 0x041BEE20>
>>> con.commit() #提交
读取所有数据
>>> cur.execute("select * from student")
<sqlite3.Cursor object at 0x041BEE20>
>>> cur.fetchall()
[('0000000001', 'wang', 18), ('0000000002', 'lisi', 20)]
读取一件数据
>>> cur.execute("select * from student")
<sqlite3.Cursor object at 0x041BEE20>
>>> cur.fetchone()
('0000000001', 'wang', 18)
插入多条数据
>>> Svalue = [('0000000003','lisan','19'),('0000000004','liwu','19')]
>>> cur.executemany("insert into student values(?,?,?)", Svalue)
删除数据
>>> cur.execute("delete from student where sno = '0000000001'")
<sqlite3.Cursor object at 0x041BEE20>
>>> for item in cur.execute("select * from student"):
print(item)
('0000000002', 'lisi', 20)
('0000000003', 'lisan', 19)
('0000000004', 'liwu', 19)
更新数据
>>> cur.execute("update student set sage = 20 where sno = '0000000003'")
<sqlite3.Cursor object at 0x041BEE20>
>>> for item in cur.execute("select * from student"):
print(item)
('0000000002', 'lisi', 20)
('0000000003', 'lisan', 20)
('0000000004', 'liwu', 19)
>>> cur.close() #关闭游标
>>> con.close() #关闭连接
补上一个思维导图,sqlite3包含的主要三个类和各种数据库异常