Hive提供了与SQL相的数据定义语言(DDL),对于熟悉SQL的人来说,学习Hive的DDL是非常容易得,即使从未接触过SQL的人,学习也不是一件很难的事情。虽然本人对SQL有一定的了解,但绝不敢自称熟悉SQL,所以准备对HiveQL进行深入的学习,按照SQL通常的学习曲线,
Hive提供了与SQL相似的数据定义语言(DDL),对于熟悉SQL的人来说,学习Hive的DDL是非常容易得,即使从未接触过SQL的人,学习也不是一件很难的事情。虽然本人对SQL有一定的了解,但绝不敢自称熟悉SQL,所以准备对HiveQL进行深入的学习,按照SQL通常的学习曲线,先学习DDL,再学习DML(数据操作语言)。由于需要演示一些语句的示例,不得不超前使用一些其它语句,比如show、describe等。
Create/Drop/Alter数据库创建数据库的语法如下:
CREATE(DATABASE|SCHEMA) [IF NOT EXISTS] database_name [COMMENTdatabase_comment] [LOCATIONhdfs_path] [WITHDBPROPERTIES (property_name=property_value, ...)];
在创建数据库时可以指定数据库在HDFS上的存储位置以及数据库的属性,示例如下:
hive> showdatabases; OK default Time taken:1.842 seconds, Fetched: 1 row(s) hive> createdatabase learning comment 'Learning Hive Database' withdbproperties('creator'='hadoop','date'='2014-06-04', 'test'='First database'); OK Time taken:5.274 seconds hive> showdatabases; OK default learning Time taken:0.022 seconds, Fetched: 2 row(s) hive>describe database learning; OK learning Learning Hive Database hdfs://hadoop:9000/user/hive/warehouse/learning.db hadoop Time taken:0.078 seconds, Fetched: 1 row(s)
从例子的演示来看,默认情况下新建的数据库存储在/user/hive/warehouse,该值可由hive.metastore.warehouse.dir参数指定,默认即为上述目录,数据库的拥有者为hadoop用户,可以使用下面即将介绍的alter语句修改数据库的拥有者为hive:
hive> alterdatabase learning set owner user hive; OK Time taken:0.255 seconds hive>describe database learning; OK learning Learning Hive Database hdfs://hadoop:9000/user/hive/warehouse/learning.db hive Time taken:0.015 seconds, Fetched: 1 row(s)
Drop数据库的语法如下:
DROP (DATABASE|SCHEMA) [IF EXISTS] database_name [RESTRICT|CASCADE];
hive> drop database learning; OK Time taken: 0.933 seconds hive> show databases; OK default Time taken: 0.037 seconds, Fetched: 1 row(s) hive> dfs -lsr /user/hive/warehouse; drwxr-xr-x - hadoopsupergroup 0 2014-05-23 16:43/user/hive/warehouse/page_view drwxr-xr-x - hadoopsupergroup 0 2014-05-14 11:29/user/hive/warehouse/pokes
从上面的输出结果可以看出,在数据库中不存在表的情况下可以直接删除数据库,那么如果数据库存在表结果会是如何呢?下面的例子演示了这种情况:
hive> use learning; OK Time taken: 0.105 seconds hive> create table how(name string); OK Time taken: 0.982 seconds hive> dfs -lsr /user/hive/warehouse; drwxr-xr-x - hadoopsupergroup 0 2014-06-04 11:11/user/hive/warehouse/learning.db drwxr-xr-x - hadoopsupergroup 0 2014-06-04 11:11/user/hive/warehouse/learning.db/how drwxr-xr-x - hadoopsupergroup 0 2014-05-23 16:43/user/hive/warehouse/page_view drwxr-xr-x - hadoopsupergroup 0 2014-05-14 11:29/user/hive/warehouse/pokes hive> drop database learning; FAILED: Execution Error, return code 1 fromorg.apache.hadoop.hive.ql.exec.DDLTask.InvalidOperationException(message:Database learning is not empty. One or moretables exist.) hive> drop database learning restrict; FAILED: Execution Error, return code 1 fromorg.apache.hadoop.hive.ql.exec.DDLTask.InvalidOperationException(message:Database learning is not empty. One or moretables exist.) hive> drop database learning cascade; OK Time taken: 3.151 seconds hive> show databases; OK default Time taken: 0.019 seconds, Fetched: 1 row(s) hive> dfs -lsr /user/hive/warehouse; drwxr-xr-x - hadoopsupergroup 0 2014-05-23 16:43/user/hive/warehouse/page_view drwxr-xr-x - hadoopsupergroup 0 2014-05-14 11:29/user/hive/warehouse/pokes
当数据库中存在表时无法直接删除,会提示数据库非空,存在表,这时可以使用CASCADE关键字,使用RESTRICT关键字与默认行为等价。
Alter数据库的语法如下:
ALTER DATABASEdatabase_name SET DBPROPERTIES (property_name=property_value, ...); ALTER DATABASEdatabase_name SET OWNER [USER|ROLE] user_or_role;

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于索引优化器工作原理的相关内容,其中包括了MySQL Server的组成,MySQL优化器选择索引额原理以及SQL成本分析,最后通过 select 查询总结整个查询过程,下面一起来看一下,希望对大家有帮助。

数据库系统由4个部分构成:1、数据库,是指长期存储在计算机内的,有组织,可共享的数据的集合;2、硬件,是指构成计算机系统的各种物理设备,包括存储所需的外部设备;3、软件,包括操作系统、数据库管理系统及应用程序;4、人员,包括系统分析员和数据库设计人员、应用程序员(负责编写使用数据库的应用程序)、最终用户(利用接口或查询语言访问数据库)、数据库管理员(负责数据库的总体信息控制)。

结构层次是“数据库→数据表→记录→字段”;字段构成记录,记录构成数据表,数据表构成了数据库。数据库是一个完整的数据的记录的整体,一个数据库包含0到N个表,一个表包含0到N个字段,记录是表中的行。

go语言可以写数据库。Go语言和其他语言不同的地方是,Go官方没有提供数据库驱动,而是编写了开发数据库驱动的标准接口,开发者可以根据定义的接口来开发相应的数据库驱动;这样做的好处在于,只要是按照标准接口开发的代码,以后迁移数据库时,不需要做任何修改,极大方便了后期的架构调整。

mysql查询为什么会慢,关于这个问题,在实际开发经常会遇到,而面试中,也是个高频题。遇到这种问题,我们一般也会想到是因为索引。那除开索引之外,还有哪些因素会导致数据库查询变慢呢?

数据库、数据库系统、数据库管理系统三者之间的关系是:数据库系统包含数据库和数据库管理系统。数据库系统是带有数据库的计算机系统,一般由数据库、数据库管理系统(及其开发工具)、相关的硬件、软件和各类人员组成。

数据库的“完整性”是指数据的正确性和相容性。完整性是指数据库中数据在逻辑上的一致性、正确性、有效性和相容性。完整性对于数据库系统的重要性:1、数据库完整性约束能够防止合法用户使用数据库时向数据库中添加不合语义的数据;2、合理的数据库完整性设计,能够同时兼顾数据库的完整性和系统的效能;3、完善的数据库完整性有助于尽早发现应用软件的错误。

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于mysql获取时间、格式转换各类操作方法的相关内容, 下面一起来看一下,希望对大家有帮助。


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

뜨거운 주제



