创建数据库

hive创建数据库的最简单写法和mysql差不多:

create database foo;

仅当名为foo的数据库当前不存在时才创建:

create database if not exists foo;

创建数据库时指定位置,这个位置一般是在hdfs上的位置:

create database foo location '/db/foo';

查看已经创建的数据库:

show databases ;

使用通配符查看foo开头的数据库:

show databases like 'foo.*';

查看创建数据库的语句:

show create database foo ;

hive为每一个数据库创建一个目录,这个数据库中的表将会以子目录的形式放在这个数据库目录下

有一个例外就是default数据库中的表,default数据库没有自己的目录,所以是直接放在/user/hive/warehouse下面的:

同样的,当创建数据库如果没有指定存储位置,默认就是在/user/hive/warehouse/下的:

数据库描述信息

在创建数据库时可以指定描述性信息:

create database foo comment 'this is foo database';

通过describe database可以查看到数据库的详细信息:

describe database foo;

数据库键值对信息

数据库可以有一些描述性的键值对信息,在创建时添加:

create database foo with dbproperties ('own'='cc', 'day'='20180120');

查看数据库的键值对信息:

describe database extended foo;

要修改数据库的键值对信息:

alter database foo set dbproperties ('k1'='v1', 'k2'='v2');

删除数据库

drop database if exists foo;

注意:

默认情况下是不允许直接删除一个有表的数据库的:

删除一个有表的数据库有两种办法:

1. 先把表删干净,再删库。

2. 删库时在后面加上cascade,表示级联删除此数据库下的所有表:

drop database if exists foo cascade;

prompt显示当前数据库名称

如果在一个数据库很多的环境下工作,需要 在不同的库之间切来切去(手动敲查询的时候全使用dbName.table可不是什么好主意…),可能一不小心就忘记自己当前在哪个数据库下了,可以通过设置一个属性改变当前的命令提示符,更专业的说法是prompt(用过CLI界面的应该对这个概念很熟悉),通过设置hive.cli.print.current.db属性可以在hive cli中显示当前数据库的名称,比如当前的数据库名称是foo:

set hive.cli.print.current.db=true

.

Hive笔记之数据库操作的更多相关文章

  1. ThinkPHP 学习笔记 ( 三 ) 数据库操作之数据表模型和基础模型 ( Model )

    //TP 恶补ing... 一.定义数据表模型 1.模型映射 要测试数据库是否正常连接,最直接的办法就是在当前控制器中实例化数据表,然后使用 dump 函数输出,查看数据库的链接状态.代码: publ ...

  2. Symfony2学习笔记之数据库操作

    数据库和Doctrine让我们来面对这个对于任何应用程序来说最为普遍最具挑战性的任务,从数据库中读取和持久化数据信息.幸运的是,Symfony和Doctrine进行了集成,Doctrine类库全部目标 ...

  3. moodle笔记之-数据库操作

    <?php require_once('../config.php'); // config.php under root folder require_once($CFG->dirroo ...

  4. django 笔记4 数据库操作

    django操作数据库 orm操作 对应关系 models.tb.objects.filter(id__gt=) models.tb.objects.filter(id=) models.tb.obj ...

  5. Laravel 学习笔记之数据库操作——Eloquent ORM

    1. 时间戳 默认情况下在使用ORM操作数据库进行添加.修改数据时, created_at 和 updated_at列会自动存在于数据表中,并显示的是 ‘2017’格式,如果想以 Unix时间戳格式存 ...

  6. ThinkPHP 学习笔记 ( 四 ) 数据库操作之关联模型 ( RelationMondel ) 和高级模型 ( AdvModel )

    一.关联模型 ( RelationMondel ) 1.数据查询 ① HAS_ONE 查询 创建两张数据表评论表和文章表: tpk_comment , tpk_article .评论和文章的对应关系为 ...

  7. Flas-SQLAchemy数据库操作使用学习笔记

    Flas-SQLAchemy数据库操作使用学习笔记 Flask-SQLALchemy 是一个给你的应用添加 SQLALchemy 支持的 Flask 扩展.SQLALchemy 是Python语言的S ...

  8. golang学习笔记16 beego orm 数据库操作

    golang学习笔记16 beego orm 数据库操作 beego ORM 是一个强大的 Go 语言 ORM 框架.她的灵感主要来自 Django ORM 和 SQLAlchemy. 目前该框架仍处 ...

  9. Python学习笔记:sqlite3(sqlite数据库操作)

    对于数据库的操作,Python中可以通过下载一些对应的三方插件和对应的数据库来实现数据库的操作,但是这样不免使得Python程序变得更加复杂了.如果只是想要使用数据库,又不想下载一些不必要的插件和辅助 ...

随机推荐

  1. Java-JDBC.mysql 工具类 读取本地文件配置

    引用 mysql-connector-jav 的jar 配置文件为  database.propertties .  格式如下 driverClass=com.mysql.jdbc.Driver ur ...

  2. CGOS 8 备用交换机(割点)

    题目链接:http://cojs.tk/cogs/problem/problem.php?pid=8 题意:n个城市之间有通讯网络,每个城市都有通讯交换机,直接或间接与其它城市连接.因电子设备容易损坏 ...

  3. 深入理解JAVA虚拟机阅读笔记3——垃圾回收器

    一.垃圾收集器总览 新生代:Serial. ParNew. Parallel Scavenge 老年代:CMS.Serial Old. Parallel Old 最新的:G1 并行和并发的区别: 并行 ...

  4. JavaScript的setTimeout()和setInterval()

    1. setTimeout()方法 作用:在制定的毫秒数后调用函数或计算表达式 语法: setTimeout(code,millisec) 实例: function timedMsg() { var ...

  5. [BZOJ4044]Virus synthesis 回文自动机的DP

    4044: [Cerc2014] Virus synthesis Time Limit: 20 Sec  Memory Limit: 128 MB Description Viruses are us ...

  6. [BJOI2017]树的难题 点分治 线段树

    题面 [BJOI2017]树的难题 题解 考虑点分治. 对于每个点,将所有边按照颜色排序. 那么只需要考虑如何合并2条链. 有2种情况. 合并路径的接口处2条路径颜色不同 合并路径的接口处2条路径颜色 ...

  7. POJ.1986 Distance Queries ( LCA 倍增 )

    POJ.1986 Distance Queries ( LCA 倍增 ) 题意分析 给出一个N个点,M条边的信息(u,v,w),表示树上u-v有一条边,边权为w,接下来有k个询问,每个询问为(a,b) ...

  8. 解题:CQOI 2017 老C的任务

    题面 找到真正的KD-Tree题目了!然而出题人并不打算放KD-Tree过,只能O2了 // luogu-judger-enable-o2 #include<cstdio> #includ ...

  9. 《剑指offer》— JavaScript(20)包含min函数的栈

    包含min函数的栈 题目描述 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数. 实现代码 var stack = []; function push(node) { stack. ...

  10. 支付宝当面付功能demo运行解读

    下载java版本的sdk的demo: 然后拷入idea中: 准备工作: (1)验签工具下载:蚂蚁金服上面下载: https://openclub.alipay.com/read.php?tid=955 ...