python学习第14天笔记

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 查询

        

扫描二维码关注公众号,回复: 7058589 查看本文章
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)

猜你喜欢

转载自www.cnblogs.com/zhuome/p/11373543.html