SQL 语法--数据库特定语句 | 学习笔记

简介: 快速学习 SQL 语法--数据库特定语句

开发者学堂课程【大数据Impala教程SQL 语法--数据库特定语句学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/722/detail/12892


SQL 语法--数据库特定语句


内容介绍:

一、数据库特定语句

二、删除数据库

三、小结


一、数据库特定语句

1.创建数据库

Impala SQL 语法,跟数据库相关操作的语句,数据库语法无外乎就是创建数据库,删除数据库,语法就是跟 hive 一模一样 cerate database。要强调的是在进行具体操作当中,可能会发生的问题就是权限不足。当创建 database 数据库的时候,下面不是成功,而是是报错,这个错误,如果通过对 Hadoop 学习会非常熟悉,即 security.AccesscontrolException 权限访问异常。后面是 permission denied,原因很简单,因为 Impala 在执行的时候,默认 Impala 用户进行相关操作。

image.png

2.具体操作

(1)当创建数据库的时候,默认情况下,Impala 创建的数据库也位于 hive 数仓路径下 user/hive/warehouse ,创建一个数据库就在下面变成一个文件夹,创建表就在文件夹下面变成一个子文件夹。

(2)     默认情况下,这个文件夹属于 root 用户超级用户主的。后面的权限针对 root 用户,它有读写执行的权限,针对其他的,只有 x 权限,这些意味着 Impala 用户进行 write 写的时候写不进来,报一个权限拒绝的问题。

3.权限

针对这种操作方式会有两种方式,第一种是指定文件夹授予权限。把指定文件夹在下面变成777权限。或是专门给用户授予执行的权限。另一种方式。在 Hadoop 配置文件中把权限进行关闭掉,改为 false。通常使用第一种方式,否则建表不成功。

4.创建操作语句

(1)接下来看一下,创建一个数据库的操作语句。现在连接到 Impala 上创建一个新的数据库 create database it_impala,回车。因为已经授权成功,创建好的数据库。在 hdfs/user 路径下 hive/warehouse 是数仓默认的路径。路径下多了一个文件夹叫 it_impala.db

再次验证了 impala hive 共用同一套元数据,点进去之后看到,权限做了一个修改已经变得清晰,不会报权限异常的问题,如果创建失败,看一下是否是这种问题,修改权限。创建数据库实际上再创建表,切换数据库就是 use it_impala;在里面创建一个表 create table t_test(id int),创建成功会成为数据库下面的一个子文件夹,这一点跟 hive 一模一样,没有任何区别。也是 impala 对应的映射关系,这样就完成了数据库的创建。接下来看一下,创建时的默认路径在 user/hive/warehouse 下,相当于 hive 数仓路径。在 hive 中称呼这种关系为如果创建的表默认受到他的管理的,位于路径下,包括他的元数据,数据信息是否管理,称作内部表。

2)可以创建外部表通过指定路径,就不会被管理了。删除表的时候数据位于机器上不会被删除。转换到 impala 中也可以创建数据库时指定路径,同时也要注意路径权限问题。创建文件夹叫做 input/impala,之前操作的时候,文件夹已经具有了权限。创建新的文件夹叫做 input/impala1回车,创建之后刷新。impala1 没有修改权限的样子,针对其他用户,只有执行权限。

image.png

(3)创建一个 impala 外部表相当于

create external table t3(id intname stringage int)row format delimited fields terminated by '\t' location '/input/impala/external';

external 表示外部的,创建外部表,表名叫 t3,有 id intname stringage int,后面是分隔符语句跟 hive 一模一样。

重点在于 location ,因为没有文件夹路径的权限,创建外部表后容易报错。针对 SQL 语句进行调整,从 pdf 上复制下可能会有格式的问题。

(4)打开一个新的文本,做一个简单的修改。当中可能有自动换行等一些格式需要做一个调整 row format delimited fields terminated by '\t' location '/input/impala/external';同时更改路径,把数据放在 impala1 路径下。如果直接进行创建,语句跟 hive 是一样的,会报错,回车走一下,发现 impala 没有读写的权限访问路径,可能会产生问题,所以创建外部表的时候,最好把文件授予权限。产生的原因在于当用 impala 去操作时,默认的是 impala 用户而不是 root 用户,所以打开一台机器,针对文件夹进行授权。创建文件夹统一路径,用来管理数据,可以避免很多权限的问题。

image.png


二、删除数据库

1.是否是空的数据库

针对数据库进行删除 drop database,删除的时候要知道是否是空的数据库。如果是空的数据库,可以直接删除。不是空的有提示,需要注意其中的表。

