1 SQLite数据库的创建
File—New database,弹出对话框,填写DatabaseFile及DatabaseAlias信息,点击OK按钮即可创建数据库
2 创建表格
右击数据库名字—new Table,弹出对话框,在Table name中填入表的名字,进入字段添加阶段
3 添加字段
单击表格左下方的Add按钮,弹出对话框,填写Name,Type,Size后,单击OK,则完成一个字段的添加。可以继续添加其他字段。
3 SQLite数据类型
与其他关系型数据库有所不同,SQLite的数据是动态型,主要的类型包括:NULL,INTEGER,REAL,TEXT,BLOB
4 SQLite操作
4.1 查询
Select * from 表名
4.2 插入数据
insert into 表名 (列1名,列2名,…) values (值1,值2,…);
注:表名后面的括号,如果所有列都要赋值,可以省略不填写
在SQLite中进行插入操作时,对于整型,其值可不加引号,其它如字符,日期则需要添加
对于SQLite数据库,插入语句后需要添加分号结尾
4.3 修改数据
update 表名 set 列名=value where 条件
4.4 删除数据
delete from 表名 where 条件
5 python中操作SQLite数据库
5.1 操作模块 sqlite3
5.2 关键对象
5.2.1 连接对象
定义:conn=sqlite3.connect(‘数据库文件’)
注:对于增删改的操作,连接对象要进行提交,格式为:
conn.commit()
数据库操作完成后,要关闭连接对象,格式为:
conn.close()
5.2.2 游标:
定义:c=conn.cursor()
游标对象中带有execute()方法,格式为:
result=c.execute(‘SQL语句’,[参数]),其中参数为可选项,如果SQL语句为select语句,则result为一个游标对象,可以遍历,其数据类型为元组。
注:对于增删改操作,要记得对连接对象进行提交操作
游标对象还带有fetchall(),fetchone(),fetchmany(num)等方法,通常与查询方法一起使用,将查询结果以列表方式读取,其中fetchall()获得查询到的所有数据,fetchone()获取查询到的第1条数据,fetchmany(num)则获取查询到的num条数据,使用格式为:
lst=c.fetchall()
lst=c.fetchone()
lst=c.fetchmany(num)
5.3 SQLite中SQL语句的拼接
推荐使用参数化查询方法,避免SQL注入,采用参数化查询需要用到占位符,有?和:
5.3.1 ?占位符
name=(‘Tom’,)
sql=”select * from 表名 where Name=?”
c.fetchone(sql,name)
5.3.2 :占位符
sql=”insert into 表名 values(:name,:id,:birthday)”
c.execute(sql,{‘name’=’Tom’,’id’=13,birthday’=’1984-01-16’})
注:不同数据库类型可能不一样
注:极力不推荐使用python中的字符串拼接方式,比如:
name=’Tom’
sql=”select * from 表名 where Name={}”.format(name)