暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

人大金仓KingbaseES SQL 功能入门

数据猿 2023-09-27
5285

关键字:

Select、update、delete、create

1. 认识SQL语言

1.1什么是SQL语言?

SQL语言是“Structured Query Language”(结构化查询语言)是用于管理关系数据库管理系统,SQL的范围包括数据插入、查询、更新和删除,数据库模式创建和修改,以及数据访问控制。

  • SQL是指结构化查询语言
  • SQL让人可以访问和处理数据库,包括数据插入、查询、更新和删除
  • SQL在1986年成为ANSI的一项标准,在1987年成为国际标准化组织(ISO)标准。

1.2 SQL的功能包括?

  • 以组的形式处理数据集而不是单独处理。
  • 自动定位到数据。
  • 使用独立、复杂且功能强大的语句。

1.3 SQL语句可以完成哪些任务?

  • 查询数据
  • 插入、更新和删除表中的行
  • 创建、替换、更改和删除对象
  • 控制对数据库及其对象的访问
  • 保证数据库的一致性和完整性

1.4有哪些常见的SQL命令

  • SELECT-从数据库中提取数据
  • UPDATE-更新数据库中的数据
  • DELETE-从数据库中删除数据
  • INSERT INTO-从数据库中插入新数据
  • CREATE TABLE-创建新表
  • ALTER-TABLE-变更数据库表
  • DROP TABLE-删除表
  • ……

1.5 SQL语句类型

image.png

1.6 SQL语句—语法树

Command:     CREATE TABLE AS
Description: define a new table from the results of a query
Syntax:
CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } | UNLOGGED ] TABLE [ IF NOT EXISTS ] table_name
    [ (column_name [, ...] ) ]
    [ USING method ]
    [ WITH ( storage_parameter [= value] [, ... ] ) | WITHOUT OIDS ]
    [ ON COMMIT { PRESERVE ROWS | DELETE ROWS | DROP } ]
    [ TABLESPACE tablespace_name ]
    AS query
[ WITH [ NO ] DATA ]
复制

注意:

  • 大写形式表示SQL关键字;小写形式表示SQL语法中需要用户提供的参数
  • |(竖线)分隔括号内的语法项目,只能选择一个项目
  • ()(小括号)必选语法项目,必须键入小括号
  • 可选语法项目,不必键入方括号
  • {}(大括号)必选语法项目,不必键入大括号
  • [,…]表示前面的项可重复,每一项由逗号分隔;[…]表示前面的项可重复,每一项由空格分隔

1.7词法分析—抽象语法树

image.png

  • 列名一般是Attr
  • 具体数值一般是value
  • Attr的子女必须是符合数据库模式中属性名的字符串
  • Rel的子女必须是符合数据库模式中关系名的字符串
  • Value(或Pattern)必须是符合SQL语法的字符串或数值(具体到哪行的某个字符值或者数字);

当SQL语句提交给SQL引擎后,会首先经过词法分析进行分词操作,然后利用语法解析器进行语法分析并形成AST

2. 常见SQL语句(基础语句)

用于演示的数据库:

Student(学生信息表)

image.png

Course(课程表)

image.png

SC(选课信息表)

image.png

2.1、SELECT语句

语法:SELECT column1,column2,…From table_name

参数说明:

  • column1,column2,…:要选择的字段名称,也可以为多个字段,如果不指定字段名称,就会选择所有字段。该字段为*时,意为查询所有字段
  • table_name:要查询的表的名称。

例如:

①SELECT sname FROM Student;//查询单列信息

image.png

②SELECT sno,sname FROM Student;//查询多列信息

image.png

③SELECT * FROM Student;//查询Student表的所有信息

image.png

④SELECT FROM Student;//不指定字段

image.png

2.2、DISTINCT 语句

语法:SELECT DISTINCT column1,column2,…From table_name;

参数说明:

  • DISTINCT关键词用于返回唯一不同的值(去重)

