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

Oracle-day5:新增、复制建表、表结构、表数据、删除

目录

一、insert新增数据

二、复制建表

三、表结构修改

四、查看表结构、表数据处理

五、修改表数据

六、删除语句

八、练习题


一、insert新增数据

/*
  ---------- 一、DML 数据操作语言--------
  -- 1、增加数据 insert
  语法:insert into 表名 (列1,列2,...) values (值1,值2,...);
  -- 要求:
     -- a、列和值必须一一对应(位置、数据类型、约束)
  -- 注意:
     a、新增的数据需要提交commit才能保存到数据库中
     b、撤销新增加的数据需要回滚:rollback
     c、默认值:default表示   
*/

-- 1、往 student1表中添加数据
insert into student1(sno,sname,ssex,sage,bir,clsno)values('001','李四','男',19,date'2023-8-19','2');
-- 1.1 对于时间的输入,也可以用:to_date('日期字符串','日期格式yyyy-mm-dd')的方式如录入-- 2、往全部列中添加数据,可以省略列名不写
insert into student1 values('002','王五','男',19,date'2023-8-19','2');-- 3、可以将表到处 导成标准的 insert into 语句 文档
-- 工具 --> 导出表 窗口 --> 选择 sql插入 指定文件名 --> 导出

二、复制建表

   ------- 二、复制建表 -------
   create table 表名 as select 查询语句 where 条件;
   复制建表:只复制表结构,不会复制数据
   不会复制主键约束、检查约束、默认值约束、唯一约束、外键约束
   会复制非空约束

-- 1、复制student1的表
create table student2 as select * from student1 where 1 = 2;

where用来控制是复制结构或者把表数据都给复制过去

三、表结构修改

       ---------三、表结构修改-----------
    ---1、菜单操作
        --左边对象浏览器栏 点击tables 找到对应的表 -->右键 编辑 -->表结构 窗口--> 列 选型 --> 增加列、修改列、删除列
    ---2、sql语句操作
        -- 语法:alter table 表名

-- 1、增加列 add
-- 语法:alter table 表名 add(列1 数据类型,列2 数据类型);
alter table student001 add(a number,b varchar(20));-- 2、修改列 modify
-- 语法:alter table 表名 modify(列1 数据类型,列2 数据类型...)
-- 注意:其他数据类型可以修改为字符串,但是字符串不能修改为其他数据类型
alter table student001 modify(a varchar(20));-- 3、删除列 drop 会删除
-- 语法:alter table 表名 drop(列名1,列名2)
alter table student001 drop(a,b)
select * from student001;
-- 4、重命名列 rename column                                                                                                                                                        
-- 语法:alter table 表名 rename column 旧列名 to 新列名
-- 把sno改为stuId
alter table student001 rename column sno to stuid;

四、查看表结构、表数据处理

      ---------五、查看表结构、表数据处理
       --查看表结构
    --左边对象浏览器栏 点击tables 找到对应的表 -->右键 查看或编辑 -->表结构  -->列选项
    --在命令窗口 sql提示符输入 desc 表名;   回车执行

--1、清空表数据 truncate table 表名;
truncate table student001;--2、批量复制数据
--insert into 表名 select 查询语句;
insert into student_b select * from student_a;
commit;-- 3、对表重命名
-- rename 旧表名 to 新表名
rename student001 to student01;

五、修改表数据

       ---------- 六、修改数据----------
       update语法:update 表名 set 列1 = 值2 where 条件
       注:如果不使用where,那么会修改整个表的数据

select * from student01;
-- 修改用户的年龄是:系统时间 - sbirthday的时间
alter table student01 add (age number) ; -- 新增一个年龄列
select sysdate,to_char(sysdate,'yyyy') y from dual;-- 1、更新用户的年龄:系统时间-出生
update student01 s set age=to_char(sysdate,'yyyy')-to_char(sbirthday,'yyyy') where sname = 'wang';
update student01 s set age=to_char(sysdate,'yyyy')-to_char(sbirthday,'yyyy');
commit;

六、删除语句

       --------------删除语句-----------
       truncate -- DDL 语句,删除表中的数据,效率高
       delete -- 删除表中的数据,逐行删除,DML语句
       delete的语法:
       -- delete from 表名 where 条件;
       -- from可以省略,不要where条件会删除整个表的数据

