SQL--DDL数据定义语言(Oracle)

2024-04-17 13:44

本文主要是介绍SQL--DDL数据定义语言(Oracle),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 数据定义语言
    • 创建表
    • 删除表
    • 清空表
    • 修改表
      • 修改表名,列名
      • 修改字段属性
      • 添加字段
      • 删除字段

数据定义语言

是针对数据库对象操作的语言
数据库对象:表,约束,视图,索引,序列…

CREATE     ---创建数据库对象
DROP       ---删除数据库对象
ALTER      ---修改数据库对象
TRUNCATE   ---清空  

以表来举例

创建表

CREATE TABLE  表名(列名1 字段属性,列名2 字段属性,列名3 字段属性.....)

表名和列名的命名规范:
1.必须以字母开头
2.不建议使用中文
3.除了_以外,不建议使用其他符号
4.长度不能超过30
5.同一个用户下,表名不能重复,同一张表下列名不能重复

CREATE TABLE Haha (Zno NUMBER(4),zname VARCHAR2(4000));
SELECT * FROM Haha;

在这里插入图片描述
DDL语言不需要commit提交的,执行成功即生效
快捷建表:

CREATE TABLE 表名 AS SQL语句 -----sql查询结果创建成表
CREATE TABLE hengh AS SELECT  emp.*,dname,loc FROM emp LEFT JOIN dept ON emp.deptno = dept.deptno;

在这里插入图片描述
表结构连同数据一起过来了。
如果不想要数据,可以在后面加一个永远不成立的条件,如:

CREATE TABLE hengheng AS SELECT  emp.*,dname,loc FROM emp LEFT JOIN dept ON emp.deptno = dept.deptno 
where 1=2;

在这里插入图片描述
练习:
快捷建表要求 该表有 姓名岗位薪资部门编号部门名称部门地址以及对应的部门平均工资

CREATE TABLE HEIHEI ASSELECT ENAME,JOB,A.DEPTNO,DNAME,(SELECT AVG(SAL) FROM EMP B WHERE B.DEPTNO = A.DEPTNO) AVGSALFROM EMP ALEFT JOIN DEPTON A.DEPTNO = DEPT.DEPTNO

删除表

DROP TABLES 表名

危险!因为是DDL语句,执行成功即生效,不要使用。

清空表

TRUNCATE TABLE 表名.

TRUNCATE 和DELETE 的区别
1.DELETE 属于dml语句,TRUNCATE 属于ddl语句
2.DELETE 会产生回滚日志,TRUNCATE 不会产生回滚日志,所以当你想要清空所有数据的时候,TRUNCATE 会效率高。
3.DELETE 可以删除部分数据,而TRUNCATE只能清空所有数据
4.DELETE 不释放空间,而TRUNCATE会释放空间

修改表

ALTER 修改数据库对象
以修改表举例

修改表名,列名

修改列名

ALTER TABLE 表名 RENAME COLUMN 旧列名 TO 新列名;

修改表名

ALTER TABLE 表名 RENAME TO 新表名;

注意:在工作中尽量少用,

修改字段属性

语法

ALTER TABLE 表名 MODIFY (列名 新字段属性,列名2,新字段属性);

1.修改属性大小 — 一般情况下是 往大改

ALTER TABLE heih MODIFY(ename varchar(30));

如果往小改,不能低于数据长度。改到比数据还小则会错误
2.修改属性

ALTER TABLE heih MODIFY(ename,number)

若修改属性,则该列必须为空。

添加字段

ALTER TABLE 表名 ADD(列名1 字段属性,列名2 字段属性......)

删除字段

ALTER TABLE DROP (列名1,列名2,列名3....) 

连同数据一起删掉。
但是不能删除全部列,至少保留一个字段

这篇关于SQL--DDL数据定义语言(Oracle)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/911955

相关文章

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

SQL中的外键约束