例如:

①SELECT DISTINCT sno FROM SC;

image.png

2.3、WHERE语句

语法:SELECT column1,column2,… FROM table_name WHERE condition;

参数说明:

  • condition意为查询时的筛选条件

例如:

①SELECT sno,sname,ssex FROM Student WHERE sno=1;//查询学号为1的学生的学号、姓名和性别。

image.png

②SELECT * FROM Student WHERE sno=1;//查询学号为1的学生的全部信息

image.png

2.4、AND&OR运算符

语义:AND&OR运算符用于基于一个条件以上的条件对记录进行过滤;

  • 如果第一个条件和第二个条件都成立,则AND运算符显示一条记录;
  • 如果第一个条件和第二个条件中只要有一个成立,则OR运算符显示一条记录;

例如:

①SELECT * FROM SC WHERE sno=1 AND grade>95;//查询学号为1且成绩大于95分的学生选课信息

image.png

②SELECT * FROM SC WHERE sno=1 OR sno=2;

image.png

2.5、ORDER BY 关键字

语法:SELECT column1,column2,… FROM table_name ORDER BY column1,column2,… ASC|DESC;

语义:用于对关键字结果集进行排序,默认按照升序结果进行排序,如果需要按照降序对记录进行排序,可以使用DESC关键字

参数说明:

  • ASC:表示升序排序
  • DESC:表示降序排序

例如:

①SELECT * FROM SC ORDER BY grade;//对SC表按照成绩升序排序

image.png

②SELECT * FROM SC ORDER BY grade DESC;//对SC表按照成绩降序排序

image.png

③SELECT * FROM SC ORDER BY cno,grade;//对Student表按照cno和grade进行排序

image.png

④SELECT * FROM SC ORDER BY grade ,cno;

image.png

2.6、INSERT INTO关键字

语义:用于向表中插入新纪录

语法:该语句有两种编写形式

参数说明:

  • column1,column2,…:需要插入的字段名
  • table_name:要查询的表的名称
  • value1,value2:需要插入的字段值

①第一种形式无需指定要插入的列名,只需提供被插入的值即可

INSERT INTO table_name VALUES(value1,value2,value3,…);

②第二种形式需要指定列名及被插入的值

INSERT INTO table_name(cloumn1,column2,column3,…)VALUES(value1,value2,value3,…);

例如:

第一种:

image.png

第二种:

image.png

2.7、UPDATE语句

语义:用于更新表中已存在的记录

语法:

UPDATE table_name SET column1=value1,column2=value2,… WHERE condition;

参数说明:

  • column1,column2,…:需要修改的字段名
  • table_name:要修改的表的名称
  • value1,value2:需要修改的字段值
  • condition:修改条件,指定哪些数据需要修改

例如:

UPDATE Student SET sage=23,sdept=’LiberalArts’ WHERE sno = 6;

file

警告:如果上述语句没有where子句,将会对表中所有sage和sdept都修改为上述值。

2.8、DELETE语句

语义:用于删除表中的行

语法:DELETE FROM table_name WHERE condition;

参数说明:

  • table_name:要删除的表的名称
  • condition:删除条件,指定哪些数据需要删除

例如:DELETE FROM Student WHERE sno=6 AND sage=23;

file

3. 常见SQL语句(进阶语句)

3.1 SELECT TOP、LIMIT、ROWNUM子句

语义:用于规定需要返回的记录的数目,这对于拥有上万条记录的大型表来说是非常有用的。

语法:

① SELECT TOP number column_name(s) FROM table_names; (SQL Server /MS Access语法)

②SELECT column_name(s) FROM table_name LIMIT number;(MySql语法)

③SELECT table_name WHERE ROWNUM <=number;(Oracle语法)

例如:

第一种:

file

第二种:

file

第三种:

file

3.2 JOIN(连接)、多表查询

