基础(二十一)
动态类型
NULL 什么都不存
INTEGER 整型
REAL 亲源类型 浮点型
TEXT 包含文本
BLOB 二进制大型对象,是一个可以存储大量数据的容器
SQLite基础操作
增删改查
选择
select * from 表名
插入
insert into 表名 (列1,列2,列3) values (‘字段’,‘字段’,‘字段’)
注:数值型不需要加单引号
更改
update 表明 set 列名 = ‘字段’ where 列名 = ‘字段’
删除
delete from 表名 where 列名 = ‘字段’
python操作:使用内置模块sqlite3
pycharm专业版右侧Database标签->加号Data Source连接数据源 ->Sqlite->寻找数据库文件->test连接成功
可直接进行增删改查操作
连接对象
sqlite3.connet(‘数据文件.db’)
commit()
提交数据库
close()
关闭数据库
游标cursor
execute(‘SQL语句’,[参数])
执行
fetchall()
提取所有
fetchone()
提取一条
fetchmany(记录数)
提取特定条数
参数化查询
目的:避免SQL注入
含义:在sql语句中,某些值需要是变量的时候,使用sql占位符
? 参数传递tuple
:参数名
参数传递字典表
代码
python用写好的sql 进行增删改查
import sqlite3
#选择
conn = sqlite3.connect('try.db')
c = conn.cursor()
sql = "select * from Link"
result = c.execute(sql)
for row in result:
print(row)
#添加
sql = "Insert into Linkvalues('2020','Feb','5')"
c.execute(sql)
conn.commit()
conn.close()
#更改
sql = "UPDATE Link SET DAY=5 WHERE MONTH='Feb'"
c.execute(sql)
conn = sqlite3.connect('try.db')
#删除
sql = "DELETE FROM Link WHERE DAY = 5"
conn = sqlite3.connect('try.db')
c = conn.cursor()
c.execute(sql)
conn.commit()
参数化查询
dayday = 10
sql = "select * from Link where DAY = ?"
c.execute(sql,dayday)
c.fetchone()
sql = "insert inro Link value (:YEAR,:MONTH,:DAY)"
c.execute(sql,{"YEAR":"2020","MONTH":"JAN","DAY":"1st"})