sqlite3 关系型数据库语言 SQL 语言

这篇具有很好参考价值的文章主要介绍了sqlite3 关系型数据库语言 SQL 语言。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

        SQL(Structured Query Language)语言是一种结构化查询语言,是一个通用的,功能强大的关系型数据库操作语言.
包含 6 个部分:
1.数据查询语言(DQL:Data Query Language)
        从数据库的二维表格中查询数据,保留字 SELECT 是 DQL 中用的最多的语句
2.数据操作语言(DML)
        最主要的关键字是 INSERT,UPDATE,和 DELETE,分别用于向二维表格中插入行,修改和删除行
3.事务处理语言(TPL)
        它的语句能确保被 DML 语句影响的表的所有行及时得以更新。TPL 语句包括 BEGIN TRANSACTION,COMMIT 和 ROLLBACK。
4.数据控制语言(DCL)
        确定单个用户或者用户组对数据库操作的权限
5.数据定义语言(DDL)
        主要的动作包括 CREATE 和 DROP,用来在数据库中新建表格或者删除表格
6.指针控制语言(CCL)
        用于对一个或者多个表格单独行的操作
        SQL 语句最好写成大写.SQL 语句在执行的时候,如果给出的是小写就会转换成大写再去执行。 所有 SQL 语句都以分号结尾。如果没有加分号,将会出现 数据库的命令输入将变为…>就是在等待你输入分号结束。

创建一个 sqlite3 数据库

方式一:sqlite3 命令方式
【命令语法】
sqlite3 + sqlite3 数据库名
【命令示例】
sqlite3 test.db
【图示】

sqlite3 关系型数据库语言 SQL 语言,sqlite3数据库知识分享,数据库,sqlite,sql

方式二:点命令方式
【命令语法】
.open + sqlite3 数据库名
【命令示例】
.open test.db
【图示】
sqlite3 关系型数据库语言 SQL 语言,sqlite3数据库知识分享,数据库,sqlite,sql
【备注】
        打开已存在数据库也是用 .open 命令,以上命令如果 test.db 存在则直接会打开,不存在就创建它。

往数据库中新建二维表格

【命令语法】
CREATE TABLE 表名
(
        [字段 1] [数据类型] ["约束"],
        [字段 2] [数据类型] ["约束"],
        [字段 3] [数据类型] ["约束"],
        ....
 );
【数据类型】
【数据类型】
1) 数值类型
        TINYINT(微小整型)、SMALLINT(小整型)、MEDIUMINT(中等整型)、INT(标准整 型)、BIGINT(大整型)
备注: INT(size):数值类型后面括号里的 size 可以规定这个字段的的最大值
2) 日期/时间类型
        包括 YEAR、TIME、DATE、DATETIME 和 TIMESTAMP。
3) 字符串类型
        包括 CHAR、VARCHAR(变长字符串)、BINARY(二进制)、VARBINARY(变长二进 制)、BLOB、TEXT(文本)、ENUM(枚举) 和 SET 等。
        CHAR(M) 固定长度非二进制字符串 M 字节,1<=M<=255 长度固定为 M
        VARCHAR(M) 变长非二进制字符串 L+1 字节,L< = M 和 1<=M<=255,长度不超过 M
        TEXT小的非二进制字符串  L+2 字节,在此,L<2^16
4) 二进制类型
        包括 BIT、BINARY、VARBINARY、TINYBLOB、BLOB、MEDIUMBLOB 和 LONGBLOB。 【约束】
        NOT NULL 不为空,
        UNIQUE  唯一,此列数据不能重复
        PRIMARY KEY 主键,主键必须是 NOT NULL 和 UNIQUE
        FOREIGN KEY 外键,这一列在外部的表中是主键(保持数据的一致性,维护数据的完整性)
备注: sqlite3 中外键默认是关闭的,需要使用 PRAGMA foreign_keys = ON; 命令打开外键
CHECK 用于限制列中值的范围 例:CHECK(ID>0)
DEFAULT 设置列的默认值 例:DEFAULT 10086
【命令示例】
        新建一个名字为 STUINFO 的二维表,ID 为主键
