赞
踩
ubunto下安装
sudo apt install sqlite3
首先在中断输入sqlite3,获取命令清单时使用**.help**,红框中为部分sqlite命令
1、 .exit:退出sqlite,.quit也可以退出
2、.headers ON|OFF:开启或关闭头部显示
3、.help:显示消息
4、.show:显示各种设置信息
5、.tables:显示数据库中存在的表
6、.schema 表名:显示创建表时的语句
以任何关键字开始,以**;**结束。关键字不区分大小写
创建数据库语法:
sqlite3 DatabaseName.db
执行完该语句后,成功创建数据库文件后,会提供一个sqlite>提示符,此时还需要执行下面命令,如果不执行在退出sqlite后,用 ls 查看是没有数据库文件的
.databases
红框为没有执行.databases,查看是 没有test_db.db这个文件的
创建数据库表需要使用CREATE关键字,还需要定义表中的列,以及列的数据类型 可以选择是否需要约束
存储类 | 描述 |
---|---|
NULL | 值是一个NULL值 |
INTEGER | 带符号整数 |
REAL | 浮点值 |
TEXT | 文本字符串,使用UTF-8,UTF-16BE, UTF-16LE存储 |
BLOB | blol数据,完全根据他的输入存储 |
PRIMARY KEY 约束唯一标识数据库表中的每个记录。在一个表中可以有多个 UNIQUE 列,但只能有一个主键。在设计数据库表时,主键是很重要的。主键是唯一的 ID。
CREATE TABLE TableName (
column1 datatype PRIMARY KEY,
column2 datatype,
column3 datatype,
......
columnN datatype,
);
括号内的内容可以理解为:列名称 列的数据类型 和约束条件
例如:创建一个名为人员信息的表,存储姓名、年龄、性别、住址和联系方式,可以使用如下方式创建
CREATE TABLE perpolinfo(
id INTEGER PRIMARY KEY autoincrement NOT NULL,
name TEXT NOT NULL,
age INT NOT NULL,
sex TEXT NOT NULL,
address TEXT NOT NULL,
phone TEXT NOT NULL,
);
INTEGER:表示数据类型是整形
PRIMARY KEY:表示id的数值唯一,不能出现重复值
autoincrement:表示id自增长,因此在写入数据时可以不写入id值
NOT NULL:表示这一列不能有空值出现,
DROP TABLE tablename
方式1:
INSERT INTO tablename (column1, column2, column3,...columnN)
VALUES(value1, value2, value3,...valueN);
values中的值要与表的列对应
方式2:
INSERT INTO TABLE_NAME VALUES (value1,value2,value3,...valueN);
SELECT * FROM tablename;
SELECT column1, column2, columnN FROM table_name;
使用where设置条件
SELECT column1, column2, columnN FROM table_name
WHERE [condition]
where语句中的条件可以使用比较逻辑运算符
比较运算符
运算符 | 描述 |
---|---|
== | 检查两个操作数是否相等 |
= | 等于 |
!= | 不等于 |
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
!< | 不小于 |
!> | 不大于 |
逻辑运算符
运算符 | 描述 |
---|---|
AND | 与 |
OR | 或 |
EXISTS | 在满足一定条件的指定表中搜索行的存在 |
IN | 把某个值与一系列指定列表的值进行比较,例如where id in (20,27)表示筛选id在20到27范围内的数据 |
NOT IN | IN 运算符的对立面 |
LIKE | 把某个值与使用通配符运算符的相似值进行比较 |
NOT | NOT 运算符是所用的逻辑运算符的对立面。比如 NOT EXISTS、NOT BETWEEN、NOT IN,等等 |
IS NULL | NULL 运算符用于把某个值与 NULL 值进行比较 |
IS | IS 运算符与 = 相似 |
IS NOT | IS NOT 运算符与 != 相似 |
UNIQUE | UNIQUE 运算符搜索指定表中的每一行,确保唯一性 |
有多个筛选条件时可以使用and或or
SELECT column1, column2, columnN FROM table_name
WHERE [condition1] AND [condition2]...AND [conditionN];
上面提到的where可以用来筛选数据,所以where不仅可以与select联合使用,也可以与updata、delete语句联合使用
SELECT column1, column2, columnN FROM table_name
WHERE [condition1] AND [condition2]...AND [conditionN];
AND链接的是多个筛选条件,有与的意思
SELECT column1, column2, columnN FROM table_name
WHERE [condition1] OR [condition2]...OR [conditionN]
OR 有或的意思
LIKE 运算符是用来匹配通配符指定模式的文本值,这里有两个通配符与 LIKE 运算符一起使用:
这些符号可以被组合使用
语法
SELECT column_list FROM table_nameWHERE column LIKE 'XXXX%'
xxxx表示任意字符串
SELECT column1, column2....columnN
FROM table_name
WHERE column_name IN (val-1, val-2,...val-N);
可以使用带有 WHERE 子句的 UPDATE 查询来更新选定行,否则所有的行都会被更新。
UPDATE table_name
SET column1 = value1, column2 = value2...., columnN = valueN
WHERE [condition];
可以使用带有 WHERE 子句的 DELETE 查询来删除选定行,否则所有的记录都会被删除。
DELETE FROM table_name WHERE [condition];
SELECT COUNT(column_name)
FROM table_name
WHERE CONDITION;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。