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 一模一样,分为内部表和外部表。可以指定分割符,应注意权限问题怎么解决,删除数据库的时候涉及到级点的关系,不为空的数据库不能直接删除。

相关文章
|
29天前
|
存储 SQL 关系型数据库
Mysql学习笔记(二):数据库命令行代码总结
这篇文章是关于MySQL数据库命令行操作的总结,包括登录、退出、查看时间与版本、数据库和数据表的基本操作(如创建、删除、查看)、数据的增删改查等。它还涉及了如何通过SQL语句进行条件查询、模糊查询、范围查询和限制查询,以及如何进行表结构的修改。这些内容对于初学者来说非常实用,是学习MySQL数据库管理的基础。
106 6
|
29天前
|
SQL 开发框架 .NET
ASP.NET连接SQL数据库:详细步骤与最佳实践指南ali01n.xinmi1009fan.com
随着Web开发技术的不断进步,ASP.NET已成为一种非常流行的Web应用程序开发框架。在ASP.NET项目中,我们经常需要与数据库进行交互,特别是SQL数据库。本文将详细介绍如何在ASP.NET项目中连接SQL数据库,并提供最佳实践指南以确保开发过程的稳定性和效率。一、准备工作在开始之前,请确保您
137 3
|
1天前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第7天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统要求检查与准备、配置安装源、安装 SQL Server 2019、配置 SQL Server 以及数据库初始化(可选)。通过这些步骤,你可以成功安装并初步配置 SQL Server 2019,进行简单的数据库操作。
|
5天前
|
SQL 存储 关系型数据库
SQL `CREATE DATABASE` 语法
【11月更文挑战第10天】
22 3
|
29天前
|
SQL Ubuntu 关系型数据库
Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用
本文为MySQL学习笔记,介绍了数据库的基本概念,包括行、列、主键等,并解释了C/S和B/S架构以及SQL语言的分类。接着,指导如何在Windows和Ubuntu系统上安装MySQL,并提供了启动、停止和重启服务的命令。文章还涵盖了Navicat的使用,包括安装、登录和新建表格等步骤。最后,介绍了MySQL中的数据类型和字段约束,如主键、外键、非空和唯一等。
65 3
Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用
|
11天前
|
SQL 关系型数据库 数据库
sql语法
【10月更文挑战第26天】sql语法
19 5
|
12天前
|
SQL 数据采集 监控
局域网监控电脑屏幕软件:PL/SQL 实现的数据库关联监控
在当今网络环境中,基于PL/SQL的局域网监控系统对于企业和机构的信息安全至关重要。该系统包括屏幕数据采集、数据处理与分析、数据库关联与存储三个核心模块,能够提供全面而准确的监控信息,帮助管理者有效监督局域网内的电脑使用情况。
14 2
|
17天前
|
SQL JSON Java
没有数据库也能用 SQL
SPL(Structured Process Language)是一款开源软件,允许用户直接对CSV、XLS等文件进行SQL查询,无需将数据导入数据库。它提供了标准的JDBC驱动,支持复杂的SQL操作,如JOIN、子查询和WITH语句,还能处理非标准格式的文件和JSON数据。SPL不仅简化了数据查询,还提供了强大的计算能力和友好的IDE,适用于多种数据源的混合计算。
|
18天前
|
SQL 数据库
SQL数据库基础语法入门
[link](http://www.vvo.net.cn/post/082935.html)
|
25天前
|
SQL 存储 关系型数据库
mysql 数据库空间统计sql
mysql 数据库空间统计sql
43 0

热门文章

最新文章

下一篇
无影云桌面