前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >关于SQL与SQLite

关于SQL与SQLite

作者头像
Taishan3721
发布2021-12-02 12:50:00
7360
发布2021-12-02 12:50:00
举报
文章被收录于专栏:这里只有VxWorks这里只有VxWorks

如转发 请标明出处!

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好多年!

一起学习 共同进步!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-11-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 这里只有VxWorks 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库智能管家 DBbrain
数据库智能管家(TencentDB for DBbrain,DBbrain)是腾讯云推出的一款为用户提供数据库性能、安全、管理等功能的数据库自治云服务。DBbrain 利用机器学习、大数据手段、专家经验引擎快速复制资深数据库管理员的成熟经验,将大量传统人工的数据库运维工作智能化,服务于云上和云下企业,有效保障数据库服务的安全、稳定及高效运行。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档