sqlite 2.5之后都有了内置的嵌入式sqlite数据库
python代码如下,注释写的很清楚,可以直接粘贴复制以下去执行
如果想要看更加详细的介绍,建议看一下大佬的文章,简洁明了,值得学习
浅谈Python自带数据库SQLite3模块的使用(全面详细)
# coding=utf-8
import sqlite3
# 建立数据库
# 在项目文件中建立
conn = sqlite3.connect("Test.db")
# 在硬盘上建立
# conn = sqlite3.connect("E:\Test.db")
# 在内存上建立,不用commit
# conn = sqlite3.connect("memory")
# 创建游标
cur = conn.cursor()
# 执行sql语句
# CREATE TABLE IF NOT EXISTS test(id INTEGER PRIMARY KEY,name TEXT,age INTEGER)
cur.execute("create table if not exists test(id integer primary key,name text,age integer)")
cur.execute("insert into test values (?,?,?)",(1,"william_x_f_wang",22))
# 不commit是不会进行存入的
conn.commit()
cur.execute("select * from test")
for item in cur:
print item
# 三种方式
# cur.execute("insert into test values (%s)"%data)
# cur.execute("insert into test values (?,?,?)",(1,"william_x_f_wang",22))
# cur.execute("insert into test values (?,?,?)",[(1,"william_x_f_wang",22),(2,"william_x_f_wang_2",22)])
执行结果
sqlite好像注入攻击解决起来挺简单的,因为这个原因
you can only execute one statement at a time
一次性只能写入一条语句,所以别人加条语句,也是会报错,无法执行的
或者你会问,如果去除的为空,怎么判断呢?
cur.fetchall()
方法返回的是取出的数据长度,类型是列表