【sqlite3学习一】sqlite3基本语句

sqlite3安装

ubunto下安装

sudo apt install sqlite3

sqlite命令

首先在中断输入sqlite3,获取命令清单时使用**.help**,红框中为部分sqlite命令
在这里插入图片描述

常用命令

1、 .exit:退出sqlite,.quit也可以退出
2、.headers ON|OFF:开启或关闭头部显示
3、.help:显示消息
4、.show:显示各种设置信息
5、.tables:显示数据库中存在的表
6、.schema 表名:显示创建表时的语句

sqlite语句

以任何关键字开始,以**;**结束。关键字不区分大小写

常用关键字

  1. SELECT
  2. INSERT
  3. UPDATA
  4. DELETE
  5. DROP

创建数据库

创建数据库语法:

sqlite3 DatabaseName.db

执行完该语句后,成功创建数据库文件后,会提供一个sqlite>提示符,此时还需要执行下面命令,如果不执行在退出sqlite后,用 ls 查看是没有数据库文件的

.databases

在这里插入图片描述
红框为没有执行.databases,查看是 没有test_db.db这个文件的

创建表

创建数据库表需要使用CREATE关键字,还需要定义表中的列,以及列的数据类型 可以选择是否需要约束

数据类型

存储类描述
NULL值是一个NULL值
INTEGER带符号整数
REAL浮点值
TEXT文本字符串,使用UTF-8,UTF-16BE, UTF-16LE存储
BLOBblol数据,完全根据他的输入存储

约束

  • NOT NULL:确保某列不能有空值(常用)
  • DEFAULT:当某列没有值时,提供默认值
  • UNIQUE:确保某列中的所有值不同
  • PRIMARY KEY:唯一标识数据库表中的各行记录(常用)
  • CHECK:确保某列中的所有值满足一定条件

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 ININ 运算符的对立面
    LIKE把某个值与使用通配符运算符的相似值进行比较
    NOTNOT 运算符是所用的逻辑运算符的对立面。比如 NOT EXISTS、NOT BETWEEN、NOT IN,等等
    IS NULLNULL 运算符用于把某个值与 NULL 值进行比较
    ISIS 运算符与 = 相似
    IS NOTIS NOT 运算符与 != 相似
    UNIQUEUNIQUE 运算符搜索指定表中的每一行,确保唯一性

有多个筛选条件时可以使用and或or

SELECT column1, column2, columnN  FROM table_name
WHERE [condition1] AND [condition2]...AND [conditionN];

where语句

上面提到的where可以用来筛选数据,所以where不仅可以与select联合使用,也可以与updata、delete语句联合使用

与AND一起使用

SELECT column1, column2, columnN FROM table_name
WHERE [condition1] AND [condition2]...AND [conditionN];

AND链接的是多个筛选条件,有与的意思

与OR一起使用

SELECT column1, column2, columnN FROM table_name
WHERE [condition1] OR [condition2]...OR [conditionN]

OR 有或的意思

与like一起使用

LIKE 运算符是用来匹配通配符指定模式的文本值,这里有两个通配符与 LIKE 运算符一起使用:

  • 百分号 %,代表零个、一个或多个数字或字符。
  • 下划线 _,代表一个单一的数字或字符。

这些符号可以被组合使用
语法

SELECT column_list FROM table_nameWHERE column LIKE 'XXXX%'
xxxx表示任意字符串

与IN一起使用

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;
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值