2.级联删除

回到当中,切换到 default 库,正好位于 it_impala 数据库下,在当中删除自己,database it_impala ,不能删除当前默认的库,因为正位于数据库中,所以要删除数据库的时候一定要切换到其他数据库,比如说切换到 default 数据库中再进行删除数据库。还是不成功,错误信息报的很明显。数据库 it_impala 不是空的,可能有一个或更多的表存在。提示删除数据库的是非常的危险的。但在某些场合,明确知道数据库连同下面的表删除。这时候提供了一个级联删除,相当于在删除数据库的同时加上 casecade,杀伤力极大。会连同数据库下的表全部删除,而且是永久删除,因此决定使用这个命令时,需要慎重。回车,这时候把数据库删除,数据库不存在,里面的表也不会存在。

image.png


三、小结

这就是针对数据库的相关操作,整体来看语法跟 hive 一模一样,分为内部表和外部表。可以指定分割符,应注意权限问题怎么解决,删除数据库的时候涉及到级点的关系,不为空的数据库不能直接删除。

相关文章
|
4月前
|
SQL 机器学习/深度学习 人工智能
从“写SQL”到“聊数据”:NL2SQL如何用自然语言解锁数据库?
本文系统性地阐述了自然语言转SQL(NL2SQL) 技术如何让非技术背景的业务分析师实现数据自助查询,从而提升数据驱动决策的效率与准确性。
从“写SQL”到“聊数据”:NL2SQL如何用自然语言解锁数据库?
|
3月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS费用价格:MySQL、SQL Server、PostgreSQL和MariaDB引擎收费标准
阿里云RDS数据库支持MySQL、SQL Server、PostgreSQL、MariaDB,多种引擎优惠上线!MySQL倚天版88元/年,SQL Server 2核4G仅299元/年,PostgreSQL 227元/年起。高可用、可弹性伸缩,安全稳定。详情见官网活动页。
804 152
|
3月前
|
SQL 人工智能 Linux
SQL Server 2025 RC1 发布 - 从本地到云端的 AI 就绪企业数据库
SQL Server 2025 RC1 发布 - 从本地到云端的 AI 就绪企业数据库
419 5
SQL Server 2025 RC1 发布 - 从本地到云端的 AI 就绪企业数据库
|
2月前
|
SQL 存储 监控
SQL日志优化策略:提升数据库日志记录效率
通过以上方法结合起来运行调整方案, 可以显著地提升SQL环境下面向各种搜索引擎服务平台所需要满足标准条件下之数据库登记作业流程综合表现; 同时还能确保系统稳健运行并满越用户体验预期目标.
216 6
|
3月前
|
关系型数据库 分布式数据库 数据库
阿里云数据库收费价格:MySQL、PostgreSQL、SQL Server和MariaDB引擎费用整理
阿里云数据库提供多种类型,包括关系型与NoSQL,主流如PolarDB、RDS MySQL/PostgreSQL、Redis等。价格低至21元/月起,支持按需付费与优惠套餐,适用于各类应用场景。
|
3月前
|
SQL Oracle 关系型数据库
Oracle数据库创建表空间和索引的SQL语法示例
以上SQL语法提供了一种标准方式去组织Oracle数据库内部结构,并且通过合理使用可以显著改善查询速度及整体性能。需要注意,在实际应用过程当中应该根据具体业务需求、系统资源状况以及预期目标去合理规划并调整参数设置以达到最佳效果。
341 8
|
4月前
|
SQL 人工智能 Java
用 LangChain4j+Ollama 打造 Text-to-SQL AI Agent,数据库想问就问
本文介绍了如何利用AI技术简化SQL查询操作,让不懂技术的用户也能轻松从数据库中获取信息。通过本地部署PostgreSQL数据库和Ollama模型,结合Java代码,实现将自然语言问题自动转换为SQL查询,并将结果以易懂的方式呈现。整个流程简单直观,适合初学者动手实践,同时也展示了AI在数据查询中的潜力与局限。
526 8
|
4月前
|
SQL 人工智能 Linux
SQL Server 2025 RC0 发布 - 从本地到云端的 AI 就绪企业数据库
SQL Server 2025 RC0 发布 - 从本地到云端的 AI 就绪企业数据库
295 5
|
3月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎,提供高性价比、稳定安全的云数据库服务,适用于多种行业与业务场景。
|
3月前
|
算法 数据挖掘 数据库
通过 SQL 快速使用 OceanBase 向量检索学习笔记
通过 SQL 快速使用 OceanBase 向量检索学习笔记