当前位置: 首页 > 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…...

嵌入式开发新助手:Phi-4-mini-reasoning在STM32项目中的代码审查与优化

嵌入式开发新助手&#xff1a;Phi-4-mini-reasoning在STM32项目中的代码审查与优化 1. 嵌入式开发的痛点与机遇 在STM32这类资源受限的嵌入式开发中&#xff0c;工程师们常常面临一个两难困境&#xff1a;既要保证代码执行效率满足实时性要求&#xff0c;又要严格控制ROM和RA…...

终极Windows Defender禁用工具:一键提升系统性能的完整解决方案

终极Windows Defender禁用工具&#xff1a;一键提升系统性能的完整解决方案 【免费下载链接】windows-defender-remover A tool which is uses to remove Windows Defender in Windows 8.x, Windows 10 (every version) and Windows 11. 项目地址: https://gitcode.com/gh_mi…...

大数据可视化

1. 传播分析评估维度&#xff1a;包含认知&#xff08;知晓、记忆&#xff09;、行动&#xff08;点击、搜索&#xff09;、情感&#xff08;喜好、美誉&#xff09;三个层面传统评估&#xff1a;主要关注广告点击率和观看次数等表面指标深度评估&#xff1a;需要分析广告观看后…...

多源数据驱动的农害预测模型

基于多源数据与集成学习的农作物病虫害预测及防控优化模型 标签&#xff1a;农业AI 机器学习 XGBoost LSTM Stacking SHAP 遗传算法 风险建模 一、整体技术路线概览 我们构建了一个五层递进式智能决策系统&#xff0c;从原始数据到最终可解释的防控建议&#xff0c;层层…...

Arduino嵌入式单元测试框架:ArduinoUnit实战指南

1. Arduino平台嵌入式单元测试框架深度解析&#xff1a;unittest库工程实践指南在嵌入式固件开发中&#xff0c;"写完就烧、烧完就测、测完就改"的野蛮生长模式正迅速被工程化开发流程所取代。尤其在ESP32等资源受限但功能复杂的SoC平台上&#xff0c;缺乏可重复、可…...

告别第三方平台!手把手教你用photo-sphere-viewer在小程序H5里嵌入VR全景图

告别第三方平台&#xff01;手把手教你用photo-sphere-viewer在小程序H5里嵌入VR全景图 在数字化营销日益重要的今天&#xff0c;VR全景展示已经成为房地产、家居、旅游等行业提升用户体验的标配功能。传统做法是依赖第三方VR云服务平台&#xff0c;但这往往意味着高昂的费用、…...

【设计模式】探索状态模式在现代软件开发中的应

在技术领域&#xff0c;我们常常被那些闪耀的、可见的成果所吸引。今天&#xff0c;这个焦点无疑是大语言模型技术。它们的流畅对话、惊人的创造力&#xff0c;让我们得以一窥未来的轮廓。然而&#xff0c;作为在企业一线构建、部署和维护复杂系统的实践者&#xff0c;我们深知…...

探索混合动力汽车Simulink整车模型:并联P2构型与基于规则的控制策略

混合动力汽车simulink整车模型&#xff0c;并联P2构型 基于规则的控制策略&#xff0c;可以直接进行CTC&#xff0c;WTLC&#xff0c;NEDC等工况仿真。嘿&#xff0c;各位技术爱好者&#xff01;今天咱来聊聊混合动力汽车Simulink整车模型&#xff0c;特别是并联P2构型以及基于…...

嵌入式系统中单例模式的应用与实现

1. 单例模式在嵌入式系统中的核心价值在资源受限的嵌入式环境中&#xff0c;全局状态管理一直是个棘手的问题。想象一下这样的场景&#xff1a;温度传感器模块认为系统运行正常&#xff0c;而控制模块却检测到了硬件故障&#xff0c;两个模块对系统状态的认知出现分歧&#xff…...

Edge/Chrome用户必看:3种免费工具批量清理失效书签(2023实测)

Edge/Chrome用户必备&#xff1a;2023年高效清理失效书签的3种解决方案 每次打开浏览器&#xff0c;看到密密麻麻的书签栏却找不到真正可用的链接&#xff1f;这可能是大多数互联网用户的日常困扰。根据2023年用户调研数据显示&#xff0c;平均每位浏览器用户拥有超过200个书签…...