
SQLite
文章平均质量分 52
冷月醉雪
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
SQLite 日期&时间
SQLite支持以下五个日期和时间函数:时间字符串 一个时间字符串可以采用下面任何一种方式:修饰符(Modifier) 时间字符串后边可跟着零个或多个的修饰符,这将改变以上五个函数返回的日期或时间。任何上述五大功能返回时间,修饰符应从左到由使用,下面列出了可以在SQLite中使用的修饰符:NNN days NNN houres NNN minute...原创 2018-02-08 10:01:15 · 2483 阅读 · 0 评论 -
SQLite 常用函数
在我们开始讲解这些函数实例之前,先假设COMPANY表有以下记录ID NAME AGE ADDRESS SALARY---------- ---------- ---------- ---------- ----------1 Paul 32 Californ...原创 2018-02-08 10:00:30 · 826 阅读 · 0 评论 -
SQLite 子查询
子查询或内部查询或嵌套查询是在另一个SQLite查询内嵌入在WHERE子句中的查询。 使用子查询返回的数据将被用在主查询中作为条件,以进一步限制要检索的数据。 子查询可以与SELECT、INSERT、UPDATE和DELETE语句一起使用,可伴随着使用运算符如=、<、>、>=、<=、IN、BETWEEN等。 以下是子查询必须遵循的几个规则:...原创 2018-02-07 09:54:57 · 1773 阅读 · 0 评论 -
SQLite Autoincrement(自动递增)
SQLite的AUTOINCREMENT是一个关键字,用于表中的字段值自动递增。我们可以在创建表时在特定的列表名称上使用AUTOINCREMENT关键字实现该字段值的自动增加。关键字 AUTOINCREMENT只能用于整型(INTEGER)字段。语法CREATE TABLE table_name( column1 INTEGER AUTOINCREMENT, colu...原创 2018-02-07 09:54:13 · 1176 阅读 · 0 评论 -
SQLite 事务(Transaction)
事务(Transactioin)是一个对数据库执行工作单元。事务(Transction)是以逻辑顺序完成的工作单位或序列,可以是由用户手动操作完成,也可以是由某种数据库程序自动完成。 事务是指一个或多个更改数据库的扩展。实际上,你可以把许多的SQLite查询联合成一组,把所有这些放在一起作为事务的一部分进行执行。 事务的属性(ACID) 原子性(Atomicity)...原创 2018-02-07 09:53:49 · 7641 阅读 · 0 评论 -
SQLite 视图
视图(View)只不过是通过相关的名称存储在数据库中的一个SQLite语句。视图(View)实际上是一个以预定义的SQLite查询形式存在的表的组合。 视图(View)可以包含一个表的所有行或从一个或多个表选定行。视图(View)可以从一个或多个表创建,这取决于要创建视图的SQLite查询。 视图(View)是一种虚表,允许用户实现以下几点: ·用户或用户组查找结构...原创 2018-02-07 09:53:06 · 574 阅读 · 0 评论 -
SQLite Limit子句
SQLite的LIMIT子句用于限制由SELECT语句返回的数据数量。语法 带有LIMIT子句的SELECT语句的基本语法如下: SELECT column1, column2, columnN FROM table_nameLIMIT [no of rows] LIMIT子句和OFFSET子句一起使用的语法: SELECT column1,...原创 2018-01-30 12:01:03 · 1014 阅读 · 0 评论 -
SQLite Glob子句
SQLite的GLOB运算符是用来匹配通配符指定模式的文本值。如果搜索表达式与模式表达式匹配,GLOB运算符将返回真(true),也就是1。与LIKE运算符不同的是,GLOB是大小写敏感的,对于下面的通配符,它遵循UNIX的语法。 ·星号(*) ·问号(?) 星号代表零个、一个或多个数组或字符。问号(?)代表一个单一的数字或字符。这些符号可以被组合使用。语...原创 2018-01-30 11:53:14 · 478 阅读 · 0 评论 -
SQLite 触发器
SQLite 触发器(Trigger)是数据库的回调函数,它会在指定的数据库事件发生时自动执行/调用。以下是关于SQLite的触发器的要点:SQLite的触发器可以指定在特定的数据库表发生DELETE、INSERT或UPDATE时触发,或一个或多个指定表的列发生更新时触发。 SQLite只支持FOR EACH ROW 触发器,没有FOR EACH STATEMENT 触发器(Trig...原创 2018-02-06 09:54:42 · 612 阅读 · 0 评论 -
SQLite 索引(Index)
索引(Index)是一种特殊的查找表,数据库搜索引擎用来加快数据检索。简单地说,索引是一个指向表中数据的指针。 索引有助于加快SELECT查询和WHERE子句,但它会减慢使用UPDATE和INSERT语句时的数据输入。索引可以创建或删除,但不会影响数据。 使用CREATE INDEX语句创建索引,它允许命名索引,指定表及要索引的一列或多列,并指示索引是升序排列还是降序排列...原创 2018-02-06 09:52:08 · 3115 阅读 · 0 评论 -
SQLite Indexed By
"INDEXED BY index-name"子句规定必须需要命名的索引来查询前面表中值。 如果索引名index-name不存在或不能用于查询,然后SQLite语句的准备失败。 "NOT INDEXED"子句规定当访问前面(包括由UNIQUE和PRIMARY KEY约束创建的隐式索引)时,没有使用索引。 然而,即使指定了"NOT INDEXED", INTEGE...原创 2018-02-06 09:51:16 · 697 阅读 · 0 评论 -
SQLite ALter 命令
SQLite的ALTER TABLE命令不通过执行一个完整的转储和数据的重载来修改已有的表。你可以使用ALTER TABLE语句重命名表,使用ALTER TABLE语句还可以在已有的表中添加额外的列。 在SQLite中,除了重命名表和在已有的表中添加列,ALTER TABLE命名不支持其他操作。语法 用来重命名已有的表的ALTER TABLE的基本语法如下:A...原创 2018-02-06 09:50:28 · 760 阅读 · 0 评论 -
SQLite Vacuum
VACUUM命令通过复制主数据库中的内容到一个临时数据库文件,然后清空主数据库,并从副本中重新载入原始的数据库文件。这消除了空闲页,把表中的数据排列为连续的,另外会清理数据库文件结构。 如果表中没有明确的整型主键(INTEGER PRIMARY KEY),VACUUM命令可能会改变表中条目的行ID(ROWID). VACUUM命令只适用于主数据库,附加的数据库文件是不可...原创 2018-02-08 10:01:50 · 484 阅读 · 0 评论 -
SQLite Explain(解释)
在SQLite语句之前,可以使用"EXPLAIN"关键字或"EXPLAIN QUERY PLAN"短语,用于描述表的细节。 如果省略了EXPLAIN关键字或短语,任何的修改都会引起SQLite语句的查询行为,并返回有关SQLite语句如何操作的信息。 ·来自EXPLAIN和EXPLAIN QUERY PLAN的输出只用于交互分析和排除故障; ·输出格式的细节可能会随着...原创 2018-02-08 10:02:29 · 1469 阅读 · 4 评论 -
SQLite3的使用(用到了dll)
1.下载sqlite3相关文件sqlite3.dll、sqlite3.h(可从http://download.youkuaiyun.com/detail/mingxia_sui/5249070下载),添加到工程的根目录下。 2. Qt的.pro文件中要加上以下两句。 QT += sql LIBS += sqlite3.dll 这样就可以调用sqlit...原创 2018-06-30 09:13:56 · 7002 阅读 · 0 评论 -
sqlite 查询数据 不用回调
int main( void ){ sqlite3 *db=NULL; char *zErrMsg = 0; int rc; //打开数据库连接 rc = sqlite3_open("zieckey.db", &db); if( rc ) { fprintf(stderr, "Can't open sqlite: %s...原创 2018-06-30 08:49:42 · 849 阅读 · 0 评论 -
SQLite Perl
安装 SQLite3可使用Perl DBI模块与Perl进行集成。Perl DBI 模块是Perl编程语言的数据库访问模块。它定义了一组提供标准库接口的方法、变量以及规则。 下面显示了在Linux/UNIX机器上安装DBI模块的简单步骤:$ wget http://search.cpan.org/CPAN/authors/id/T/TI/TIMB/DBI-1.625.ta...原创 2018-02-08 15:16:57 · 478 阅读 · 0 评论 -
SQLite PHP 接口
PHP 接口 API 连接数据库 <?php class MyDB extends SQLite3 { function __construct() { $this->open('test.db'); } } $db = new MyDB(); if(!$db){ ec...原创 2018-02-08 15:05:21 · 522 阅读 · 0 评论 -
SQLite Java接口
安装 在Java程序中使用SQLite之前,我们需要确保机器上已经有SQLite JDBC Driver驱动程序和Java。在机器上安装SQLite JDBC驱动的步骤如下: ·从sqlite_jdbc库下载sqlite-jdbc-(VERSION).jar的最新版本 ·在你的class路径中添加下载的jar文件sqlit-idbc-(VERSION).jar,或者在-c...原创 2018-02-08 15:00:10 · 943 阅读 · 0 评论 -
SQLite Python接口
Python sqlite3 模块API 序号 API & 描述 1 sqlite3.connect(database [,timeout ,other optional arguments]) 该 API 打开一个到 SQLite 数据库文件 database 的链接。您可以使用 ":memory:" 来在 RAM 中打开一个到 database 的数据库连...原创 2018-02-08 14:44:25 · 406 阅读 · 0 评论 -
SQLite C/C++接口
在C/C++程序中使用SQLite之前,我们需要确保机器上已经有SQLite库。C/C++ 接口API连接数据库 下面的C代码段显示了如何连接到一个现有的数据库。如果数据库不存在,那么它就会被创建,最后将返回一个数据库对象。 #include <stdio.h>#include <sqlite3.h>int main(int arg...原创 2018-02-08 13:52:07 · 319 阅读 · 0 评论 -
SQLite 注入
注入通常在请求用户输入时发生,比如需要用户输入姓名,但用户却输入了一个SQLite语句,而这语句就会在不知不觉中在数据库上运行。 永远不要相信用户提供的数据,所以只处理通过验证的数据,这项规则是通过模式匹配来完成的。下面的实例中,用户名username被限制为字母数字字符或者下划线,长度必须在8到20个字符之间-请根据需要修改这些规则。 if (preg_match("/...原创 2018-02-08 10:03:05 · 767 阅读 · 0 评论 -
SQLite Truncate Table
在SQLite中,并没有TRUNCATE TABLE命令,但可以使用SQLite的DELETE命令从已有的表中删除全部的数据,但是建议使用DROP TABLE命令删除整个表,然后再重新创建一遍。语法 DELETE命令的基本语法如下:sqlite> DELETE FROM table_name; DROP TABLE的基本语法如下:sqlite>...原创 2018-02-06 09:49:24 · 1634 阅读 · 0 评论 -
SQLite LIKE子句
SQLite的LIKE运算符是用来匹配通配符指定模式的文本值。如果搜索表达式与模式表达式匹配,LIKE运算符将返回真(true),也就是1.这里有两个通配符和LIKE运算符一起使用: ·百分号(%) ·下划线(_) 百分号(%)代表零个,一个或多个数字或字符。下划线(_)代表一个单一的数字或字符。这些符号可以被组合使用。语法 %和_的基本语法如下:...原创 2018-01-29 20:11:00 · 2036 阅读 · 1 评论 -
SQLite Delete 语句
SQLite的DELETE查询用于删除表中已有的记录。可以使用带有WHERE子句的DELETE查询来删除选定行,否则所有记录都被删除。语法 DELETE FROM table_nameWHERE [condition]; 你可以使用AND或OR运算符来结合N个数量的条件。 实例 假设COMPANY表有以下记录 ID NAME ...原创 2018-01-29 19:57:02 · 1944 阅读 · 0 评论 -
SQLite Having 子句
HAVING子句允许指定条件来过滤将出现在最终结果中的分组结果。 WHERE子句在所选列上设置条件,而HAVING子句则在GROUP BY子句创建的分组上设置条件。语法 下面是HAVING子句在SELECT查询中的位置:SELECT FROM WHERE GROUP BY HAVING ORDER BY 在一个查询中,HAVING子句必须放在GROUP BY...原创 2018-02-01 17:56:55 · 622 阅读 · 0 评论 -
SQLite 安装
在Windows上安装SQLite 访问SQLite 下载页面,从Windows区下载编译的二进制文件。 您需要下载sqlite-tools-win32-*.zip和sqlite-win32-*.zip压缩文件。 创建文件夹C:\sqlite,并在此文件夹下解压上面两个压缩文件,将得到sqlite3.def,sqlite3.dll 和sqlite3.exe文件。 添加C:\sqlit...原创 2018-01-17 15:59:48 · 735 阅读 · 0 评论 -
SQLite 简介
SQLite是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的SQL数据库引擎。它是一个零配置的数据库,这意味着与其他数据库一样,您不需要在系统中配置。 就像其他数据库,SQLite引擎不是一个独立的进程,可以按应用程序需求进行静态或动态连接。SQLite直接访问其存储文件。SQLite的优点 ·不需要一个单独的服务器进程或操作的系统(无服务器的)。...原创 2018-01-17 15:37:01 · 1007 阅读 · 0 评论 -
SQLite Select 语句
SQLite的SELECT语句用于从SQLite数据库表中获取数据,以结果表的形式返回数据。这些结果表也被称为结果集。语法 SQLite的SELECT语句的基本语法如下: SELECT column1, column2, columnN FROM table_name;SELECT * FROM table_name;实例 假设COMPANY表有以...原创 2018-01-25 12:29:30 · 2362 阅读 · 0 评论 -
SQLite Insert语句
SQLite的INSERT INTO语句用于向数据库的某个表中添加新的数据行。语法 INSERT INTO 语句有两种基本语法,如下所示: INSERT INTO TABLE_NAME [(column1, column2, column3,...columnN)] VALUES (value1, value2, value3,...valueN); 在...原创 2018-01-25 12:10:29 · 4188 阅读 · 0 评论 -
SQLite Group By
SQLite的GROUP BY 子句用于与SELECT语句一起使用,来对相同的数据进行分组。 在SELECT语句中,GROUP BY子句放在WHERE子句之后,放在ORDER BY子句之前。语法 下面给出了GROUP BY子句的基本语法。GROUP BY子句必须放在WHERE子句中的条件之后,必须放在 ORDER BY子句之前。 SELECT column-li...原创 2018-01-31 17:09:46 · 1057 阅读 · 0 评论 -
SQLite Order By
SQLite的ORDER BY子句是用来基于一个或多个列按升序或降序排列数据。语法 ORDER BY 子句的基本语法如下: SELECT column-list FROM table_name [WHERE condition] [ORDER BY column1, column2, .. columnN] [ASC | DESC]; 你可以在ORDER ...原创 2018-01-31 16:49:27 · 660 阅读 · 0 评论 -
SQLite 删除表
SQLite的DROP TABLE语句用来删除表定义及其所有相关数据、索引、触发器、约束和该表的权限规范。语法 DROP TABLE 语句的基本语法如下。您可以选择指定带有表名的数据库名称,如下所示: DROP TABLE database_name.table_name;实例 让我们先确认COMPANY表已经存在,然后我们将其从数据库中删除。 ...原创 2018-01-24 13:24:32 · 2100 阅读 · 0 评论 -
SQLite 创建表
SQLite的CREATE TABLE 语句用于在任何给定的数据库创建一个新表。创建基本表,涉及到命名表、定义列及每一列的数据类型。语法 CREATE TABLE 语句的基本语法如下: CREATE TABLE database_name.table_name( column1 datatype PRIMARY KEY(one or more columns),...原创 2018-01-24 13:14:27 · 7796 阅读 · 0 评论 -
SQLite 分离数据库
SQLite的DETACH DATABASE 语句是用来把命名数据库从一个数据库连接分离和游离出来,连接是之前使用ATTACH语句附加的。如果同一个数据库文件已经被附加上了多个别名,DETACH命令将只断开给定名称的连接,而其余的仍然有效。无法分离main或temp数据库。语法 SQLite的DETACH DATABASE 'Alias-Name'语句的基本语法如下:DETAC原创 2018-01-23 19:07:33 · 527 阅读 · 0 评论 -
SQLite 附加数据库
假设这样一种情况,当在同一时间有多个数据库可用,你想使用其中的任何一个。SQLite的ATTACH DATABASE语句是用来选择一个特定的数据库,使用该命令后,所有的SQLite语句将在附加的数据库下执行。语法 SQLite的ATTACH DATABASE语句的基本语法如下: ATTACH DATABASE 'DatabaseName' As 'Alias-Name'...原创 2018-01-23 18:57:23 · 973 阅读 · 0 评论 -
SQLite 创建数据库
SQLite的sqlite3命令被用来创建新的SQLite数据库。你不需要任何特殊的权限即可创建一个数据库。语法 sqlite3命令的基本语法如下: $sqlite3 DatabaseName.db 通常情况下,数据库名称在RDBMS内应该是唯一的。 实例 创建一个名为testDB.db的数据库,SQLITE3语句如下所示: ...原创 2018-01-23 10:43:28 · 2799 阅读 · 0 评论 -
SQLite Distinct关键字
SQLite的DISTINCT关键字与SELECT语句一起使用,来消除所有重复的记录,并只获取唯一一次记录。 有可能出现一种情况,在一个表中有个多个重复的记录。当提取这样的记录时,DISTINCT关键字就显得特别有意义,它之获取唯一一次记录,而不是获取重复记录。语法 用于消除重复记录的DISTINCT关键字的基本语法如下:SELECT DISTINCT column...原创 2018-02-01 18:31:48 · 1091 阅读 · 0 评论 -
SQLite 表达式
语法 SELECT语句的基本语法如下: SELECT column1, column2, columnN FROM table_name WHERE [CONDITION | EXPRESSION]; 有不同类型的SQLite表达式,具体讲解如下: SQLite-布尔表达式 SQLite的布尔表达式在匹配单个值的基础上获取数据。语法如下: S...原创 2018-01-26 09:54:41 · 472 阅读 · 0 评论 -
SQLite 别名
使用表别名是指在一个特定的SQLite语句中重命名表。重命名是临时的改变,在数据库中实际的表的名称不会改变。 列别名用来为某个特定的SQLite语句重命名表中的列。 语法 表别名的基本语法如下:SELECT column1, column2....FROM table_name AS alias_nameWHERE [condition]; 列别...原创 2018-02-04 11:40:53 · 1226 阅读 · 0 评论