SQLite教程

SQLite简介

SQLite是一种嵌入式数据库,它的数据库就是一个文件。由于SQLite本身是C写的,而且体积很小,所以,经常被集成到各种应用程序中,我们平时所使用的IOS和Android手机内部都使用到了SQLite。

Python就内置了SQLite3,所以,在Python中使用SQLite,不需要安装任何东西,直接使用。

由于SQLite和MySQL一样,都是使用SQL语言,所以我们可以很轻松的学会SQLite,但是这里面还有一些小差异是我们需要掌握的!

MySQL是在web世界中使用最为广泛的数据库,能够承受高并发访问,同时占用的内存资源远远高于SQLite.而SQLite是轻量级的,不能承受高并发访问,所以通常在嵌入式设备内部使用比较多!

数据库操作:

创建数据库

SQLite的数据库其实就是一个文件,通常我们使用.db作为这个文件的后缀名.

我们只需要使用如下代码即可轻松创建数据库:

1
2
3
import sqlite3

conn = sqlite3.connect("test.db")

test.db文件不存在,则会创建

test.db已经存在,则直接使用这个文件

删除数据库

由于在SQLite中,一个数据库就是一个文件,所以要删除某个数据库,我们只需要删除这个文件就好啦!

1
2
import os 
os.remove("test.db")

表操作

创建表

正如文章开头所描述,SQLite和MySQL一样遵守SQL标准,所以创建表的语法基本上和MySQL一样. 但是这里面也有些不一样的地方

  • 创建的语法
1
2
3
4
5
6
7
8
create table 表名(
    列名 列到类型 约束,
    列名 列的类型 约束
)

-- 这里需要注意
-- 1.数字类型 : integer
-- 2.表的自增属性: autoincrement 中间没有下划线_
  • 示例代码
1
2
3
4
5
6
7
8
sql = """create table stu(
            id integer primary key autoincrement,
            name varchar(20),
            age integer,
            salary double
           )
       """
cursor.execute(sql)

删除表

删除表的操作和mysql一样

1
2
3
conn = sqlite3.connect("test.db")
cursor = conn.cursor()
cursor.execute("drop table stu")

数据操作

插入

插入数据: 注意sqlite中需要使用 ?作为占位符, 并且数据得修改需要commit才能持久保存到数据库中

1
2
3
 sql = "insert into stu(name,age,salary) values(?,?,?)"
    cursor.execute(sql,["张三",18,20.12])
    conn.commit()

修改

修改数据

1
2
3
sql = "update stu set name=? where id=?";
    cursor.execute(sql,["老三",1])
    conn.commit()

删除

删除数据

1
2
3
sql = "delete from stu where id = ?";
    cursor.execute(sql,[1])
    conn.commit()