常见的连接包括:LEFT JOIN、RIGHT JOIN、INNER JOIN、OYTER JOIN,下图展示了不同连接语句的用法结果。

image.png

区别:

INNER JOIN:如果表中至少一个匹配,则返回行

LEFT JOIN:即使右表中没有匹配,也从左表中返回所有的行

RIGHT JOIN:即使左表中没有匹配,也从右表中返回所有的行

FULL JOIN:只要其中一个表中存在匹配,则返回行

例如:

①INNER JOIN(与JOIN是相同的)

SELECT * FROM Student INNER JOIN SC ON Student.sno=SC.sno;

②LEFT JOIN(Student作为左表,SC作为右表)

SELECT * FROM Student LEFT JOIN SC ON Student.sno=SC.sno ORDER BY Student.sno;

此时,即使右表中没有匹配记录,也会显示出来

③RIGHT JOIN

insert into SC values(‘10’,‘99’,‘100’);先在SC表中插入Student表中没有的记录。方便观察

SELECT * FROM Student RIGHT JOIN SC ON Student.sno=SC.sno ORDER BY Student.sno;

file

此时,左表中没有对应的记录也会显示

④FULL OUTER JOIN(FULL JOIN)

相当于结合了②和③的结果,只要左表和右表中其中一个存在匹配,就返回

SELECT * FROM Student FULL OUTER JOIN SC ON Student.sno=SC.sno ORDER BY Student.sno;

file

⑤USING关键字

Using关键字可以在结果中去掉重复的列。

注意:USING与ON不能一起使用

USING关键字可以和INNER、LEFT等任意一种连接方式连起来用

语法:USING (cloumn)

例如:①LEFT JOIN:

image.png
ON关键字

③FULL JOIN:

ON关键字:

image.png

USING关键字:

image.png

⑥CROSS JOIN(笛卡尔积)

CROSS JOIN生成的连接表来自表1和表2每一行的每一种可能的组合;如果两个表分别为N行和M行,则连接表会有N*M行

image.png

3.3 子查询(IN/NOT IN)

语义:就是将一个查询的结果作为另一个查询的数据来源或判断条件的查询。子查询指定了一个派生表,它必须被包围在圆括号里。

语法:Expression IN (subquery)

Expression NOT IN (subquery)

说明:

IN 和 NOT IN的右侧是圆括号起来的子查询,它必须返回一个列。Expression将被计算,其结果与subquery结果逐行进行比较。

  • 如果找到任何等于子查询行的值,则IN的结果为true
  • 如果没有找到任何等于子查询的行的值,则IN的结果为false(包含子查询没有返回任何行的情况)

例如:
①SELECT * FROM Student WHERE sno IN (SELECT sno FROM SC);

image.png

②SELECT * FROM Student WHERE sno NOT IN (SELECT sno FROM SC);

image.png

3.4 EXIST/NOT EXIST 子查询

语义:EXISTS在SQL中的作用是检验查询是否返回数据

语法:EXISTS(subquery)

说明:

EXISTS的参数是一个任意的SELECT语句或子查询。系统对于查询进行计算以判断它是否返回行。

  • 如果子查询至少返回一行,那么EXISTS的结果为true

  • 如果子查询没有返回行,那么EXISTS的结果为false

这个子查询通常只是运行到能判断它是否可以返回至少一行为止,而不是等到全部结束。因为结果只取决于是否返回行,而不取决于这些行的内容,所以这个子查询的输出列表通常是无关紧要的。

例如:EXIST语句

SELECT * FROM Student WHERE EXISTS (SELECT grade FROM SC WHERE Student.sno=SC.sno AND grade>=97);

查找在SC表中成绩大于等于97的学生所有信息。

file

NOT EXIST 语句

SELECT * FROM Student WHERE NOT EXISTS (SELECT grade FROM SC WHERE Student.sno=SC.sno AND grade>=97);

file

3.5 ANY/SOME子查询

语法:expression operator ANY(subquery)

expression operator SOME(subquery)

