当前位置: 首页 > news >正文

国内网站建设哪家好自媒体平台app

国内网站建设哪家好,自媒体平台app,申报湖南创新型省份建设专项网站,深圳交友网站建设一、Hive的DDL语句 在 Hive 中,DDL(数据定义语言)语句用于数据库和表的创建、修改、删除等操作。以下是一些重要的 DDL 语句: 1. 创建数据库和表 创建数据库 CREATE DATABASE IF NOT EXISTS database_name;创建表 CREATE TABLE …

一、Hive的DDL语句

在 Hive 中,DDL(数据定义语言)语句用于数据库和表的创建、修改、删除等操作。以下是一些重要的 DDL 语句:

1. 创建数据库和表

  • 创建数据库

    CREATE DATABASE IF NOT EXISTS database_name;
    
  • 创建表

    CREATE TABLE table_name (column1_name data_type,column2_name data_type,...
    )
    COMMENT 'Table comment'
    STORED AS file_format;
    

2. 修改表

  • 重命名表

    ALTER TABLE old_table_name RENAME TO new_table_name;
    
  • 添加列

    ALTER TABLE table_name ADD COLUMNS (new_column_name1 data_type , new_column_name2 data_type);
    
  • 重命名列

    ALTER TABLE table_name CHANGE old_column_name new_column_name data_type;
    
    • CHANGE 不能进行从字符串到数字类型或从大数字类型到小数字类型的转换
  • 删除列:

    • 使用 REPLACE COLUMNS 可以“删除”某些列,其实本质是通过重新定义表的列结构来实现。

    • 实际上,删除的列的数据不会立即物理删除,而是从表结构中移除。

    • REPLACE COLUMNS 中,需要列出所有想要保留的列及其数据类型。

    • 未列出的列将被“删除”。

    • 限制:只能从末尾开始删除列。如果从中间或开头删除,可能会导致表结构的错误,且无法恢复这些列的数据。

示例

假设有一个表 shop_fq,包含以下列:

CREATE TABLE shop_fq (id INT,name STRING,price DECIMAL(10, 2),category STRING
);

如果需要删除 pricecategory 列,只保留 idname,可以这样操作:

ALTER TABLE shop_fq REPLACE COLUMNS (id INT,name STRING
);

注意

  • 数据的物理存在: 虽然列被“删除”,但数据仍然存在于文件中,只是 Hive 不再管理这些数据。

3. 删除数据库和表

  • 删除数据库

    DROP DATABASE IF EXISTS database_name CASCADE;
    
  • 删除表

    DROP TABLE IF EXISTS table_name;
    

4. 分区和分桶

  • 创建分区表

    CREATE TABLE table_name (column1_name data_type,column2_name data_type
    )
    PARTITIONED BY (partition_column_name data_type)
    STORED AS file_format;
    
  • 创建分桶表

    CREATE TABLE table_name (column1_name data_type,column2_name data_type
    )
    CLUSTERED BY (bucket_column_name) INTO num_buckets BUCKETS
    STORED AS file_format;
    

5. 修改分区

  • 添加分区

    ALTER TABLE table_name ADD PARTITION (partition_column='value');
    
  • 删除分区

    ALTER TABLE table_name DROP PARTITION (partition_column='value');
    

二、Hive的子查询

查询出和10号部门的工作岗位相同的其他部门的员工信息

1. IN 子查询(由于HIVE莫名的不可抗力会经常报错,建议用后两种方法)

SELECT * 
FROM emp 
WHERE job IN (SELECT job FROM emp WHERE deptno=10) 
AND deptno != 10;
  • 从表 emp 中选择所有员工。
  • 条件是员工的 job 在子查询返回的职位列表中。
  • 子查询从 deptno 为 10 的部门中选择 job
  • 还要求 deptno 不是 10,以排除自身。

2. LEFT SEMI JOIN

SELECT * 
FROM (SELECT * FROM emp WHERE deptno != 10) a
LEFT SEMI JOIN (SELECT job FROM emp WHERE deptno=10) b
ON a.job = b.job;
  • emp 表中选择 deptno 不等于 10 的员工。
  • 使用 LEFT SEMI JOIN 将这些员工和来自 deptno 为 10 的员工的职位匹配。
  • LEFT SEMI JOIN 只返回在 b 中匹配的 a 的行,相当于使用 IN 的效果。

3. EXISTS

SELECT * 
FROM emp e 
WHERE EXISTS (SELECT 1 FROM emp b WHERE b.deptno=10 AND e.job = b.job) 
AND e.deptno != 10;
  • 从表 emp 中选择所有员工。
  • 使用 EXISTS 子查询检查是否存在 deptno 为 10 且 job 相同的记录。
  • 同时确保 deptno 不等于 10,以排除自身。
http://www.zhongyajixie.com/news/8949.html

相关文章:

  • 开发公司季度安全会议搜索引擎营销seo
  • 网站什么意思温州seo按天扣费
  • 东莞做网站平台不死鸟分享友情链接
  • 区域文化网站建设方案菏泽地网站seo
  • 加强网站建设 提升优化大师是什么意思
  • 织梦网站建设教程北京seo关键词排名优化
  • 移动端网站建设推广方案百度查关键词显示排名
  • 做网站的主流软件线上营销推广方案有哪些
  • 网站建设启动资金预算重庆放心seo整站优化
  • 电信ip做的网站移动不能访问如何做google推广
  • 网站架构演变过程站长工具箱
  • 哪个网站做医学培训好专门代写平台
  • 湖北省职业能力建设处网站电商运营培训课程有哪些
  • 公司法治企业建设seo数据
  • 技术支持:洛阳网站建设百度一下你知道
  • 第三方网站做企业满意度调查域名注册服务网站
  • 建站费用参考湖南网络优化服务
  • 南山做网站公司shodan搜索引擎
  • wordpress page 单页南京百度关键字优化价格
  • 两耳清风怎么做网站cba最新积分榜
  • 青海营销网站建设服务百度推广开户电话
  • 搭建专业网站服务器什么是百度竞价排名服务
  • 中国建设银行官网站汽车卡推广公司好做吗
  • 网站广告出价平台厦门网站建设公司哪家好
  • 图片代码如何做网站深圳搜索优化排名
  • 东城动态网站制作专业定制百度2023免费
  • 广州做贸易网站如何做网络推广赚钱
  • 惠州网站建设网站微博推广有用吗
  • windows2008 网站部署关键词搜索引擎优化推广
  • 做网站的那些事十大跨境电商erp排名