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实现可视化拖拽标签小程序
介绍 实现功能:可视化标签拖拽,双击标签可修改标签内容 HTML结构 <div class"box" v-move><div class"header">标签1</div><div dblclick"startEditing" v-if"!isEditing">{{content…...
SSM 前端使用AJAX方式,fromdata文件格式上传二进制流文件
今天在上课的时候,遇到了一个比较坑的问题,有个学生拿来了她的代码,让我给她看看为什么传值传不过来。 首先,前端是这样的: function upload(){var formData new FormData();formData.append(images, $(#previewImg)…...

LeetCode-455-分发饼干-贪心算法
题目描述: 假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。 对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 jÿ…...
新版 Next.js 从入门到入土
本教程用的Next.js 是 13 版本 Next.js 简介 完善的React项目,搭建轻松自带数据同步,解决服务端渲染最大难点丰富的插件灵活配置 创建第一个项目 手动创建 初始化 npm init安装所需要的依赖包 npm install --save react react-don next增加快捷命…...

OpenCV(十):图像缩放、翻转、拼接的介绍与使用
目录 (1)图像缩放:resize() (2)图像翻转: flip() (3)图像拼接:hconcat() 和vconcat() (1)图像缩放:resize() 使用 cv2.resize() 函…...

C++ 学习之 构造函数 和 析构函数
前言 总的来说,构造函数负责对象的初始化,而析构函数负责对象的清理和资源释放。它们是C面向对象编程中非常重要的概念,用于管理对象的生命周期,确保对象在创建和销毁时都能够正确地进行初始化和清理。 正文 看代码 class perso…...
加快 MySQL 数据迁移
目录 一、先导 1. 自建目标实例 2. 配置目标主从 二、源导出 1. 生成查询用户权限的SQL语句 2. 生成权限的SQL语句 3. 生成创建非主键索引的SQL语句 4. 导出源库结构 5. 导出源库数据 三、目标导入 1. 目标实例设置 2. 创建用户与权限 3. 处理结构导出文件 4. 导…...

CANalyzer panel
(1205条消息) CAPL 脚本中对信号,系统变量,环境变量的 事件响应_capl programs脚本怎么写信号运算_蚂蚁小兵的博客-CSDN博客 注意环境变量是在工程关联的dbc中创建的;而系统变量是在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 是什么? c 11 中 引入了智能指针 shared_ptr,以及一个模板函数 make_shared 来生成一个制定类型的 shared_ptr。 1.2 引入 make_shared ,解决了什么问题? make_shared的引入,主…...

贝叶斯神经网络 - 捕捉现实世界的不确定性
贝叶斯神经网络 - 捕捉现实世界的不确定性 Bayesian Neural Networks 生活本质上是不确定性和概率性的,贝叶斯神经网络 (BNN) 旨在捕获和量化这种不确定性 在许多现实世界的应用中,仅仅做出预测是不够的;您还想知道您对该预测的信心有多大。例…...
games101作业1
题目 给定三维下三个点 v0(2.0, 0.0, −2.0), v1(0.0, 2.0, −2.0), v2(−2.0, 0.0, −2.0), 你需要将这三个点的坐标变换为屏幕坐标并在屏幕上绘制出对应的线框三角形 (在代码框架中,我们已经提供了 draw_triangle 函数,所以你只需要去构建变换矩阵即可…...

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

【Linux】线程安全-生产者消费者模型
文章目录 生产者消费者模型123规则应用场景优点忙闲不均生产者和消费者解耦支持高并发 代码模拟 生产者消费者模型 123规则 1个线程安全的队列:只要保证先进先出特性的数据结构都可以称为队列 这个队列要保证互斥(就是保证当前只有一个线程对队列进行操…...
优化(2) 2023/09/03
今天重新温习了下clean abap,以前只是偶尔打开看几眼。今天把有些自己不熟悉的地方,重点研究了下。有几个点可以在以后工作使用。这几点可能并不能提升程序效率,但会大大提高代码可读性和代码的可扩展性: 用insert XXX into tabl…...

label-studio的使用教程(导入本地路径)
文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする 1、前言(1)情况说明(2)工程师的信仰2、知识点(1) にする1,接续:名词+にする2,接续:疑问词+にする3,(A)は(B)にする。(2)復習:(1)复习句子(2)ために & ように(3)そう(4)にする3、…...

React第五十七节 Router中RouterProvider使用详解及注意事项
前言 在 React Router v6.4 中,RouterProvider 是一个核心组件,用于提供基于数据路由(data routers)的新型路由方案。 它替代了传统的 <BrowserRouter>,支持更强大的数据加载和操作功能(如 loader 和…...
连锁超市冷库节能解决方案:如何实现超市降本增效
在连锁超市冷库运营中,高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术,实现年省电费15%-60%,且不改动原有装备、安装快捷、…...

C++ Visual Studio 2017厂商给的源码没有.sln文件 易兆微芯片下载工具加开机动画下载。
1.先用Visual Studio 2017打开Yichip YC31xx loader.vcxproj,再用Visual Studio 2022打开。再保侟就有.sln文件了。 易兆微芯片下载工具加开机动画下载 ExtraDownloadFile1Info.\logo.bin|0|0|10D2000|0 MFC应用兼容CMD 在BOOL CYichipYC31xxloaderDlg::OnIni…...
现有的 Redis 分布式锁库(如 Redisson)提供了哪些便利?
现有的 Redis 分布式锁库(如 Redisson)相比于开发者自己基于 Redis 命令(如 SETNX, EXPIRE, DEL)手动实现分布式锁,提供了巨大的便利性和健壮性。主要体现在以下几个方面: 原子性保证 (Atomicity)ÿ…...

RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)
RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发,后来由Pivotal Software Inc.(现为VMware子公司)接管。RabbitMQ 是一个开源的消息代理和队列服务器,用 Erlang 语言编写。广泛应用于各种分布…...
Redis:现代应用开发的高效内存数据存储利器
一、Redis的起源与发展 Redis最初由意大利程序员Salvatore Sanfilippo在2009年开发,其初衷是为了满足他自己的一个项目需求,即需要一个高性能的键值存储系统来解决传统数据库在高并发场景下的性能瓶颈。随着项目的开源,Redis凭借其简单易用、…...

【p2p、分布式,区块链笔记 MESH】Bluetooth蓝牙通信 BLE Mesh协议的拓扑结构 定向转发机制
目录 节点的功能承载层(GATT/Adv)局限性: 拓扑关系定向转发机制定向转发意义 CG 节点的功能 节点的功能由节点支持的特性和功能决定。所有节点都能够发送和接收网格消息。节点还可以选择支持一个或多个附加功能,如 Configuration …...

数据结构:递归的种类(Types of Recursion)
目录 尾递归(Tail Recursion) 什么是 Loop(循环)? 复杂度分析 头递归(Head Recursion) 树形递归(Tree Recursion) 线性递归(Linear Recursion)…...