说明:ANY和SOME右侧是一个圆括号括起来的子查询,它必须返回一行。ANY和SOME左侧的表达式将被计算并使用给出的运算符对于子查询结果逐行进行比较。ANY语句与SOME语句为同义词,意义相同。

  • 如果找到任何真值结果,那么ANY的结果为true
  • 如果找到任何真值结果,那么ANY的结果为false(包括子查询没有返回任何行的情况)

ANY语句

file

SOME语句

file

3.6 ALL子查询

语义:ALL与ANY和SOME不同,当和子查询结果集的每一行进行比较结果全部是true时,表达式结果才是true,否则为false

例如:

SELECT * FROM Student WHERE sno >all (select sno from SC where Student.sno=SC.sno and sno>1);

image.png

说明:当值相等的时候,返回的是false。

3.7 模糊查询LIKE

语义:LIKE通常需要和通配符配合使用,通配符是在SQL的WHERE条件子句中拥有特殊含义的字符。KES提供两个通配符:”%”和“_”

  • “%”用于匹配任何字符序列
  • “_”用于匹配任意单个字符

例如:

SELECT * FROM Student WHERE sname LIKE ‘张%’;

查询所有姓张的学生的信息

image.png

select * from Student where sage like ‘2_’;

查询所有年龄是2开头的两位数的学生信息

image.png

4. 事务相关

4.1 事务的基本概念

事务是数据库系统执行过程中最小的逻辑单位。当事务被提交时,数据库管理系统要确保一个事务中的所有操作都成功完成,并且在数据库中永远保持操作结果。如果一个事务中的一部分操作没有成功完成,则数据库管理系统会把数据库回滚到操作执行之前的状态。

4.2 事务的4个特性(ACID)

  • 原子性(Atomicity):一个事务的所有操作,要么全部执行、要么全部不执行
  • 一致性(Consistency):执行事务时保持数据库从一个一致的状态变更到另一个一致的状态
  • 隔离性(Isolation):即使每个事务都能确保一致性和原子性,如果并发执行时,由于它们的操作以人们不希望的方式交叉执行,就会导致不一致的情况发生。确保事务与事务并发执行时,每个事务都感觉不到有其他事务在并发地执行。
  • 持久性(Durablility):一个事务完成之后,即使数据库发生故障,它对数据库的改变应该永久保存在数据库中

4.3 事务的类型

  • 显式事务:具有显式的开始标记(如begin )和结束标记(如commit或rollback)
  • 隐式事务:没有有显式的开始标记和结束标记,由系统隐式地控制事务的开始和结束

4.4 事务的处理时机

  • 开始事务时机:执行第一个可执行的SQL语句
  • 结束事务时机:显式结束:用户执行COMMIT 或 ROLLBACK语句后显式结束事务
  • 隐式结束:
    • DDL 或 DCL 语句成功执行后,由系统隐式提交事务
    • 用户退出,系统隐式结束事务
    • 系统崩溃,系统隐式结束事务

4.5 事务处理语句

用户可通过专门的事务控制语句显式控制事务,这些语句如:

  • BEGIN:开始一个事务
  • END或COMMIT:结束或提交一个事务
  • ROLLBACK:回滚一个事务
  • SAVEPOINT:保存点,部分回滚一个事务
  • SET TRANSACTION ISOLATION LEVEL:设置事务隔离级别
  • LOCK TABLE: 锁定指定表

5. 常用数据类型

image.png

image.png

6. 常用数据对象

6.1 表空间

6.1.1什么是表空间

表空间是实际的数据存储的地方,一个表空间只能属于一个数据库,所有的数据库对象都存放在指定的表空间中,但是主要存放的是表,所以称作表空间

6.1.2表空间创建语法

CREATE TABLESPACE tablespace_name
    [ OWNER { new_owner | CURRENT_USER | SESSION_USER } ]
    LOCATION 'directory'
    [ WITH ( tablespace_option = value [, ... ] ) ]