CREATE TABLE STUINFO (
ID INT PRIMARY KEY,
NAME VARCHAR(255) NOT NULL,
ADDR TEXT,
TEL TEXT DEFAULT 10086,
CHECK(ID>0)
);
【图示】
sqlite3 关系型数据库语言 SQL 语言,sqlite3数据库知识分享,数据库,sqlite,sql
【外键创建示例】
        CREATE TABLE CJB(ID INT,KCH INT,SCORE FLOAT,FOREIGN KEY(ID) REFERENCES STU(ID));
        上面语句就是新建一个 CJB 表格,其中 ID 是外键,这个外键是 STU 表格中的主键,其中这个 REFERENCES 是外键约束,表示这个外键是哪个表里的主键。上图就是创建了一个 CJB,有一个外键 ID,这个 ID 还是 STU 表中的主键。

删除一个表格

【命令语法】
DROP TABLE 表名;
【命令示例】
DROP TABLE STUINFO;
【图示】

sqlite3 关系型数据库语言 SQL 语言,sqlite3数据库知识分享,数据库,sqlite,sql

修改表名

【命令语法】
ALTER TABLE 表名 RENAME TO 新表名;
【命令示例】
ALTER TABLE STUINFO RENAME TO STU;
【图示】

sqlite3 关系型数据库语言 SQL 语言,sqlite3数据库知识分享,数据库,sqlite,sql

增加表中字段

【命令语法】
ALTER TABLE 表名 ADD COLUMN 字段名 字段类型 约束;
【命令示例】
ALTER TABLE STU ADD COLUMN HEIGHT INT(300) DEFAULT 100;
【备注】
        1 新增列时约束不能为 NOT NULL,因为当前表中的已有的数据将默认新增列为 NULL
        2. 在 sqlite3 中,修改列名,删除列都是不支持的
【图示】
sqlite3 关系型数据库语言 SQL 语言,sqlite3数据库知识分享,数据库,sqlite,sql

向表中增加用户数据

【命令语法】
语法 1:
INSERT INTO 表名 VALUES(值 1,值 2,值 3.....);
// 每一列都必须提供一个值,和创建表格的时候要一一对应
语法 2:
INSERT INTO 表名(列名 1,列名 2,...)VALUES(值 1,值 2....);
//提供的列名必须和值个数相同
【命令示例】
示例 1:
        INSERT INTO STU VALUES(2,”jiuyue”,3,10010,5,168);
示例 2:
        INSERT INTO STU(ID,NAME,ADDR,TEL,SEX,HEIGHT)VALUES(2,”jiuyue”,3,10010,5,168);
【图示】
sqlite3 关系型数据库语言 SQL 语言,sqlite3数据库知识分享,数据库,sqlite,sql

表中数据查询

基本查找

【命令语法】
SELECT 列名 FROM 表名 WHERE 条件;
【条件运算符】
        基本语法如下:
                SELECT 列名 1,列名 2.... FROM 表名 WHERE 列 运算符 值
                运算符可以是下面一些:
                                        = 等于
                                        <> 不等于
                                         > 大于
                                        < 小于
                                        BETWEEN AND 在某一个范围之间
                                        //例:BETWEEN 2 AND 3 2~3 之间
                                        LIKE 模糊查找
【备注】
                有多个条件可以使用 AND 和 OR 来连接条件
                                AND 并且
                                OR 或者
【命令示例】
        SELECT * FROM STU; //查看 STU 表中所有数据
        SELECT ID FROM STU WHERE ID=1; //查看 STU 表中 ID 这一列 ID 号为 1 的数据
        SELECT * FROM STU WHERE TEL="10086" OR NAME="zhangsan"; // 查看 STU 表中列 TEL 值等于 10086 或 NAME 列值等于 zhangsan 的数据
        SELECT ID,NAME,TEL FROM STU WHERE NAME LIKE 'zhang%'; //查看所有姓 zhang 的同学的信息

【图示】