select * from student01;-- 1、删除掉stuid为001的数据
delete student01 where stuid = 001;
rollback; -- 回滚-- 2、delete不带where条件会清空整表数据
delete student01;
rollback; -- 回滚

八、练习题

 --练习题:--1、新建一个表emp2 要求emp2的结构和emp一样,同时要把emp的数据复制过去
create table emp2 as select * from emp;
select * from emp;
select * from emp2;--2、在emp2表中增加一行数据
insert into emp2 values(8000,'zs','CLERK',7782,date'2023-08-29',1500,0,10);
select * from emp2;--3、在emp2表中增加列bz和bz1,数据类型为字符串
alter table emp2 add(bz varchar(20),bz1 varchar2(30));
select * from emp2; --4、将emp中的所有记录工资sal+1000,comm+1000插入到emp2中
-- 4.1 先查询出emp表中的工资
select sal+1000,comm+1000 from emp;
select * from emp;
select * from emp2;
-- 合并子查询
update emp2 set sal = (select sal+1000 from emp where empno = emp2.empno
),comm = (select nvl(comm,0)+1000 from emp where empno = emp2.empno
)
;
select * from emp2; 
rollback;--5、将emp2中empno为7654的comm奖金修改为2000
update emp2 
set comm = 2000 
where empno = 7654;select * from emp2; --6、将emp2中员工姓名ename中包含ALL的奖金修改为1600
update emp2 
set comm = 1600 
where
ename like '%ALL%'; -- 验证
select * from emp2 
where ename like '%ALL%'; --7、在emp2表中增加一个列age,将截止到当前时间的每一个员工工作的年限更新到age列
alter table emp2 
add(age number)
; -- 新增ageselect * from emp2; update emp2 
set age = to_char(sysdate,'yyyy') - to_char(hiredate,'yyyy')
; -- 更新select e.*,rownum from emp2 e;

相关文章:

Oracle-day5:新增、复制建表、表结构、表数据、删除

