数据库表结构相关修改
该文章主要内容为表结构的变化,包括表名修改、字段的新增、删除和修改,下面为具体内容:
一、新建表
1,Oracle
create table oracle_test(
name varchar(20) comment '姓名'
,age decimal(3) comment '年龄'
,sex varchar(10) comment '性别'
,school varchar(40) comment '学校'
)
;
2,hive
create table hive_test(
name string comment '姓名'
,age decimal(3) comment '年龄'
,sex string comment '性别'
,school string comment '学校'
)
row format delimited
fields teminated by '\t'
;
二、修改表名
1,Oracle
格式:rename 当前表名 to 新表名;
示例:rename oracle_test to oracle_test2;
释义:修改表oracle_test的表名为oracle_test2
2,hive
格式:alter table 表原来的名字 rename to 表新的名字
示例:alter table hive_test rename to students;
释义:将表名由 hive_test 修改为 students 。
三、修改列名
1,Oracle
格式:alter table 表名 rename column 当前列名 to 新列名;
示例:alter table oracle_test rename column age to birthday;
释义:修改表oracle_test的age字段名称为birthday
2,hive
格式:alter table 表名字 change column 列原来的名字 列的新名字 列的新字段类型
示例:alter table hive_test change column school class string;
释义:将表 hive_test 的字段 school 修改为 class,并且字段类型为 string;
四、新增字段
1,Oracle
格式:alter table 表名 add (新字段 字段类型(字段长度) );
示例:alter table oracle_test add (class varchar(20) );
释义:表oracle_test新增字段class,数据类型为varchar,字段长度为20
2,hive
格式:alter table 表名 add columns (新字段 字段类型 comment '字段注释');
示例:alter table hive_test add columns (c_time string comment '当前时间');
释义:表hive_test新增字段c_time,字段类型为string,注释为当前时间
注意:新增的字段会放在该表的最后一个字段位置
五、在指定位置新增字段
1,Oracle
Oracle只可以在表的最前面或者最后面新增字段,不可以指定字段的位置
(1)如果表很大需要采用视图的方式
(2)如果数据量不是很大,可以通过字段转移的方式,但是不推荐这种方式
(3)如果数据量很小,那就可以先删除,再新建表,但是再删除表之前,一定要做好数据的备份
2,hive
格式:alter table 表名 change 需要指定位置的字段 需要指定位置的字段 字段类型 after 指定的字段位置 ;
示例:alter table hive_test change c_time c_time string after sex ;
释义:将表hive_test的c_time字段指定到sex字段之后
注意:这里需要两步,先新增字段在表的最后,然后在指定字段的位置
六、删除表字段
1,Oracle
格式:alter table 表名 drop column 字段名;
示例:alter table oracle_test drop column sex;
释义:删除表oracle_test的sex字段
2,hive
hive中不支持alter table table_name drop columns这种语法,支持replace
可以采用:
-- 新建表,如果表存在,则直接进行删除字段的操作
create table hive_test2 (
col1 string,
col2 string);--删除column_2
alter table hive_test2 replace columns(
col1 string); --col2 不写,即删除col2,保留col1
七、修改表的字段类型
1,Oracle
格式:alter table 表名 modify (字段名 字段类型 默认值 是否为空);//默认值和是否为空可以不写
示例:alter table oracle_test modify(age varchar(10));
释义:修改表oracle_test的age字段为varchar类型,字段长度为10
2,hive
格式:alter table 表名 change column 原字段名称 现字段名称 数据类型;
示例:alter table hive_test change column age age string;
释义:修改表hive_test的age字段的数据类型为string
我是晓之以理的喵,欢迎大家多多交流~~
数据库表结构相关修改相关推荐
- sql+php修改mysql结构,MSSQL_修改SQL-SERVER数据库表结构的SQL命令附sql命令行修改数据库,具体不废话了,请看下文代码 - phpStudy...
修改SQL-SERVER数据库表结构的SQL命令附sql命令行修改数据库 具体不废话了,请看下文代码详细说明吧. 向表中增加一个 varchar 列: ALTER TABLE distributors ...
- MySQL数据库基础学习小终结:连接查询、表结构的修改、约束条件、MySQL与python交互
目录 一.连接查询 1.内连接 2.外连接 二.表结构的修改--alter 1.修改表名 2.修改字段名 3.修改字段类型--modify 4.添加字段 (1)添加日期字段:datetime (2)e ...
- java 修改mysql数据库表结构_MYSQL数据库表结构优化方法详解
摘要:这篇MySQL栏目下的"MYSQL数据库表结构优化方法详解",介绍的技术点是"mysql数据库表结构.MySQL数据库.数据库表结构.MySQL.据库表结构.数据库 ...
- 开源数据库表结构文档生成器
大家好,我是TJ 一个励志推荐10000款开源项目与工具的程序员 TJ君前几天和一个在银行科技部上班的同学聚会,同学跟TJ君吐槽,一些小银行的科技表面看上去专业,实际各种马虎不负责. 打个比方,有一次 ...
- Activiti数据库表结构(表详细版)
http://blog.csdn.net/hj7jay/article/details/51302829 1 Activiti数据库表结构 1.1 数据库表名说明 Activiti工作流总 ...
- navicat查询oracle表结构,利用Navicat Premium导出数据库表结构信息至Excel的方法
因为要编写设计文档,需要用到数据库表结构,想要在word文档中以二维表格的形式展示,故借助Excel形成二维表格样式,还是很方便的样子! 1.新建查询,并将以下SQL语句修改至需要 SELECT CO ...
- Java实现生成数据库表结构文档(生成工具screw的使用)
目录 一.screw介绍 1.简介 2.特点 3.文档格式 二.生成方式 2.1 方式1:使用 Java 代码 2.1.1 引入依赖 2.1.2 编写代码 2.1.3 测试 2.2 方式2:使用 Sp ...
- 用python画路飞代码_python 全栈开发,Day105(路飞其他数据库表结构,立即结算需求)...
考试第三部分:Django 16. 列列举你熟悉的Http协议头以及作用.(1分) Accept-Charset: 用于告诉浏览器,客户机采用的编码 Host: 客户机通过这个头告诉服务器,想访问的 ...
- MySQL数据库表结构的设计
一.前言 1.1 关系型数据库 数据库关系型模型的概念最早由"关系数据库之父"之称的埃德加·弗兰克·科德(Edgar Frank Codd或E. F. Codd)博士提出,1970 ...
最新文章
- 小学生也能看懂的微服务节点判活难题
- 关于AXI DMA CYCLIC 调试过程中的问题
- vue里碰到 $refs 的问题
- Windows Phone StackPanel 布局示例
- python 计算机程序设计-计算机程序设计(Python)
- PyQt5系列(一)第一个helloworld
- 页面性能优化的利器 — Timeline
- 电商设计中的一些概念
- 西门子阀门定位器安装教程来啦,不会安装的宝贝们仔细看看咯!
- 手机怎么将视频制作成GIF?手机端动态图片制作的方法
- 【原创】个人常用电脑软件、浏览器插件、手机APP常用推荐
- Alfresco文档管理系统 文档
- PHP解决验证码无法显示的方法
- unity 球体表面平均分割点
- Ubuntu20.04.iso光盘镜像源文件百度云下载
- Uniapp返回上一页触发页面更新
- MATLAB程序设计与应用 4.1 M文件
- 小米双剑出鞘,红米2、小米4S所到之处尸横满地?
- 白盒测试(单元测试JUnit使用断言assertThat中startsWith、endsWith方法)
- 人脸识别技术的简单认识(含原理)