易语言外部数据库sqlite3教程
===========================================================
第一部分  sqlite基础
-----------------------------------------------------------
1、什么sqliet
SQLite是一个软件库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite是一个增长最快的数据库引擎,这是在普及方面的增长,与它的尺寸大小无关。SQLite 源代码不受版权限制。
SQLite与其他SQL数据库不同,SQLite没有单独的服务器进程。 它直接读取和写入普通磁盘文件。 具有多个表,索引,触发器和视图的完整SQL数据库包含在单个磁盘文件中。
-----------------------------------------------------------
2、为什么要用 SQLite?
不需要一个单独的服务器进程或操作的系统(无服务器的)。
SQLite 不需要配置,这意味着不需要安装或管理。
一个完整的 SQLite 数据库是存储在一个单一的跨平台的磁盘文件。
SQLite 是非常小的,是轻量级的,完全配置时小于 400KiB,省略可选功能配置时小于250KiB。
SQLite 是自给自足的,这意味着不需要任何外部的依赖。
SQLite 事务是完全兼容 ACID 的,允许从多个进程或线程安全访问。
SQLite 支持 SQL92(SQL2)标准的大多数查询语言的功能。
SQLite 使用 ANSI-C 编写的,并提供了简单和易于使用的 API。
SQLite 可在 UNIX(Linux, Mac OS-X, Android, iOS)和 Windows(Win32, WinCE, WinRT)中运行。
-
----------------------------------------------------------
3常用语言单机、免费、轻量级数据库比较
语言自带数据库易数据库可以说不能称为数据库,只是“表”,而且还是单所以直接PASS掉。
大部人会用access,其实Access数据库本身有很多的问题:性能不行;数据不安全,用户可以直接用Access打开数据库文件进行数据修改,即使加密后都可以直接破解;Access的数据量一大,文件本身的体积就异常庞大等因素。
SQLite是一个小型的C程序库,实现了独立的,可嵌入的,零配置的SQL数据库引擎。
SQLite就是Access理想的替代品。
-----------------------------------------------------------
4、sqlite3数据类型
SQLite存储类比数据类型更通用一些。类型其他数据库的数据类型少,但是更实用些。
SQLite 存储类
每个存储在 SQLite 数据库中的值都具有以下存储类之一:
存储类
描述
NULL
值是一个 NULL 值。
INTEGER
整数型)
值是一个带符号的整数,根据值的大小存储在 1、2、3、4、6 或 8 字节中。
REAL
值是一个浮点值,存储为 8 字节的 IEEE 浮点数字。
近似双精度浮点型
TEXT
文本型
值是一个文本字符串,使用数据库编码(UTF-8、UTF-16BE 或 UTF-16LE)存储。
BLOB二进制
值是一个 blob 数据,完全根据它的输入存储。
SQLite 的存储类稍微比数据类型更普遍。INTEGER 存储类,例如,包含 6 种不同的不同长度的整数数据类型。
SQLite 亲和(Affinity)类型(近似
SQLite支持列的亲和类型概念。任何列仍然可以存储任何类型的数据,当数据插入时,该字段的数据将会优先采用亲缘类型作为该值的存储方式。SQLite目前的版本支持以下五种亲缘类型:
亲和类型
描述
TEXT
数值型数据在被插入之前,需要先被转换为文本格式,之后再插入到目标字段中。此列可使用存储类为NULLTEXTBLOB来存储所有数据。
NUMERIC
数字、数值
当文本数据被插入到亲缘性为NUMERIC的字段中时,如果转换操作不会导致数据信息丢失以及完全可逆,那么SQLite就会将该文本数据转换为INTEGER或REAL类型的数据,如果转换失败,SQLite仍会以TEXT方式存储该数据。对于NULL或BLOB类型的新数据,SQLite将不做任何转换,直接以NULL或BLOB的方式存储该数据。需要额外说明的是,对于浮点格式的常量文本,如"30000.0",如果该值可以转换为INTEGER同时又不会丢失数值信息,那么SQLite就会将其转换为INTEGER的存储方式。此列可包含使用所有五个存储类的值。就是可以存面所列的五种类型。
INTEGER
整数型
对于亲缘类型为INTEGER的字段,其规则等同于NUMERIC,唯一差别是在执行CAST表达式时。它的行为与带有转换表达式异常的具有数字近似的列相同。
REAL
其规则基本等同于NUMERIC,唯一的差别是不会将"30000.0"这样的文本数据转换为INTEGER存储方式。它的行为类似于具有数字近似的列(除了它将整数值强制以浮点表示)
NONE
不做任何的转换,直接以该数据所属的数据类型进行存储。 具有近似性NONE的列不会将一个存储类转为另一个存储类型 
SQLite近似和类型名称
以下是可以在创建SQLite表时使用的各种数据类型名称的列表。
易语言教程2020
数据类型
相应的近似类型
INT  INTEGER    TINYINT    SMALLINT    MEDIUMINT  BIGINT UNSIGNED BIG INT    INT2    INT8
INTEGER
CHARACTER(20) VARCHAR(255) VARYING CHARACTER(255) NCHAR(55) NATIVE CHARACTER(70) NVARCHAR(100) TEXT CLOB
TEXT
BLOB - 未指定数据类型
NONE
REAL DOUBLE DOUBLE PRECISION FLOAT
REAL
NUMERIC DECIMAL(10,5) BOOLEAN DATE DATETIME
NUMERIC
日期和时间数据类型
在SQLite中,没有单独的类型来存储日期和时间。 但是可以将日期和时间存储为TEXT,REAL或INTEGER值。
存储类
日期格式
TEXT
它以“yyyy-mm-dd hh:mm:ss.sss” 格式指定日期
REAL
它规定了从公元前4714年11月24日在格林威治中午以后的天数。
INTEGER
它指定从1970-01-01 00:00:00 utc开始的秒数。
:易语言基本数据类型
  基本数据类型有6种:数值型、逻辑型、日期时间型、文本型、字节集型、子程序指针型。
数值型又包括:字节型、短整数型、整数型、长整数型、小数型、双精度小数型。
-----------------------------------------------------------
5、sqlite命令大全
SQLite命令与SQL命令类似。 有三种类型的SQLite命令:
DDL数据定义语言
数据定义语言中主要有三个命令:
•    CREATE建表,数据库中的表或其他对象的视图。
•    ALTER:此命令用于修改现有的数据库对象,如表。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。