sqlite3 关系型数据库语言 SQL 语言,sqlite3数据库知识分享,数据库,sqlite,sql文章来源地址https://www.toymoban.com/news/detail-730482.html

其他的一些查看语法

【命令示例】
SELECT MAX(ID) FROM STU; //查找列中的最大值
sqlite3 关系型数据库语言 SQL 语言,sqlite3数据库知识分享,数据库,sqlite,sql
SELECT MIN(ID) FROM STU; //查找列中的最小值
sqlite3 关系型数据库语言 SQL 语言,sqlite3数据库知识分享,数据库,sqlite,sql
SELECT AVG(ID) FROM STU; //平均值
sqlite3 关系型数据库语言 SQL 语言,sqlite3数据库知识分享,数据库,sqlite,sql
SELECT SUM(ID) FROM STU; //总和
sqlite3 关系型数据库语言 SQL 语言,sqlite3数据库知识分享,数据库,sqlite,sql
SELECT COUNT(ID) FROM STU; //行数
sqlite3 关系型数据库语言 SQL 语言,sqlite3数据库知识分享,数据库,sqlite,sql

排序和限行查询

【命令语法】
排序查询:
SELECT * FROM 表名 ORDER BY 字段名 ASC/DESC;
                                //ASC 为升序,DESC 为降序
限行查询:
SELECT * FROM STU LIMIT 行数
【命令示例】
        SELECT * FROM STU ORDER BY ID ASC; //在 STU 表中以 ID 号升序查看
        SELECT * FROM STU LIMIT 3; //只查看前 3 行
        SELECT * FROM STU ORDER BY ID DESC LIMIT 3; //降序排序并只查看前 3 行

多表查询

【命令语法】
SELECT 表名 N.列名 N,表名 M.列名 M FROM WHERE 条件;
【命令示例】
  1.查看表 STU 和 CJB 中相关列满足 STU.ID = CJB.ID 条件的数据
        SELECT STU.ID,STU.NAME,CJB.ID,CJB.KCH,CJB.SCORE FROM STU,CJB WHERE STU.ID = CJB.ID;
2.查看表 STU,CJB 和 KCB 中相关列满足 STU.ID = CJB.ID 且 KCB.KCH = CJB.KCH 条件的数据
        SELECT STU.ID,KCB.KCH,STU.NAME,CJB.SCORE,KCB.KCM,KCB.TEACHER FROM STU,CJB,KCB WHERE STU.ID = CJB.ID AND KCB.KCH = CJB.KCH;
3.加上查看 CJB.SCORE 列中降序排序的前三列
        SELECT STU.ID,KCB.KCH,STU.NAME,CJB.SCORE,KCB.KCM,KCB.TEACHER FROM STU,CJB,KCB WHERE STU.ID = CJB.ID AND KCB.KCH = CJB.KCH AND KCB.KCH = 1 ORDER BY CJB.SCORE DESC LIMIT 3;

更新数据(数据修改)

【命令语法】
UPDATE 表名 SET 列名 1 = 新值,列名 2 = 新值,... WHERE 条件;
【命令示例】
 1. 将 STU 表 ID 为 6 的一行数据的 NAME 和 TEL 改变
        UPDATE STU SET NAME="wanglang",TEL="88888888" WHERE ID = 6;
2. 将 CJB 表中 SCORE 中 0 到 60 的数据全部改为 60
        UPDATE CJB SET SCORE = 60 WHERE SCORE > 0 AND SCORE < 60;

删除用户数据

【命令语法】
DELETE FROM 表名 WHERE 条件;
【命令示例】
1. 删除 STU 表中 TEL 为“88888888“的一行数据
        DELETE FROM STU WHERE TEL = "88888888";