目录 一、insert新增数据 二、复制建表 三、表结构修改 四、查看表结构、表数据处理 五、修改表数据 六、删除语句 八、练习题 一、insert新增数据 /* ---------- 一、DML 数据操作语言-------- -- 1、增加数据 insert 语法:insert into 表名 (列1,列2,…...

Scratch 画画的技巧

前言 美术是一种艺术,且不局限于纸张,就像电脑绘图也属于美术。我至今已有三年多的画龄,经验丰富,尤其擅长在scratch造型编辑器上画矢量图。今天给大家分享一些实用的技巧。 1.讲解 用橡皮工具给一个圆擦出“橡皮洞” 橡皮工具&a…...

国际版阿里云/腾讯云:阿里弹性云手机正式公测

阿里弹性云手机正式公测 什么是“云手机”?与我们传统的手机有何区别?它又有什么用处呢?当你接触到云手机概念的时候,是不是也会有这一连串的疑问。本文将为你揭开云手机的奥秘面纱。 2021年12月1日,阿里弹性云手机正…...

服务器数据恢复- RAID5出现故障后恢复数据和操作系统的案例

服务器数据恢复环境: 某品牌服务器中有4块SAS硬盘组建了一组RAID5阵列,另外1块磁盘作为热备盘使用。上层操作系统为redhat linux,部署了一个数据库是oracle的OA。 服务器故障&初检: RAID5中一块磁盘离线后热备盘未自动激活re…...

Vue3实现可视化拖拽标签小程序

介绍 实现功能&#xff1a;可视化标签拖拽&#xff0c;双击标签可修改标签内容 HTML结构 <div class"box" v-move><div class"header">标签1</div><div dblclick"startEditing" v-if"!isEditing">{{content…...

SSM 前端使用AJAX方式,fromdata文件格式上传二进制流文件

今天在上课的时候&#xff0c;遇到了一个比较坑的问题&#xff0c;有个学生拿来了她的代码&#xff0c;让我给她看看为什么传值传不过来。 首先&#xff0c;前端是这样的&#xff1a; function upload(){var formData new FormData();formData.append(images, $(#previewImg)…...

LeetCode-455-分发饼干-贪心算法

题目描述&#xff1a; 假设你是一位很棒的家长&#xff0c;想要给你的孩子们一些小饼干。但是&#xff0c;每个孩子最多只能给一块饼干。 对每个孩子 i&#xff0c;都有一个胃口值 g[i]&#xff0c;这是能让孩子们满足胃口的饼干的最小尺寸&#xff1b;并且每块饼干 j&#xff…...

新版 Next.js 从入门到入土

本教程用的Next.js 是 13 版本 Next.js 简介 完善的React项目&#xff0c;搭建轻松自带数据同步&#xff0c;解决服务端渲染最大难点丰富的插件灵活配置 创建第一个项目 手动创建 初始化 npm init安装所需要的依赖包 npm install --save react react-don next增加快捷命…...

OpenCV(十):图像缩放、翻转、拼接的介绍与使用

目录 &#xff08;1&#xff09;图像缩放&#xff1a;resize() &#xff08;2&#xff09;图像翻转&#xff1a; flip() &#xff08;3&#xff09;图像拼接&#xff1a;hconcat() 和vconcat() &#xff08;1&#xff09;图像缩放&#xff1a;resize() 使用 cv2.resize() 函…...

C++ 学习之 构造函数 和 析构函数

前言 总的来说&#xff0c;构造函数负责对象的初始化&#xff0c;而析构函数负责对象的清理和资源释放。它们是C面向对象编程中非常重要的概念&#xff0c;用于管理对象的生命周期&#xff0c;确保对象在创建和销毁时都能够正确地进行初始化和清理。 正文 看代码 class perso…...

加快 MySQL 数据迁移

目录 一、先导 1. 自建目标实例 2. 配置目标主从 二、源导出 1. 生成查询用户权限的SQL语句 2. 生成权限的SQL语句 3. 生成创建非主键索引的SQL语句 4. 导出源库结构 5. 导出源库数据 三、目标导入 1. 目标实例设置 2. 创建用户与权限 3. 处理结构导出文件 4. 导…...

CANalyzer panel

(1205条消息) CAPL 脚本中对信号&#xff0c;系统变量&#xff0c;环境变量的 事件响应_capl programs脚本怎么写信号运算_蚂蚁小兵的博客-CSDN博客 注意环境变量是在工程关联的dbc中创建的&#xff1b;而系统变量是在CANoe工程工具栏的”Environment”下的”System Variables”…...

延迟队列的理解与使用

目录 一、场景引入 二、延迟队列的三种场景 1、死信队列TTL对队列进行延迟 2、创建通用延时消息死信队列 对消息延迟 3、使用rabbitmq的延时队列插件 x-delayed-message使用 父pom文件 pom文件 配置文件 config 生产者 消费者 结果 一、场景引入 我们知道可以通过TT…...

jQuery成功之路——jQuery的DOM操作简单易懂

jQuery的DOM操作 1.jQuery操作内容 jQuery操作内容 1. text() 获取或修改文本内容 类似于 dom.innerText 2. html() 获取或修改html内容 类似 dom.innerHTML 注意: 1. text() 是获取设置所有 2. html() 是获取第一个,设置所有 <!DOCTYPE html> <html lang"zh…...

C++ 学习系列 -- 智能指针 make_shared 与 make_unique

一 make_shared 1.1 make_shared 是什么&#xff1f; c 11 中 引入了智能指针 shared_ptr&#xff0c;以及一个模板函数 make_shared 来生成一个制定类型的 shared_ptr。 1.2 引入 make_shared &#xff0c;解决了什么问题&#xff1f; make_shared的引入&#xff0c;主…...

贝叶斯神经网络 - 捕捉现实世界的不确定性

贝叶斯神经网络 - 捕捉现实世界的不确定性 Bayesian Neural Networks 生活本质上是不确定性和概率性的&#xff0c;贝叶斯神经网络 (BNN) 旨在捕获和量化这种不确定性 在许多现实世界的应用中&#xff0c;仅仅做出预测是不够的&#xff1b;您还想知道您对该预测的信心有多大。例…...

games101作业1

题目 给定三维下三个点 v0(2.0, 0.0, −2.0), v1(0.0, 2.0, −2.0), v2(−2.0, 0.0, −2.0), 你需要将这三个点的坐标变换为屏幕坐标并在屏幕上绘制出对应的线框三角形 (在代码框架中&#xff0c;我们已经提供了 draw_triangle 函数&#xff0c;所以你只需要去构建变换矩阵即可…...

LeetCode 面试题 02.08. 环路检测

文章目录 一、题目二、C# 题解 一、题目 给定一个链表&#xff0c;如果它是有环链表&#xff0c;实现一个算法返回环路的开头节点。若环不存在&#xff0c;请返回 null。 如果链表中有某个节点&#xff0c;可以通过连续跟踪 next 指针再次到达&#xff0c;则链表中存在环。 为了…...

【Linux】线程安全-生产者消费者模型

文章目录 生产者消费者模型123规则应用场景优点忙闲不均生产者和消费者解耦支持高并发 代码模拟 生产者消费者模型 123规则 1个线程安全的队列&#xff1a;只要保证先进先出特性的数据结构都可以称为队列 这个队列要保证互斥&#xff08;就是保证当前只有一个线程对队列进行操…...

优化(2) 2023/09/03

今天重新温习了下clean abap&#xff0c;以前只是偶尔打开看几眼。今天把有些自己不熟悉的地方&#xff0c;重点研究了下。有几个点可以在以后工作使用。这几点可能并不能提升程序效率&#xff0c;但会大大提高代码可读性和代码的可扩展性&#xff1a; 用insert XXX into tabl…...

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...

工业安全零事故的智能守护者:一体化AI智能安防平台

前言&#xff1a; 通过AI视觉技术&#xff0c;为船厂提供全面的安全监控解决方案&#xff0c;涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面&#xff0c;能够实现对应负责人反馈机制&#xff0c;并最终实现数据的统计报表。提升船厂…...

STM32F4基本定时器使用和原理详解

STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...

dedecms 织梦自定义表单留言增加ajax验证码功能

增加ajax功能模块&#xff0c;用户不点击提交按钮&#xff0c;只要输入框失去焦点&#xff0c;就会提前提示验证码是否正确。 一&#xff0c;模板上增加验证码 <input name"vdcode"id"vdcode" placeholder"请输入验证码" type"text&quo…...

最新SpringBoot+SpringCloud+Nacos微服务框架分享

文章目录 前言一、服务规划二、架构核心1.cloud的pom2.gateway的异常handler3.gateway的filter4、admin的pom5、admin的登录核心 三、code-helper分享总结 前言 最近有个活蛮赶的&#xff0c;根据Excel列的需求预估的工时直接打骨折&#xff0c;不要问我为什么&#xff0c;主要…...

从零实现STL哈希容器:unordered_map/unordered_set封装详解

本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说&#xff0c;直接开始吧&#xff01; 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...

OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 在 GPU 上对图像执行 均值漂移滤波&#xff08;Mean Shift Filtering&#xff09;&#xff0c;用于图像分割或平滑处理。 该函数将输入图像中的…...

Device Mapper 机制

Device Mapper 机制详解 Device Mapper&#xff08;简称 DM&#xff09;是 Linux 内核中的一套通用块设备映射框架&#xff0c;为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程&#xff0c;并配以详细的…...

BLEU评分:机器翻译质量评估的黄金标准

BLEU评分&#xff1a;机器翻译质量评估的黄金标准 1. 引言 在自然语言处理(NLP)领域&#xff0c;衡量一个机器翻译模型的性能至关重要。BLEU (Bilingual Evaluation Understudy) 作为一种自动化评估指标&#xff0c;自2002年由IBM的Kishore Papineni等人提出以来&#xff0c;…...

LangFlow技术架构分析

&#x1f527; LangFlow 的可视化技术栈 前端节点编辑器 底层框架&#xff1a;基于 &#xff08;一个现代化的 React 节点绘图库&#xff09; 功能&#xff1a; 拖拽式构建 LangGraph 状态机 实时连线定义节点依赖关系 可视化调试循环和分支逻辑 与 LangGraph 的深…...