如转发 请标明出处!
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好多年!
一起学习 共同进步!