外键约束用于表示两张表中的指标连接关系。外键约束的作用主要有以下三点: 1.确保子表中的某个字段(外键)只能引用父表中的有效记录2.主表中的列被删除时,子表中的关联列也会被删除3.主表中的列更新时,子表中的关联元素也会被更新 子表中的元素指向主表 以下是一个外键约束的实例展示

基于MySQL Binlog的Elasticsearch数据同步实践

一、为什么要做 随着马蜂窝的逐渐发展,我们的业务数据越来越多,单纯使用 MySQL 已经不能满足我们的数据查询需求,例如对于商品、订单等数据的多维度检索。 使用 Elasticsearch 存储业务数据可以很好的解决我们业务中的搜索需求。而数据进行异构存储后,随之而来的就是数据同步的问题。 二、现有方法及问题 对于数据同步,我们目前的解决方案是建立数据中间表。把需要检索的业务数据,统一放到一张M

关于数据埋点,你需要了解这些基本知识

产品汪每天都在和数据打交道,你知道数据来自哪里吗? 移动app端内的用户行为数据大多来自埋点,了解一些埋点知识,能和数据分析师、技术侃大山,参与到前期的数据采集,更重要是让最终的埋点数据能为我所用,否则可怜巴巴等上几个月是常有的事。   埋点类型 根据埋点方式,可以区分为: 手动埋点半自动埋点全自动埋点 秉承“任何事物都有两面性”的道理:自动程度高的,能解决通用统计,便于统一化管理,但个性化定

如何去写一手好SQL

MySQL性能 最大数据量 抛开数据量和并发数,谈性能都是耍流氓。MySQL没有限制单表最大记录数,它取决于操作系统对文件大小的限制。 《阿里巴巴Java开发手册》提出单表行数超过500万行或者单表容量超过2GB,才推荐分库分表。性能由综合因素决定,抛开业务复杂度,影响程度依次是硬件配置、MySQL配置、数据表设计、索引优化。500万这个值仅供参考,并非铁律。 博主曾经操作过超过4亿行数据

使用SecondaryNameNode恢复NameNode的数据

1)需求: NameNode进程挂了并且存储的数据也丢失了,如何恢复NameNode 此种方式恢复的数据可能存在小部分数据的丢失。 2)故障模拟 (1)kill -9 NameNode进程 [lytfly@hadoop102 current]$ kill -9 19886 (2)删除NameNode存储的数据(/opt/module/hadoop-3.1.4/data/tmp/dfs/na

异构存储(冷热数据分离)

异构存储主要解决不同的数据,存储在不同类型的硬盘中,达到最佳性能的问题。 异构存储Shell操作 (1)查看当前有哪些存储策略可以用 [lytfly@hadoop102 hadoop-3.1.4]$ hdfs storagepolicies -listPolicies (2)为指定路径(数据存储目录)设置指定的存储策略 hdfs storagepolicies -setStoragePo

Hadoop集群数据均衡之磁盘间数据均衡

生产环境,由于硬盘空间不足,往往需要增加一块硬盘。刚加载的硬盘没有数据时,可以执行磁盘数据均衡命令。(Hadoop3.x新特性) plan后面带的节点的名字必须是已经存在的,并且是需要均衡的节点。 如果节点不存在,会报如下错误: 如果节点只有一个硬盘的话,不会创建均衡计划: (1)生成均衡计划 hdfs diskbalancer -plan hadoop102 (2)执行均衡计划 hd

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置

MySQL数据库宕机,启动不起来,教你一招搞定!

作者介绍:老苏,10余年DBA工作运维经验,擅长Oracle、MySQL、PG、Mongodb数据库运维(如安装迁移,性能优化、故障应急处理等)公众号:老苏畅谈运维欢迎关注本人公众号,更多精彩与您分享。 MySQL数据库宕机,数据页损坏问题,启动不起来,该如何排查和解决,本文将为你说明具体的排查过程。 查看MySQL error日志 查看 MySQL error日志,排查哪个表(表空间