第五章:OB Server的SQL引擎

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介: 第五章:OB Server的SQL引擎

SQL引擎支持MySQL和Oracle兼容模式

同一个集群,同时支持MySQL和Oracle

租户创建时需要配置为MySQL兼容模式或Oracle兼容模式

DBA由原来维护“多个数据库产品”变为维护一个“统一的数据库产品”,DBA可以结合应用需求,创建不同兼容模式的租户

MySQL兼容模式:

MySQL5.6语法全兼容

兼容MySQL通信协议,MySQL应用可直接迁移至OceanBase

Oracle兼容模式:

兼容Oracle 11g语法

支持90%的Oracle数据类型和内置函数;还在持续完善中

支持分布式执行的存储过程(PL/SQL)

SQL引擎-Oracle兼容性

基础特性

数据类型:NUMBER/CHAR/LOB 10+

内建函数:MATH/CAST/FORMAT 40+

DDL&DML

ROWNUM/CTAS/MERGE INTO

窗口函数:MIN/MAX/RANK 20+

LOAD/DUPLICATED Table

Schema

Sequence/Synonym

CTE/Foreign Key

GBK

静态视图:TABLES/INDEXES/OBJECTS 10+

动态视图:V$SESSTAT/V$SESSION_WAIT 20+

PL

PL/函数/包基础语法

匿名块/自定义类型/游标/ARRAY/动态SQL

常用系统包

功能特性

回收站

Hybrid Columnar Compression

Outline

Hierachical Query

Data Guard

基本操作:创建、查看和删除数据库

使用CREATE DATABASE语句创建数据库

CREATE DATABASE[IF NOT EXISIS]dbname
[create_specification_list]

使用SHOW DATABASES语句查看数据库

SHOW DATABASES;

使用DROP DATABASE语句删除数据库

DROP DATABASE my_db;

基本操作:创建、查看、删除表

使用CREATE TABLE语句在数据库中创建新表

CREATE TABLE [IF NOT EXISTS]tblname
[table_options]
[partition_options];

使用SHOW CREATE TABLE语句查看建表语句

SHOW CREATE TABLE test;

使用DROP TABLE语句删除数据库

DROP TABLE [IF EXISTS]table_list;
table_list:
tblname[,tblname]

使用SHOWTABLES语句查看数据库中的所有表

SHOW TABLES FROM my_db;

基本操作:创建、查看、删除索引

索引是创建在表上的,对数据库表中一列或多列的值进行排序的一种结构。其作用主要在于提高查询的速度,降低数据库系统的性能开销。

创建索引

CREATE[UNIQUE]INDEX indexname
ON tblname

查看索引

SHOW INDEX FROM tblname;

删除索引

DROP INDEX indexname
ON tblname;

基本操作:插入数据

插入数据最常使用的语法如下:

INSERT INTO table_name VALUES;

基本操作:查询数据

使用SELECT语句检索表内数据

SELECT
[ALL | DISTINCT]
selectexpr [[AS] othername] [,selectexpr ...]
[FROM table_references]
[WHERE where_conditions]
[GROUP BY group_by_list]
[HAVING search_confitions]
[ORDER BY order_list]
[LIMIT {[offset,] rowcount | rowcount OFFSET
offset}]
[FOR UPDATE]

基本操作:更新数据

修改表中的数据,最常使用的语法如下

UPDATE tblname
SET colname=colvalues
[, colname=colvalues...]
[WHERE where_condition]

基本操作:事务介绍


数据库事务(DatabaseTransaction)是指作为单个逻辑工作单元执行的一系列操作。事务处理可以用来维 护数据库的完整性,保证成批的SQL操作全部执行或全部不执行。


通过BEGIN TRANSACTION,或BEGIN和BEGIN WORK(被作为STARTTRANSACTION的别名受到 支持)语句显示开始,以COMMIT(提交)或ROLLBACK(回滚)语句显示结束。

事务语法如下:

START TRANSACTION|[BEGIN
[WORK]]
COMMIT [WORK];
ROLLBACK [WORK];

基本操作:提交事务

在提交事务之前:

修改只对当前用户可见,对其他用户来说是不可见的

修改不是最终结果,可以通过ROLLBACK语句撤销修改

在提交事务之后:

修改对其他用户都是可见的

修改是最终结果,不能通过ROLLBACK语句回滚修改

基本操作:回滚事务

回滚事务:回滚事务操作,表示事务已经结束,回滚所有事务操作,并释放事务锁。

查看SQL的执行计划-EXPLAIN命令

• 语法:explain [extended]<sql statement>\G

• 使用非常方便,无需创建单独系统表,可直接获取语句的执行计划

• extended选项会产生更多详细内容,排查执行计划问题时建议指定

• 命令的输出格式和Oracle数据库的EXPLAIN工具比较接近,可读性好

• 只是获取执行计划,并不真正执行

使用案例:多分区并行查询

explain extended select * from employees \G

使用案例:分区表主键查询

explain extended select * from employees where emp_id=1002\G
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
19天前
|
SQL 人工智能 算法
【SQL server】玩转SQL server数据库:第二章 关系数据库
【SQL server】玩转SQL server数据库:第二章 关系数据库
61 10
|
2月前
|
SQL 数据库 数据安全/隐私保护
Sql Server数据库Sa密码如何修改
Sql Server数据库Sa密码如何修改
|
29天前
|
SQL
启动mysq异常The server quit without updating PID file [FAILED]sql/data/***.pi根本解决方案
启动mysq异常The server quit without updating PID file [FAILED]sql/data/***.pi根本解决方案
30 0
|
27天前
|
SQL 关系型数据库 MySQL
SQL Error (2013): Lost connection to MySQL server at 'waiting for initial communication packet', sys...
SQL Error (2013): Lost connection to MySQL server at 'waiting for initial communication packet', sys...
|
19天前
|
SQL 算法 数据库
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
91 6
|
6天前
|
SQL 数据管理 关系型数据库
如何在 Windows 上安装 SQL Server,保姆级教程来了!
在Windows上安装SQL Server的详细步骤包括:从官方下载安装程序(如Developer版),选择自定义安装,指定安装位置(非C盘),接受许可条款,选中Microsoft更新,忽略警告,取消“适用于SQL Server的Azure”选项,仅勾选必要功能(不包括Analysis Services)并更改实例目录至非C盘,选择默认实例和Windows身份验证模式,添加当前用户,最后点击安装并等待完成。安装成功后关闭窗口。后续文章将介绍SSMS的安装。
9 0
|
15天前
|
SQL 安全 网络安全
IDEA DataGrip连接sqlserver 提示驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接的解决方法
IDEA DataGrip连接sqlserver 提示驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接的解决方法
34 0
|
18天前
|
SQL 运维 监控
面经:Presto/Trino高性能SQL查询引擎解析
【4月更文挑战第10天】本文深入探讨了大数据查询引擎Trino(现称Trino)的核心特性与应用场景,适合面试准备。重点包括:Trino的分布式架构(Coordinator与Worker节点)、连接器与数据源交互、查询优化(CBO、动态过滤)及性能调优、容错与运维实践。通过实例代码展示如何解释查询计划、创建自定义连接器以及查看查询的I/O预期。理解这些知识点将有助于在面试中脱颖而出,并在实际工作中高效处理数据分析任务。
49 12