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

人大金仓数据库KingbaseES的SQL语法基础、数据类型与操作符介绍

数据猿 2023-09-20
500

关键字:

KingbaseES、SQL

一、SQL

1.1 SQL是什么

SQL,即structured Query Language,为结构化查询语言。

1.2 SQL的功能

1、对表:增、删、改、查;

2、控制对数据库及其对象的访问;

3、保证数据库的一致性和完整性。

1.3 SQL语法基础

1.3.1 SQL组成介绍

1、SQL语句是由一系列记号组成。

2、记号:用来指明词法单元,可为关键字、标识符、常量或一些特定的符号,记号之间通常使用分隔符(空格或新行)分隔。

(1)关键字:SQL语言中具有特定意义的单词,例如,SELECT、UPDATE等

(2)标识符:用户用来标识SQL语句中所使用的表、列或其它数据库对象的名称,一般都由数字,字母和_组成。

3、以分号“;”作为结束符。

4、注释:在SQL语句中可有注释。

单行注释:使用两个短线-,例如:-- This is a standard SQL comment

多行注释:例如:/*… */

1.3.2 SQL语句类型

一共包括四种语句类型,分别是数据定义语言DDL、数据操纵语言DML、数据查询语言DQL、数据控制语言DCL和事务控制语言TCL,具体说明如表所示。

类型 对应语句 简要说明
数据定义语言DDL CREATE、DROP、ALTER、TRUNCATE 主要用来创建、删除、修改数据库中各种对象—表、视图、索引等
数据操纵语言DML INSERT、UPDATE、DELETE、MERGE 对数据进行增、删、改等操作
数据查询语言DQL SELECT 由SELECT子句、FROM子句,WHERE子句组成的查询块
数据控制语言DCL GRANT,REVOKE 授权或回收访问数据库的某种特权,并控制数据库操纵事务发生的时间及效果等
事务控制语言TCL BEGIN,END / COMMIT,ROLLBACK /SAVEPOINT /SET TRANSACTION ISOLATION LEVEL /LOCK TABLE

图1-1 SQL语句类型分类

二、SQL常用数据类型和操作符

2.1 常用数据类型

在SQL中,大类上可以分为数值类型、字符类型、日期时间类型、布尔类型、二进制类型还有特殊字符类型,在每个类型中又可以细分成更加细的内容,具体如下表2-1所示。

数值类型 对应别名 描述 范围
Smallint Int2 带符号的2字节整数 -32768到+32767
integer Int,Int4 带符号的4字节整数 -2147483648到+2147483647
Bigint Int8 带符号的8字节整数 -9223372036854775808到+9223372036854775807
Numeric Decimal 用户指定精度,精确 小数点前131072位;小数点后16383位
Real Float4 4字节可变精度,不精确 6位十进制数字精度
Double precision Float8 8字节可变精度,不精确 15位十进制数字精度
Smallserial 自增2字节整数 1到32767
Serial Serial4 自增4字节整数 1到2147483647
Bigserial Serial8 自增8字节整数 1到9223372036854775807
字符类型 对应别名 描述 范围
Character varying[(n)] Varchar[(n)] 变长字符串 有长度限制
Character[(n)] Char[(n)] 定长字符串 不足补空白
text 变长字符串 无长度限制

日期类型 对应别名 描述 范围
Date 4字节只用于日期 4713BC到5874897AD
Timestamp[§][without time zone] 8字节日期和时间,无时区 4713BC到294276AD
Timestamp[§][with time zone] Timestamptz 8字节日期和时间,有时区 4713BC到294276AD
Time[§][without time zone] 8字节只用于一日内时间,无时区 00:00:00到24:00:00
Time[§][with time zone] Timetz 8字节只用于一日内时间,有时区 00:00:00+1459到24:00:00-1459
Interval[fields][§] 12字节存储时间间隔 -178000000年到178000000年

布尔类型 对应别名 描述 范围
Boolean Bool 逻辑布尔量 True/false
二进制类型 Bytea 存储二进制字符串 特殊字符类型 “char” – 1字节 单字节内部类型
name 64字节 对象名的内部类型

2.2 常用操作符

操作符操纵的独立数据成为操作数或者参数,操作符由特殊字符或者关键字组成。

2.2.1 按照操作符操作对象个数分类

1、一元操作符:仅对一个操作数操作。

operator operand

2、二元操作符:对两个操作数操作。

operand1 operator operand2

2.2.2 按照操作符功能分类

按照操作符的功能,操作符可以分为如下五类:

1、算术操作符(13个):+(一元)、+(二元)、-(一元)、-(二元)、*、/、%、^、!、!!、|/、||/、@;

相关类型:数值类型和日期时间及时间间隔类型;

2、比较操作符(6个):>、<、=、<>、>=、<=;

相关类型:除BLOB、CLOB外的所有类型;

3、串(字符串、位串、二进制位串)操作符(3个):||、(like)、!(not like);

相关类型:字符串类型、位串类型、二进制位串类型;

4、位运算符(6个):~(一元)、&、|、#、>>、<<;

相关类型:整数数值类型和位串类型;

5、字符串运算操作符(15个):^@、@@、||、、!*、!、!*、!><>=<=

相关类型:字符串类型;

2.2.3 操作符的优先级

优先级是KingbaseES数据库在同一表达式中计算不同操作符的顺序。优先级高的操作符比优先级低的操作符要先计算。
下面从高往低列出了操作符,其中同一级别的操作符具有相同的优先级。

(1)操作符:+、-(作为一元操作符)、PRIOR、CONNECT_BY_ROOT、COLLATE身份、否定、层次结构中的位置

(2)操作符:*,/ 乘法、除法

(3)操作符:+、-(作为二元操作符)

三、总结

1、SQL语句是一种结构化查询语言,遵循特定的规则,SQL可以对数据库中的表等进行增删改查的工作。

2、在SQL中,数据类型可以分为数值类型、字符类型、日期时间类型、布尔类型、二进制类型还有特殊字符类型,在每个类型中又可以细分成更加细的内容。

3、操作符是对操作对象进行操作的运算符,按照操作对象个数可以分为一元操作符和二元操作符,而按照操作类型可以划分为算数、比较、串、位、字符串运算操作符,这些操作符有不同的优先级,优先级高的操作符在运算的时候会先进行运算。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论