
Sqlite3(小型关系型数据库)官方版
详情介绍
开发软件的用户对于数据库都不会陌生,这款sqlite3官方版就是一款小巧切好用的关系型数据库,也是一款能够代替MySql的数据库,目前已经绑定到了PHP5.0上,就像我们的ASP和access结合一样。如果你是一位网页PHP开发人员,那么这个sqlite3就是你必须掌握使用的东西,并且这款软件的设计目标是嵌入式的设计,所以目前已经有很多嵌入式产品在使用这个数据库,而且由于软件的资源占用非常低,所以诸多嵌入设备都开始使用这个数据库来存储数据,让我们的嵌入式设备有更多的资源运行。
sqlite3是目前世界最棒的小型数据库,大名鼎鼎的浏览器Firefox就是使用这个数据库,所以大家可不要小看这个数据库的潜力,而且还能够和众多的程序语言相结合,比如Tcl、PHP、JAVA等等。
sqlite3官方版操作入门
sqlite提供的是一些C函数接口,你可以用这些函数操作数据库。通过使用这些接口,传递一些标准 sql 语句(以 char * 类型)给 sqlite 函数,sqlite 就会为你操作数据库。
sqlite 跟MS的access一样是文件型数据库,就是说,一个数据库就是一个文件,此数据库里可以建立很多的表,可以建立索引、触发器等等,但是,它实际上得到的就是一个文件。备份这个文件就备份了整个数据库。
sqlite 不需要任何数据库引擎,这意味着如果你需要 sqlite 来保存一些用户数据,甚至都不需要安装数据库(如果你做个小软件还要求人家必须装了sqlserver 才能运行,那也太黑心了)。
常用SQL语句
创建表: create table 表名(元素名 类型,…);
删除表: drop table 表名;
插入数据: insert into 表名 values(, , ,) ;
创建索引: create [unique] index 索引名on 表名(col….);
删除索引: drop index 索引名(索引是不可更改的,想更改必须删除重新建)
删除数据: delete from 表名;
更新数据: update 表名 set 字段=’修改后的内容’ where 条件;
增加一个列: Alter table 表名 add column 字段 数据类型;
选择查询: select 字段(以”,”隔开) from 表名 where 条件;
日期和时间: Select datetime('now')
日期: select date('now');
时间: select time('now');
总数:select count(*) from table1;
求和:select sum(field1) from table1;
平均:select avg(field1) from table1;
最大:select max(field1) from table1;
最小:select min(field1) from table1;
排序:select 字段 from table1 order by 字段(desc或asc) ;(降序或升序)
分组:select 字段 from table1 group by 字段,字段… ;
限制输出:select 字段 from table1 limit x offset y;
= select 字段 from table1 limit y , x;
(备注:跳过y行,取x行数据)
(操作仍待完善)…
支持的数据类型介绍
NULL 值为NULL
INTEGER 值为带符号的整型,根据类别用1,2,3,4,6,8字节存储
REAL 值为浮点型,8字节存储
TEXT 值为text字符串,使用数据库编码(UTF-8, UTF-16BE or UTF-16-LE)存储
BLOB 值为二进制数据,具体看实际输入
但实际上,sqlite3也接受如下的数据类型:
smallint 16 位元的整数
interger 32 位元的整数
decimal(p,s) p 精确值和 s 大小的十进位整数,精确值p是指全部有几个数(digits)大小值 ,s是指小数点後有几位数。如果没有特别指定,则系统会设为 p=5; s=0 。
float 32位元的实数。
double 64位元的实数。
char(n) n 长度的字串,n不能超过 254。
varchar(n) 长度不固定且其最大长度为 n 的字串,n不能超过 4000。
graphic(n) 和 char(n) 一样,不过其单位是两个字元 double-bytes, n不能超过127。这个形态是为了支援两个字元长度的字体,例如中文字。
vargraphic(n) 可变长度且其最大长度为 n 的双字元字串,n不能超过 2000。
date 包含了 年份、月份、日期。
time 包含了 小时、分钟、秒。
timestamp 包含了 年、月、日、时、分、秒、千分之一秒。
如果将声明表的一列设置为 INTEGER PRIMARY KEY,则具有:
1.每当你在该列上插入一NULL值时, NULL自动被转换为一个比该列中最大值大1的一个整数;
2.如果表是空的, 将会是1;
算术函数
abs(X)返回给定数字表达式的绝对值。
max(X,Y[,...])返回表达式的最大值。
min(X,Y[,...])返回表达式的最小值。
random(*)返回随机数。
round(X[,Y])返回数字表达式并四舍五入为指定的长度或精度。
字符处理函数
length(X)返回给定字符串表达式的字符个数。
lower(X)将大写字符数据转换为小写字符数据后返回字符表达式。
upper(X)返回将小写字符数据转换为大写的字符表达式。
substr(X,Y,Z)返回表达式的一部分。
randstr()
quote(A)
like(A,B)
确定给定的字符串是否与指定的模式匹配。
glob(A,B)
条件判断函数
coalesce(X,Y[,...])
ifnull(X,Y)
nullif(X,Y)
集合函数
avg(X)返回组中值的平均值。
count(X)返回组中项目的数量。
max(X)返回组中值的最大值。
min(X)返回组中值的最小值。
sum(X)返回表达式中所有值的和。
其他函数
typeof(X)返回数据的类型。
last_insert_rowid()返回最后插入的数据的 ID 。
sqlite_version(*)返回 SQLite 的版本。
change_count()返回受上一语句影响的行数。
last_statement_change_count()
二.有关事务的操作
(成批操作的时候,启动事务,比不启动事务快n倍)
开始事物处理
BEGIN TRANSACTION;
…………..
进行对数据库操作
…………..
事物提交
COMMIT;
具体事例如下:
假设有一个 t1 表,其中有 "a", "b", "c" 三列, 如果要删除列 c ,以下过程描述如何做:
BEGIN TRANSACTION;
CREATE TEMPORARY TABLE t1_backup(a,b);
INSERT INTO t1_backup SELECT a,b FROM t1;
DROP TABLE t1;
CREATE TABLE t1(a,b);
INSERT INTO t1 SELECT a,b FROM t1_backup;
DROP TABLE t1_backup;
COMMIT;
更新日志
v3.50.4版本
1、修复在模糊情况下使用未初始化变量的两个长期案例。
同类软件

sqlitestudio(数据库管理工具) v3.4.18
Navicat for Oracle(Oracle数据库管理工具) v17.3.7
Advanced ETL Processor(数据库浏览器) v6.4.5.20
DBTools Manager(数据库管理工具) v3.4.7官方版
SysTools SQL Recovery(SQL数据库恢复工具) v13.5
Oracle SQL Developer(oracle数据库开发工具) v23.1.1
sybase central(sybase数据库连接工具) v6.0
dbForge Studio for MySQL v10.0官方版
网友评论
共0条评论类似软件
-
sql server 2000个人版 数据库类 / 535.39M
-
MySQL数据库 64位安装版 v8.0.32官方版 数据库类 / 223.65M
-
sybase sql anywhere(数据库管理工具) v5.0官方版 数据库类 / 14.03M
-
postgresql(数据库软件) v18.1官方版 数据库类 / 348.65M
-
visual foxpro 7.0 数据库类 / 18.88M
精彩推荐
换一换本类更新
-
exportizer pro中文版 v8.3.8 数据库类 / 6.2M
查看 -
sql monitor(sql语句追踪工具)中文版 v2.5.0.1绿色版 数据库类 / 1.49M
查看
































赣公网安备 36010602000087号