sqlite3学习记录
为了咱们rails框架的结合,所以咱们额外扩展了这个栏目,声明下,本专栏只是一个有关sqlite的相关知识点的一些记录,各位看着有用就收藏关注下,其他的呢,就算了吧。。。
luyaran
像永远快乐的阳光,追求那至高无上的完美乐园。
展开
-
sqlite3学习之PHP连接(增删改查)
自 PHP 5.3.0 起默认启用 SQLite3 扩展,我们也可以在编译时使用 --without-sqlite3 禁用 SQLite3 扩展,Windows 用户必须启用 php_sqlite3.dll 才能使用该扩展,同样,自 PHP 5.3.0 起,这个 DLL 被包含在 PHP 的 Windows 分发版中,我们来看下PHP中可以操作sqlite3的一些API,如下:序号 AP...原创 2019-01-14 09:53:56 · 6462 阅读 · 1 评论 -
sqlite3学习之常用的内置函数的使用
SQLite 有许多内置函数用于处理字符串或数字数据,且所有函数都是大小写不敏感,我们来简单看一下常用的内置函数:序号 函数 & 描述 1 SQLite COUNT 函数 SQLite COUNT 聚集函数是用来计算一个数据库表中的行数。 2 SQLite MAX 函数 SQLite MAX 聚合函数允许我们选择某列的最大值。 3 SQL...原创 2019-01-14 09:25:42 · 1674 阅读 · 0 评论 -
sqlite3学习之VACUUM 命令&日期 & 时间
VACUUM 命令通过复制主数据库中的内容到一个临时数据库文件,然后清空主数据库,并从副本中重新载入原始的数据库文件。这消除了空闲页,把表中的数据排列为连续的,另外会清理数据库文件结构。如果表中没有明确的整型主键(INTEGER PRIMARY KEY),VACUUM 命令可能会改变表中条目的行 ID(ROWID)。VACUUM 命令只适用于主数据库,附加的数据库文件是不可能使用 VACUUM 命...原创 2019-01-11 17:52:29 · 1613 阅读 · 0 评论 -
sqlite3学习之Autoincrement(自动递增)&sql注入&Explain(解释)的使用
SQLite 的 AUTOINCREMENT 是一个关键字,用于表中的字段值自动递增。我们可以在创建表时在特定的列名称上使用 AUTOINCREMENT 关键字实现该字段值的自动增加,关键字 AUTOINCREMENT 只能用于整型(INTEGER)字段,来看下AUTOINCREMENT 关键字的基本用法:CREATE TABLE table_name( column1 INTEGER...原创 2019-01-11 17:41:56 · 2797 阅读 · 0 评论 -
sqlite3学习之视图&事务&子查询
视图(View)只不过是通过相关的名称存储在数据库中的一个 SQLite 语句。视图(View)实际上是一个以预定义的 SQLite 查询形式存在的表的组合,它可以包含一个表的所有行或从一个或多个表选定行。视图(View)可以从一个或多个表创建,这取决于要创建视图的 SQLite 查询,它也是一种虚表,允许用户实现以下几点: 用户或用户组查找结构数据的方式更自然或直观。 限制数据访...原创 2019-01-11 16:48:50 · 1485 阅读 · 0 评论 -
sqlite3学习之索引(Index)的使用&Indexed By子句&Alter 命令
索引(Index)是一种特殊的查找表,数据库搜索引擎用来加快数据检索。简单地说,索引是一个指向表中数据的指针。一个数据库中的索引与一本书后边的索引是非常相似的。例如,如果我们想在一本讨论某个话题的书中引用所有页面,我们首先需要指向索引,索引按字母顺序列出了所有主题,然后指向一个或多个特定的页码。索引有助于加快 SELECT 查询和 WHERE 子句,但它会减慢使用 UPDATE 和 INSERT ...原创 2019-01-11 16:17:57 · 17399 阅读 · 2 评论 -
sqlite3学习之触发器(Trigger)的定义和使用
SQLite 触发器(Trigger)是数据库的回调函数,它会在指定的数据库事件发生时自动执行/调用,我们来看下关于 SQLite 的触发器(Trigger)的要点: SQLite 的触发器(Trigger)可以指定在特定的数据库表发生 DELETE、INSERT 或 UPDATE 时触发,或在一个或多个指定表的列发生更新时触发。 SQLite 只支持 FOR EACH ROW 触...原创 2019-01-11 15:10:31 · 4327 阅读 · 1 评论 -
sqlite3学习之Join 子句&UNION 子句&NULL 值&别名(表或列的重命名)
SQLite 的 Join 子句用于结合两个或多个数据库中表的记录,它是是一种通过共同值来结合两个表中字段的手段,SQL 定义了三种主要类型的连接,如下: 交叉连接 - CROSS JOIN 内连接 - INNER JOIN 外连接 - OUTER JOIN 我们先来假设有两个表 COMPANY 和 DEPARTMENT,再来假设 COMPANY 表的记录列表如下 :...原创 2019-01-11 13:40:30 · 1294 阅读 · 0 评论 -
sqlite3学习之表约束的使用
约束是在表的数据列上强制执行的规则。这些是用来限制可以插入到表中的数据类型,确保了数据库中数据的准确性和可靠性。约束可以是列级或表级。列级约束仅适用于列,表级约束被应用到整个表。下面来看下在 SQLite 中常用的约束: NOT NULL 约束:确保某列不能有 NULL 值。 DEFAULT 约束:当某列没有指定值时,为该列提供默认值。 UNIQUE 约束:确保某列中的所...原创 2019-01-11 13:13:30 · 766 阅读 · 0 评论 -
sqlite3学习之PRAGMA 命令的使用
SQLite 的 PRAGMA 命令是一个特殊的命令,可以用在 SQLite 环境内控制各种环境变量和状态标志。一个 PRAGMA 值可以被读取,也可以根据需求进行设置,如果我们要查询当前的 PRAGMA 值,只需要提供该 pragma 的名字,如下:PRAGMA pragma_name;为 PRAGMA 设置一个新的值,语法如下:PRAGMA pragma_name = valu...原创 2019-01-11 11:00:28 · 2855 阅读 · 1 评论 -
sqlite3学习之Having 子句&Distinct 关键字
HAVING 子句允许指定条件来过滤将出现在最终结果中的分组结果,也就是说,WHERE 子句在所选列上设置条件,而 HAVING 子句则在由 GROUP BY 子句创建的分组上设置条件,来看下 HAVING 子句在 SELECT 查询中的位置:SELECTFROMWHEREGROUP BYHAVINGORDER BY在一个查询中,HAVING 子句必须放在 GROUP BY 子...原创 2019-01-11 09:33:10 · 744 阅读 · 0 评论 -
sqlite3学习之Limit 子句&ORDER BY 子句& GROUP BY 子句
SQLite 的 LIMIT 子句用于限制由 SELECT 语句返回的数据数量,我们来看下带有 LIMIT 子句的 SELECT 语句的基本语法:SELECT column1, column2, columnN FROM table_nameLIMIT [no of rows]再来看下 LIMIT 子句与 OFFSET 子句一起使用时的语法:SELECT column1, co...原创 2019-01-11 09:25:44 · 4600 阅读 · 0 评论 -
sqlite3学习之update语句&delete语句
SQLite 的 UPDATE 查询用于修改表中已有的记录。可以使用带有 WHERE 子句的 UPDATE 查询来更新选定行,否则所有的行都会被更新,我们来看下带有 WHERE 子句的 UPDATE 查询的基本语法:UPDATE table_nameSET column1 = value1, column2 = value2...., columnN = valueNWHERE [con...原创 2019-01-10 16:57:42 · 6164 阅读 · 0 评论 -
sqlite3学习之where子句&AND/OR 运算符&Like 子句&Glob 子句
SQLite的 WHERE 子句用于指定从一个表或多个表中获取数据的条件。如果满足给定的条件,即为真(true)时,则从表中返回特定的值。我们可以使用 WHERE 子句来过滤记录,只获取需要的记录。WHERE 子句不仅可用在 SELECT 语句中,它也可用在 UPDATE、DELETE 语句中,等等,来看下语法格式:SELECT column1, column2, columnN FROM...原创 2019-01-10 16:52:06 · 6323 阅读 · 0 评论 -
sqlite3学习之表达式的使用
表达式是一个或多个值、运算符和计算值的SQL函数的组合,SQL 表达式与公式类似,都写在查询语言中。您还可以使用特定的数据集来查询数据库,我们先来假设 SELECT 语句的基本语法如下:SELECT column1, column2, columnN FROM table_name WHERE [CONDITION | EXPRESSION];接下来,我们来看下SQLite 的布尔表...原创 2019-01-10 16:04:13 · 277 阅读 · 1 评论 -
sqlite3学习之运算符的使用
运算符是一个保留字或字符,主要用于 SQLite 语句的 WHERE 子句中执行操作,如比较和算术运算,它用于指定 SQLite 语句中的条件,并在语句中连接多个条件,常用的有四种,如下: 算术运算符 比较运算符 逻辑运算符 位运算符 先来看算数运算符,我们先来假设变量 a=10,变量 b=20:运算符 描述 实例 + 加法 - 把...原创 2019-01-10 14:55:44 · 973 阅读 · 0 评论 -
sqlite3学习之insert(添加)&select(查询)操作
SQLite 的 INSERT INTO 语句用于向数据库的某个表中添加新的数据行,语法有两种格式:#指定列名称INSERT INTO TABLE_NAME [(column1, column2, column3,...columnN)] VALUES (value1, value2, value3,...valueN);#不指定列名称INSERT INTO TABLE_NAME ...原创 2019-01-10 14:08:16 · 13169 阅读 · 1 评论 -
sqlite3学习之表操作(创建、删除)
SQLite 的 CREATE TABLE 语句用于在任何给定的数据库创建一个新表。创建基本表,涉及到命名表、定义列及每一列的数据类型,语法很简单,如下:CREATE TABLE database_name.table_name( column1 datatype PRIMARY KEY(one or more columns), column2 datatype, co...原创 2019-01-10 13:55:34 · 4630 阅读 · 0 评论 -
sqlite3学习之数据库操作(创建、附加、分离)
SQLite 的 sqlite3 命令被用来创建新的 SQLite 数据库,所以我们可以不需要任何特殊的权限即可创建一个数据库,语法格式也很简单,如下:sqlite3 DatabaseName.db运行完上述命令之后,会在你的当前目录下生成一个你的数据库名称加上.db做后缀的文件,这个文件就是数据库文件,我们应该保证数据库名称的唯一性,并且此文件将会被 SQLite 引擎用作数据库,等数...原创 2019-01-10 13:38:52 · 918 阅读 · 0 评论 -
sqlite3学习之数据类型的探究
SQLite 数据类型是一个用来指定任何对象的数据类型的属性,其中的每一列,每个变量和表达式都有相关的数据类型,我们可以在创建表的同时使用这些数据类型。SQLite 使用一个更普遍的动态类型系统,在 SQLite 中,值的数据类型与值本身是相关的,而不是与它的容器相关。我们来看下sqlite的一些存储类:存储类 描述 NULL 值是一个 NULL 值。 INTEGER...原创 2019-01-10 13:12:36 · 271 阅读 · 0 评论 -
sqlite3学习之常规化语法格式
SQLite 是遵循一套独特的称为语法的规则和准则,我们着重需要注意的是,SQLite 是不区分大小写的,但也有一些命令是大小写敏感的,比如 GLOB 和 glob 在 SQLite 的语句中有不同的含义。SQLite 注释是附加的注释,可以在 SQLite 代码中添加注释以增加其可读性,他们可以出现在任何空白处,包括在表达式内和其他 SQL 语句的中间,但它们不能嵌套。SQL 注释以两个连续...原创 2019-01-10 10:49:10 · 481 阅读 · 0 评论 -
sqlite3学习之初识、安装以及常用的命令
SQLite是一个软件库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎,它是一个零配置的数据库,这意味着与其他数据库一样,我们不需要在系统中配置就可以使用,就像其他数据库,SQLite 引擎不是一个独立的进程,可以按应用程序需求进行静态或动态连接,并且,它可以直接访问其存储文件,它还是一个增长最快的数据库引擎,这是在普及方面的增长,与它的尺寸大小无关,并且它的源代码不受版权...原创 2019-01-10 10:38:27 · 283 阅读 · 0 评论 -
rails5.2.2框架使用脚手架(generate)连接sqlite数据库生成一个项目
这个,,,本来是想连接MySQL数据库的,但是嘞,ruby2.2不支持mysql2,安装mysql的话又很麻烦,所以就直接是用了sqlite,有关于这个sqlite的安装,大家可以戳这里下载文件,打开的界面如下:完事之后的安装什么的,大家可以选择去网上搞一下。之后就是安装rails连接sqlite的接口了,很简单,使用如下命令:gem install sqlite3完事之后就...原创 2019-01-09 16:06:24 · 365 阅读 · 1 评论