复制

修改表空间语法:

ALTER TABLESPACE name RENAME TO new_name
ALTER TABLESPACE name OWNER TO { new_owner | CURRENT_USER | SESSION_USER }
ALTER TABLESPACE name SET ( tablespace_option = value [, ... ] )
ALTER TABLESPACE name RESET ( tablespace_option [, ... ] )
复制

表空间删除语法:

DROP TABLESPACE [ IF EXISTS ] name
复制

注意:创建表空间指定的LOCATION路径需要提前创建,并使用绝对路径

例如:创建表空间:

image.png

修改表空间的名字:

image.png

删除表空间:

image.png

6.2 模式

语义:数据库对象的集合,如:表、视图、序列等

使用模式的时机:

  • 多个用户使用同一个数据库而不会相互影响
  • 对数据库中的对象进行逻辑分组,更便于管理
  • 各个应用分别使用各自的模式,以避免命名冲突

要求:

  • 不同的模式中的表名可相同
  • 但同一模式的表不能同名
  • 模式不能嵌套

语法:

创建模式语法:

CREATE SCHEMA schema_name [ AUTHORIZATION role_specification ] [ schema_element [ ... ] ]
CREATE SCHEMA AUTHORIZATION role_specification [ schema_element [ ... ] ]
CREATE SCHEMA IF NOT EXISTS schema_name [ AUTHORIZATION role_specification ]
CREATE SCHEMA IF NOT EXISTS AUTHORIZATION role_specification
复制

修改模式语法:

ALTER SCHEMA name RENAME TO new_name
ALTER SCHEMA name OWNER TO { new_owner | CURRENT_USER | SESSION_USER }
复制

删除模式语法:

DROP SCHEMA [ IF EXISTS ] name [, …] [ CASCADE | RESTRICT ]

CASCADE(级联):表示在删除模式的时候把这个模式中的所有数据库对象全部删除。

RESTRICT(限制):表示如果该模式中已经定义了下属的数据库对象,就拒绝执行这个删除语句,只有这个模式下没有下属的对象,才能执行DROP操作。

6.3 表

什么是表?

表是数据库中用来存储数据的对象,是有结构的数据的集合,是整个数据库系统的基础。

表的构成?

  • 一个表包含一或多个属性
  • 属性用来定义列结构
  • 表中的每行数据称为一个元组
  • 每个属性和元组都是不可再分的

6.3.1 表类型

image.png

6.3.2 临时表

语义:临时表是仅对当前会话可见的表,并且在关闭创建该表的会话时会自动将其删除。

应用场景:因为临时表不会永久存储在数据库中,因此在只需要短时间执行或测试某些表,然后希望该表自动消失的情况下。

案例:

image.png

图中所示,在切换用户后,原始用户创建的表将不复存在。

6.3.2继承表

特性:

  • 父表的所有字段被子表所继承
  • 子表可以有自己的子表,层层继承
  • 一个子表允许同时从多个父表继承
  • 使用SQL关键字ONLY,表示SQL操作只作用于父表本身,不涉及继承层次中的任何子表。SELECT、UPDATE、DELETE都支持该关键字,而INSERT不支持
  • 子表只会继承检查约束和非空约束,其他约束都不会被继承

案例:

image.png

6.3.3 分区表

语义:分区指将逻辑上的一个大表拆分成较小的相对独立的子表

范围分区

定义:按照数据表中的某个值的范围来进行分区。

使用场景:

通过绑定自定义的列进行分区,其中最突出的就是根据时间分区,例如客户的下单时间,按照每月、每季度、每半年的形式来进行分区缩减数据量以免在数据库查询时进行全表扫描。

列表分区

定义:当数据是一系列离散的数据值时,可以进行列表分区。列表分区的分区键由一个单独的列组成,进行操作时,可以直接通过所要操作的数据取查询相应的分区。

