SQLite基本操作

#SQLite
SQLite是一个软件库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite 源代码不受版权限制。SQLite 直接访问其存储文件。SQLite 是非常小的,是轻量级的,完全配置时小于 400KiB,省略可选功能配置时小于250KiB。SQLite 支持 SQL92(SQL2)标准的大多数查询语言的功能。SQLite 使用 ANSI-C 编写的,并提供了简单和易于使用的 API。
##SQLite语法
+ 所有的点命令只在 SQLite 提示符中可用。
+ SQLite 是不区分大小写的,但也有一些命令是大小写敏感的,比如 GLOB 和 glob 在 SQLite 的语句中有不同的含义。
+ SQL 注释以两个连续的 "-" 字符(ASCII 0x2d)开始,并扩展至下一个换行符(ASCII 0x0a)或直到输入结束,以先到者为准。
+ 所有的SQLite 语句可以以任何关键字开始,如 SELECT、INSERT、UPDATE、DELETE、ALTER、DROP 等,所有的语句以分号(;)结束。
+ 每个存储在 SQLite 数据库中的值都具有以下存储类之一:NULL、INTEGER、REAL、TEXT和BLOB;SQLite 没有单独的 Boolean 存储类。相反,布尔值被存储为整数 0(false)和 1(true)。
+ 创建数据库命令,sqlite3 命令被用来创建新的 SQLite 数据库。您不需要任何特殊的权限即可创建一个数据:sqlite3 DatabaseName.db;
使用.databases命令可以查看当前有哪些数据库,使用.quit可以退出; 使用.dump 命令来导出完整的数据库在一个文本文件(ASCII)中:sqlite3 xxx.db .dump > xxx.sql;可以通过简单的方式从生成的 testDB.sql 恢复sqlite3 xxx.db < xxx.sql
+ SQLite 的 ATTACH DATABASE 语句是用来选择一个特定的数据库,使用该命令后,所有的 SQLite 语句将在附加的数据库下执行。SQLite的 DETACH DTABASE 语句是用来把命名数据库从一个数据库连接分离和游离出来,连接是之前使用 ATTACH 语句附加的。如果同一个数据库文件已经被附加上多个别名,DETACH 命令将只断开给定名称的连接,而其余的仍然有效。
+ SQLite 的 CREATE TABLE 语句用于在任何给定的数据库创建一个新表。创建基本表,涉及到命名表、定义列及每一列的数据类型。可以使用 SQLIte 命令中的 .tables 命令来验证表是否已成功创建,该命令用于列出附加数据库中的所有表。可以使用 SQLite .schema 命令得到表的完整信息
+ SQLite 的 DROP TABLE 语句用来删除表定义及其所有相关数据、索引、触发器、约束和该表的权限规范。
+ SQLite 的 INSERT INTO 语句用于向数据库的某个表中添加新的数据行。可以通过在一个有一组字段的表上使用 select 语句,填充数据到另一个表中。
+ SQLite 的 SELECT 语句用于从 SQLite 数据库表中获取数据,以结果表的形式返回数据。这些结果表也被称为结果集。.header on  .mode column可以让数据整齐显示在窗口中。
+ SQLite运算符主要用在WHERE子句中,算术运算符:+ - * / %,比较运算符==  !=  >  <  = ,逻辑运算符  AND BETWEEN EXISTS IN LIKE GLOB NOT OR  IS NULL || UNIQUE ,位运算符&  |  ~   <<   >>;
+ SQLite的 WHERE 子句用于指定从一个表或多个表中获取数据的条件。如果满足给定的条件,即为真(true)时,则从表中返回特定的值。
您可以使用 WHERE 子句来过滤记录,只获取需要的记录。WHERE 子句不仅可用在 SELECT 语句中,它也可用在 UPDATE、DELETE 语句中,等等。
+ SQLite 的 UPDATE 查询用于修改表中已有的记录。可以使用带有 WHERE 子句的 UPDATE 查询来更新选定行,否则所有的行都会被更新。
+ SQLite 的 DELETE 查询用于删除表中已有的记录。可以使用带有 WHERE 子句的 DELETE 查询来删除选定行,否则所有的记录都会被删除。
+ SQLite 的 LIKE 运算符是用来匹配通配符指定模式的文本值。如果搜索表达式与模式表达式匹配,LIKE 运算符将返回真(true),也就是 1。
+ SQLite 的 GLOB 运算符是用来匹配通配符指定模式的文本值。如果搜索表达式与模式表达式匹配,GLOB 运算符将返回真(true),也就是 1。
+ SQLite 的 LIMIT 子句用于限制由 SELECT 语句返回的数据数量。
+ SQLite 的 ORDER BY 子句是用来基于一个或多个列按升序或降序顺序排列数据。
+ SQLite 的 GROUP BY 子句用于与 SELECT 语句一起使用,来对相同的数据进行分组。在 SELECT 语句中,GROUP BY 子句放在 WHERE 子句之后,放在 ORDER BY 子句之前。
+ HAVING 子句允许指定条件来过滤将出现在最终结果中的分组结果。WHERE 子句在所选列上设置条件,而 HAVING 子句则在由 GROUP BY 子句创建的分组上设置条件。






##使用问题集锦
+ 如果直接在sqlite里面建数据库就会出现下面的情况:near "sqlite3":syntax error,会出现这种情况的原因是因为sqlite已经表示数据库了,相当于是在数据库里建数据库。如果你想创建一个数据库的话直接在某个目录下输入创建命令,而不是先输入sqlite,再输入创建命令。
阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页