到了这里,关于sqlite3 关系型数据库语言 SQL 语言的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 关系型和非关系型数据库的区别

    关系型数据库,是指采用了关系模型来组织数据的数据库,关系型数据库的最大特点就是事务的一致性。关系型数据天然就是表格式的,因此数据存储在数据表的行和列中。数据表可以彼此关联协作存储,也很容易提取数据。 优点 易于维护:都是使用表结构,格式一致。 使

    2024年02月13日
    浏览(81)
  • 关系型数据库设计

    目录 1.数据库设计的重要性及定义 1.1 数据库设计的重要性 1.1.1 失败的数据库设计造成的后果  1.1.2 优秀的数据库设计带来的好处  1.2 数据库设计的定义  2.数据库需求分析  2.1 需求分析的步骤 2.1.1 收集信息 2.1.2 标识实体 2.1.3 标识每个实体的详细信息  2.1.4 标识实体之

    2024年04月10日
    浏览(53)
  • 非关系型数据库

    一、什么是非关系型数据库? 随着互联网的飞速发展,人们对数据存储和管理的需求越来越高,传统的关系型数据库遇到了越来越多的挑战。为了满足海量数据存储和高性能查询的需求,非关系型数据库(NoSQL)应运而生。 非关系型数据库是指不使用关系模型进行数据组织和

    2024年02月07日
    浏览(40)
  • 数据库介绍-非关系型数据库

    NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,泛指非关系型的数据库。 NoSQL 不依赖业务逻辑方式存储,数据存储的类型不需要一个固定形式。因此大大的增加了数据库的扩展能力。 不遵循 SQL 标准 不支持 ACID 远超于 SQL 的性能 易扩展 大读写量,高性能 数据模型灵活 高可用

    2024年02月16日
    浏览(42)
  • 【数据库概论】第二章 关系型数据库

    关系模型的数据结构十分简单,只包含单一的数据结构——关系。在用户看来,关系模型中数据的逻辑结构是一张扁平的二维表。关系模型的数据结构虽然简单却能表达丰富的语义。在关系模型中,现实世界的实体以及实体之间的联机都是用单一的关系结构类型来表示。 域(

    2024年02月05日
    浏览(47)
  • Elasticsearch与关系型数据库集成

    Elasticsearch是一个开源的搜索和分析引擎,基于Lucene库开发,具有高性能、可扩展性和实时性等特点。关系型数据库则是一种结构化数据库管理系统,以表格形式存储数据,支持SQL查询语言。在现实应用中,Elasticsearch与关系型数据库往往需要进行集成,以实现更高效、灵活的

    2024年02月20日
    浏览(59)
  • Redis_非关系型数据库

    也叫Not Only SQL(不仅仅是SQL, 不用 sql语言操作的数据库), 一般指 非关系型数据库 关系型数据库: 以数据库表为单位存储,表与表之间存在某种关系 非关系型数据库: 数据与数据之间没有关系, 数据就是以键值对的形式存储, 通过键获取到值 在互联网发展中: 大致经历三个时期,w

    2024年02月16日
    浏览(33)
  • 常见数据库介绍对比之SQL关系型数据库

    关系型数据库是一种基于关系模型的数据库,它使用表格来组织和存储数据。下面是一些常见的关系型数据库: MySQL是一种开源的关系型数据库管理系统(RDBMS),广泛用于Web应用程序和企业级解决方案。它具有高性能、可靠性和易用性的特点,支持广泛的操作系统和编程语

    2024年02月09日
    浏览(48)
  • 关系型非关系型数据库区别,以MongoDB为例在express中连接MongoDB示例

    目录 关系型数据库 关系型数据库常见的类型有: 关系型数据库的优点包括: 非关系型数据库 非关系型数据库常见的类型有: 非关系型数据库的特点包括: 关系型数据库和非关系型数据库区别 MongoDB是什么 MongoDB优势: 在Express中连接MongoDB步骤 Schema 关系型数据库是以关系模

    2024年01月16日
    浏览(61)
  • 非关系型数据库Redis的安装

    一、关系型数据库与非关系型数据库的区别:---------面试高频率问题 1、首先了解一下 什么是关系型数据库? 关系型数据库最典型的数据结构是表,由二维表及其之间的联系所组成的一个数据组织。 优点: 易于维护:都是使用表结构,格式一致; 使用方便:SQL语言通用,可

    2024年02月10日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包