关于SQL与SQLite

2021-12-02 12:50:00 浏览数 (1)

如转发 请标明出处!

SQL是啥?Structured Query Language,看名字就知道它是一种语言了^_^ 直译就是结构化查询语言

SQL是一种数据库查询和程序设计语言,用于存取数据以及查询、更新、管理关系数据库系统。结构化查询语言是高级的、非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式。所以,具有完全不同底层结构的不同数据库系统, 可以使用相同的结构化查询语言作为数据输入与管理的接口

SQL从功能上可以分为三部分

  • 数据定义功能 - 定义数据库的模式结构
  • 数据操纵功能 - 对基本表和视图的数据插入、删除和修改等,特别是具有很强的数据查询功能
  • 数据控制功能 - 主要是对用户的访问权限加以控制,以保证系统的安全性

SQLite,是一款轻型的、遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它的设计目标是嵌入式的,占用资源非常的低,已经应用在很多嵌入式产品中了

ACID,是指数据库管理系统(DBMS)在写入或更新数据的过程中,为保证事务(Transaction)的正确、可靠,必须具备的四个特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation,又称独立性)、持久性(Durability)

从2000年至今,SQLite已经发布了300多个版本,大致如下

https://www.sqlite.org/chronology.html

Version

Date

3.36.0

2021-06-18

3.35.5

2021-04-19

3.35.4

2021-04-02

3.35.3

2021-03-26

3.35.2

2021-03-17

3.35.1

2021-03-15

3.35.0

2021-03-12

3.34.1

2021-01-20

3.34.0

2020-12-01

3.33.0

2020-08-14

3.32.3

2020-06-18

3.32.2

2020-06-04

3.32.1

2020-05-25

3.32.0

2020-05-22

3.0.0

2004-06-18

2.0.0

2001-09-28

1.0

2000-08-17

目前,VxWorks 7里集成了SQLite 3.32.x

写个例子 - sqlite_create.txt:新建一个数据库,创建一个表,添加一条数据,代码如下

代码语言:javascript复制
import sqlite3

#connect to database. create it if not existing
conn = sqlite3.connect('test.db')

#create a cursor
cursor = conn.cursor()

#create a table 'user' including member 'id' and 'name'
cursor.execute('create table user(id varchar(20) primary key, name varchar(20))')

#insert one record
cursor.execute('insert into user (id, name) values ('1', 'VxWorks567')')

#print the row of the record
print("record is insert at row ",cursor.rowcount)

#close the cursor
cursor.close()

#comit the transaction
conn.commit()

#close the connection
conn.close()

执行效果如下

再写一个查询的例子 - sqlite_query.txt

代码语言:javascript复制
import sqlite3
conn = sqlite3.connect('test.db')
cursor = conn.cursor()

#query
cursor.execute('select *from user where id=?', ('1',))

#get the result with featchall
values = cursor.fetchall()

print("get data: ", values)

cursor.close()
conn.close()

执行效果如下

具体怎么操作呢?从这个例子可以看到,SQLite是通过Python嵌入SQL语句来访问的,因此,一个前提就是要知道如何执行Python

然后在VSB中添加组件SQLITE

基于此VSB的VIP中包含组件INCLUDE_SQLITE_SUPPORT

同时,为了存储数据库,还需要一个存储设备。这次,公众号VxWorks567用的是ram disk

当然了,别忘了复制VSB里的Python功能库文件

准备工作做完之后,可以执行了。启动VxWorks,将Python文件复制到ram disk

代码语言:javascript复制
-> cp "file","/ram0/file"

在cmd模式里,依次执行就可以了

代码语言:javascript复制
-> python3 sqlite_create.txt
代码语言:javascript复制
-> python3 sqlite_query.txt

我是泰山 专注VX好多年!

一起学习 共同进步!

0 人点赞