SQLite 语法初级教程

SQL DML 和 DDL

DML:数据库操作语言

  • SELECT – 从数据库表中获取数据
  • UPDATE – 更新数据库表中的数据
  • DELETE FROM – 从数据库表中删除数据
  • INSERT INTO – 向数据库表中插入数据

DDL:数据库定义语言

  • CREATE DATABASE – 创建新数据库
  • ALTER DATABASE – 修改数据库
  • CREATE TABLE – 创建新表
  • ALTER TABLE – 变更(改变)数据库表
  • DROP TABLE – 删除表
  • CREATE INDEX – 创建索引(搜索键)
  • DROP INDEX – 删除索引

SELECT

SELECT column_name1,column_name2 FROM table_name
SELECT * FROM table_name

SELECT DISTINCT

如果你仅仅只想列出不同(distinct)的值。关键词 DISTINCT 用手返回唯一不同的值。

SELECT DISINCT column_name FROM table_name

WHERE

如果要有条件地从表中选取数据,可以把WHERE子句添加到 SELECT 语句。

SELECT column_name FROM table_name WHERE column_name 运算符 value

WHERE的运算符种类

操作符描述
=等于
<>不等于
>大于
<小于
>=大于等于
<=小于等于
BETWEEN在某个范围内
LIKE搜索某种形式

引号的使用
SQL 使用单引号来环绕文本值。如果是数值,请不要使用引号。

文本值

这是正确的:
SELECT * FROM Persons WHERE FirstName='Bush'

这是错误的:
SELECT * FROM Persons WHERE FirstName=Bush

数值

这是正确的:
SELECT * FROM Persons WHERE Year>1965

这是错误的:
SELECT * FROM Persons WHERE Year>'1965'

AND & OR

ANDOR 运算符用于基于一个以上的条件对记录进行过滤。

SELECT * FROM table_name WHERE value1='' AND value2=''
SELECT * FROM table_name WHERE value1='' OR value2=''

ORDER BY

ORDER BY 语句用于根据指定的列对结果集进行排序。
ORDER BY 语句默认按照升序对记录进行排序。
如果您希望按照降序对记录进行排序,可以使用 DESC 关键字。

INSERT INTO

INSERT INTO 语句用于向表格中插入新的行。

INSERT INTO table_name VALUES (value1, value2,....)

我们也可以指定插入数据的列

INSERT INTO table_name (column_name1, column_name2,...) VALUES (value1, value2,....)

UPDATE

UPDATE 语句用于修改表中的数据。

UPDATA table_name SET column_name = new_value WHERE column_name = old_value

DELETE FROM

DELETE FROM 语句用于删除表中的行。

DELETE FROM table_name WHERE column_name = value

CRAET TABLE

CREATE TABLE 语句用于在任何给定的数据库创建一个新表。创建基本表,涉及到命名表、定义列及每一列的数据类型。

CREAT TABLE table_name (column_name datatype, column_name datatype,...)

DROP TABLE

DROP TABLE 语句用来删除表定义及其所有相关数据、索引、触发器、约束和该表的权限规范。

DROP TABLE table_name

ALTER TABLE

ALTER TABLE 语句用于在已有的表中添加、修改或删除列。

ALTER TABLE table_name ADD column_name datatype

SQLite 常用数据类型

数据类型描述
VARCHAR(n)字符/字符串。可变长度。最大长度 n。
BOOLEAN存储 TRUEFALSE
INTEGER整数值(没有小数点)。精度 10。
REAL近似数值,尾数精度 16。
DATE存储年、月、日的值。
TIME存储小时、分、秒的值。
DATETIME存储年、月、日、小时、分、秒的值。 DEFAULT(DATETIME('NOW','LOCALTIME')) / CURRENT_TIMESTAMP
BLOB用于 BLOBs(Binary Large OBject)。存放最多 65,535 字节的数据。
TEXT存放最大长度为 65,535 个字符的字符串。

SQLite 约束

数据类型描述
NOT NULL确保某列不能有 NULL 值
PRIMARY KEY唯一标识数据库表中的各行/记录
UNIQUE确保某列中的所有值是不同的
CHECK确保某列中的所有值满足一定条件
DEFAULT当某列没有指定值时,为该列提供默认值
    原文作者:做你的小星星
    原文地址: https://www.jianshu.com/p/e30d293e625d
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