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…...

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式
一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明:假设每台服务器已…...
Android Wi-Fi 连接失败日志分析
1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分: 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析: CTR…...
云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?
大家好,欢迎来到《云原生核心技术》系列的第七篇! 在上一篇,我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在,我们就像一个拥有了一块崭新数字土地的农场主,是时…...

【JavaEE】-- HTTP
1. HTTP是什么? HTTP(全称为"超文本传输协议")是一种应用非常广泛的应用层协议,HTTP是基于TCP协议的一种应用层协议。 应用层协议:是计算机网络协议栈中最高层的协议,它定义了运行在不同主机上…...
渲染学进阶内容——模型
最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...

令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍
文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结: 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析: 实际业务去理解体会统一注…...
Java + Spring Boot + Mybatis 实现批量插入
在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法:使用 MyBatis 的 <foreach> 标签和批处理模式(ExecutorType.BATCH)。 方法一:使用 XML 的 <foreach> 标签ÿ…...

免费PDF转图片工具
免费PDF转图片工具 一款简单易用的PDF转图片工具,可以将PDF文件快速转换为高质量PNG图片。无需安装复杂的软件,也不需要在线上传文件,保护您的隐私。 工具截图 主要特点 🚀 快速转换:本地转换,无需等待上…...
Mysql8 忘记密码重置,以及问题解决
1.使用免密登录 找到配置MySQL文件,我的文件路径是/etc/mysql/my.cnf,有的人的是/etc/mysql/mysql.cnf 在里最后加入 skip-grant-tables重启MySQL服务 service mysql restartShutting down MySQL… SUCCESS! Starting MySQL… SUCCESS! 重启成功 2.登…...
Webpack性能优化:构建速度与体积优化策略
一、构建速度优化 1、升级Webpack和Node.js 优化效果:Webpack 4比Webpack 3构建时间降低60%-98%。原因: V8引擎优化(for of替代forEach、Map/Set替代Object)。默认使用更快的md4哈希算法。AST直接从Loa…...