使用场景:取一些数据库中的列的值经常性重复的,例如:财经新闻的地域标签,每个新闻都有标签,根据用户的喜爱或者经常点击的新闻在数据库中添加新闻标签,等下次展示新闻时根据新闻标签取搜索新闻

哈希分区

定义:所谓的哈希分区,就是首先将分区编号,然后通过哈希函数来指定分区存储数据。哈希分区一般追求的是数据在分区上均匀分布的特性。
使用场景:可以将股票的代码这种数据唯一性比较强的列设置为分区条件

下图为创建范围分区示例

image.png

6.4 视图

定义:视图是一种数据库对象,是从一个或者多个数据表或视图中导出的虚表,视图的结构和数据是建立在对表的查询基础之上的,因此表中的数据发生变化,从视图中查询的数据也会随之改变。

物化视图:

物化视图和普通视图不一样,物化视图缓存的是查询结果,它是一个实体表,且它需要额外的存储空间开销,并且数据可能会过期。

案例:

插入数据前:

image.png

插入数据后:

image.png

6.5 索引

定义:索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。索引主要是为了加快数据的查询速度与减少系统的响应时间。但是当对表进行更新时,会降低更新表的速度,因为要对表和索引同时更新。

使用场景:例如汉语字典的目录页,可以按照拼音、笔画、偏旁部首等排序的目录快速查找到需要的字。

常见的索引类型:

TREE结构:可以让增删改查的平均时间复杂度都为O(log(n));

HASH结构:可以让增删改查的平均时间复杂度都为O(1);

注:虽然HASH平均复杂度更快一点,但是实际的使用场景却是大量的数据,可能需要排序、可能需要分组、可能需要比较大小等不同需求,这时,复杂度就退化为O(n)了。

TREE和BTREE结构:

  • TREE可以作为索引结构,但是如果索引数据很多,树的层数就会很高,数据量大时查询还是非常慢,因此引入了BTREE索引结构。BTREE的特点就是不再是二叉搜索,而是N叉搜索,树的高度会大大降低。
  • 在BTREE的基础上还有B+TREE的改进,数据存储在叶子节点上,且增加了链表,方便快速访问,但是在KES与Oracle中不支持。

索引的设计原则:

  • 在经常用于查询的字段上创建索引
  • 在经常用于连接的字段上创建索引,以加快连接速度
  • 在经常需要根据范围进行查询的列上创建索引
  • 对经常更新的表需要避免对其建立过多的索引
  • 不应该在数据量非常小的表上创建索引
  • 不应该在数据取值区分度很小的列上创建索引,如“性别”字段只有男,女两个取值

普通索引:最基本的索引类型,没有唯一性之类的限制

唯一性索引:唯一性索引的列的所有值都只能出现一次,即必须唯一,例如在员工信息表中对员工的姓上创建了该索引,则任何两个员工都不能同姓

主键索引:是一种唯一性索引,为表定义主键的时候会自动创建主键索引。

组合索引(单列索引和多列索引):对于多列联合查询的场景来说,可以建一个多列索引。多列索引可以区分其中一列可能有相同值的行。只有Btree、GiST、GIN、

BRIN类型的索引支持建多列索引;一个多列索引最多支持32个字段字段;

Btree类型的多列索引,支持从左向右的顺序匹配各个索引字段

BTREE多列索引案例:

image.png

6.6 约束

什么是约束?

语义施加在数据上的限制,保证数据的正确性、有效性和完整性

主要内容包括:

  • 数据应满足的强制规则,例如字段的唯一性和非空约束
  • 数据应满足的完整性规则,例如主外键约束
  • 数据应满足的业务规则,例如CHECK约束

主要用途包括:

  • 防止生成无效或错误的数据
  • 确保数据使用满足业务规则
  • 防止非法使用数据
  • 保证数据库始终处于正确和一致的状态

常见的约束类型:

image.png

约束状态与行为:

image.png

