SQLite基础-3.语法与数据类型

一、SQLite语法

1. 大小写敏感性

这是一个值得重点注意的点,SQLite是不区分大小写的,但是有些命令是大小写敏感的,例如: GLOBglob在SQLite里有不同的含义。

2. 注释

SQLite注释和其他SQL语言注释是一样的,属于附加注释。添加注释可以增加SQL语句的可读性。
SQL注释以两个连续的"-"字符开始,后面的跟的内容都被注释了。可以写在任何地方。
或者你可以使用"/*"开始"*/"结束。注释代码块。

-- select * from LinkMen;
select * from LinkMen;  -- 在语句后面注释

/*这是注释
这也是*/ select * from LinkMen;

3. SQLite语句

所以的语句可以以任何关键字开始,如SELECT、INSERT、UPDATE、DELETE等,所以语句以英文分号";"结尾。

-- 创建表
CREATE TABLE table_name(
   column1 datatype,
   .....
   columnN datatype,
);

-- 创建索引
CREATE INDEX index_name ON table_name;

-- 创建触发器
CREATE  TRIGGER trigger_name [BEFORE|AFTER] event_name 
ON table_name
BEGIN
 -- 触发器逻辑....
END;

-- 创建视图
CREATE  VIEW view_name AS
SELECT column1, column2, ...
FROM table_name, ...
WHERE [condition];

-- 提交 语句:
COMMIT;

-- 删除表
DROP TABLE database_name.table_name;

-- 删除索引
DROP INDEX database_name.index_name;

-- 删除视图
DROP VIEW view_name;

-- 插入数据
INSERT INTO table_name( column1, column2....columnN)
VALUES ( value1, value2....valueN);

-- 查询数据
SELECT column1, column2....columnN
FROM table_name;

-- 修改数据
UPDATE table_name
SET column1 = value1, ..., columnN=valueN
WHERE [condition];

-- 删除数据
DELETE FROM table_name
WHERE [condition];

-- GROUP BY分组
SELECT SUM(column_name)
FROM   table_name
WHERE  CONDITION
GROUP BY column_name;

-- HAVING对group by加条件过滤
SELECT SUM(column_name)
FROM   table_name
WHERE  CONDITION
GROUP BY column_name
HAVING (arithematic function condition);

-- IN
SELECT column1, column2....columnN
FROM   table_name
WHERE  column_name IN (val-1, val-2,...val-N);

-- LIKE
SELECT column1, column2....columnN
FROM   table_name
WHERE  column_name LIKE [ PATTERN ];

-- ORDER BY 排序
SELECT column1, column2....columnN
FROM   table_name
WHERE  CONDITION
ORDER BY column_name {ASC|DESC};

二、 SQLite 数据类型

数据类型是一个用来指定任何对象的数据类型的属性。每一列,每个变量和表达式都有相关的数据类型。

数据类型 描述
NULL 值是一个 NULL 值。
INTEGER 值是一个带符号的整数,根据值的大小存储在 1、2、3、4、6 或 8 字节中。
REAL 值是一个浮点值,存储为 8 字节的 IEEE 浮点数字。
TEXT 值是一个文本字符串,使用数据库编码(UTF-8、UTF-16BE 或 UTF-16LE)存储。
BLOB 值是一个 blob 数据,完全根据它的输入存储。

1. Boolean 数据类型

SQLite 没有单独的 Boolean 存储类。相反,布尔值被存储为整数 0(false)和 1(true)。

2. Date 与 Time 数据类型

SQLite 没有一个单独的用于存储日期和/或时间的存储类,但 SQLite 能够把日期和时间存储为 TEXT、REAL 或 INTEGER 值。

数据类型 日期格式
TEXT 格式为 "YYYY-MM-DD HH:MM:SS.SSS" 的日期。
REAL 从公元前 4714 年 11 月 24 日格林尼治时间的正午开始算起的天数。
INTEGER 从 1970-01-01 00:00:00 UTC 算起的秒数。

猜你喜欢

转载自www.cnblogs.com/haitao130v/p/11295466.html