6.7 序列

  • 一种可共享的数据库对象
  • 系统自动生成按一定规律(增加或减小)变化的数值序列
  • 每个序列值都都是唯一的
  • 通常用于创建主键

例如:

CREATE SEQUENCE myseq INCREMENT BY 2
MINVALUE 1
MAXVALUE 9223372036854775807
START 1
CACHE 100
NO CYCLE;
复制

参数说明:

  • INCREMENT BY :可选的,增减子句
  • START WITH :可选的,定义序列的开始值
  • CACHE:为提升序列效果,可缓存序列
  • CYCLE:可选的,序列达到最大值或最小值时可复位并继续下去

7. 常用内置函数

7.1常用字符串函数

image.png

7.2 常用数学函数

image.png

7.3常用时间日期函数

image.png

7.4其他常用函数

image.png

8. 系统表和系统视图

系统表:存放系统信息的普通表或者视图;系统表在数据库中扮演数据字典的角色。每个数据库中都有自己的一套系统表,其中大多数系统表都是在数据库创建时从模板数据库中拷贝过来的。

系统视图:建立在基本系统表之上的,提供了查询系统表的便利访问方法,和访问内部服务器状态的方法。

9. 数据库语句的执行流程

image.png

客户端—连接器—分析器—优化器—执行器—存储引擎

连接器:管理连接、权限验证,如果客户端长期空闲,就会自动断开

查询缓存:执行查询时,会先查询缓存,如果命中就直接返回结果

分析器:缓存没有命中时,会进入分析器,进行词法分析、语法分析

优化器:选择执行语句的不同计划,计划效率有高有低,作用就是选择决定那一个方案执行

执行器:首先判断有没有权限,有就操作引擎、返回结果

存储引擎:存储数据、提供读写接口

image.png

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

TA的专栏
KingbaseES产品手册
收录5篇内容
目录
  • 关键字:
  • 1. 认识SQL语言
    • 1.1什么是SQL语言?
    • 1.2 SQL的功能包括?
    • 1.3 SQL语句可以完成哪些任务?
    • 1.4有哪些常见的SQL命令
    • 1.5 SQL语句类型
    • 1.6 SQL语句—语法树
    • 1.7词法分析—抽象语法树
  • 2. 常见SQL语句(基础语句)
    • 2.1、SELECT语句
    • 2.2、DISTINCT 语句
    • 2.3、WHERE语句
    • 2.4、AND&OR运算符
    • 2.5、ORDER BY 关键字
    • 2.6、INSERT INTO关键字
    • 2.7、UPDATE语句
    • 2.8、DELETE语句
  • 3. 常见SQL语句(进阶语句)
    • 3.1 SELECT TOP、LIMIT、ROWNUM子句
    • 3.2 JOIN(连接)、多表查询
    • 3.3 子查询(IN/NOT IN)
    • 3.4 EXIST/NOT EXIST 子查询
    • 3.5 ANY/SOME子查询
    • 3.6 ALL子查询
    • 3.7 模糊查询LIKE
  • 4. 事务相关
    • 4.1 事务的基本概念
    • 4.2 事务的4个特性(ACID)
    • 4.3 事务的类型
    • 4.4 事务的处理时机
    • 4.5 事务处理语句
  • 5. 常用数据类型
  • 6. 常用数据对象
    • 6.1 表空间
      • 6.1.1什么是表空间
      • 6.1.2表空间创建语法
    • 6.2 模式
  • 6.3 表
    • 6.3.1 表类型
    • 6.3.2 临时表
    • 6.3.2继承表
    • 6.3.3 分区表
    • 6.4 视图
    • 6.5 索引
    • 6.6 约束
    • 6.7 序列
  • 7. 常用内置函数
    • 7.1常用字符串函数
    • 7.2 常用数学函数
    • 7.3常用时间日期函数
    • 7.4其他常用函数
  • 8. 系统表和系统视图
  • 9. 数据库语句的执行流程