问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

oracle数据库3表查询更新

发布网友 发布时间:2022-04-30 23:16

我来回答

5个回答

懂视网 时间:2022-05-01 03:37

在前两章,我们学习了SQL语言中基本的一些查询语句,也就是数据库查询语言DQL,今天我们要介绍的数据库操作语言DML

 

数据库中,我们除了查询之外,最主要的就是日常的增、删、改、查了。

 


数据库操作语言 DML
插入
删除
修改

1、--创建一张表

CREATE TABLE BJSXT AS SELECT * FROM EMP;(按照EMP表达的格式创建一张名为BJSXT的表)

之后我们用SELECT * FROM BJSXT;可以查询到我们建立的表

 

2、插入--必须完全参照表的结构顺序
INSERT INTO BJSXT VALUES(‘裴老师‘,‘teacher‘,666,333);
INSERT INTO BJSXT VALUES(‘teacher‘,‘胡老师‘,666,333);

--错误的方式
INSERT INTO BJSXT VALUES(‘teacher‘,‘胡老师‘,666,333,10);
INSERT INTO BJSXT VALUES(‘teacher‘,‘胡老师‘,666);

 

--自定义插入顺序
INSERT INTO BONUS(ENAME,SAL) VALUES(‘闫老师‘,777);

3--删除
DELETE FROM BONUS;
DELETE FROM BONUS WHERE SAL>666;
DELETE FROM EMP WHERE ENAME LIKE ‘%A%‘ AND SAL >1500 AND DEPTNO = 10;

 

4--修改
UPDATE BONUS SET SAL = 8888 WHERE ENAME=‘裴老师‘;
UPDATE BONUS SET SAL = 8888,COMM = 888 WHERE ENAME=‘裴老师‘;

 

 

2--数据库的事务

--事务已经被开启

一旦对数据库的表进行操作,即代表事务的开始
DELETE FROM BJSXT WHERE EMPNO = 7788;
DELETE FROM BJSXT WHERE EMPNO = 7781;
DELETE FROM BJSXT WHERE EMPNO = 7782;
INSERT INTO
UPDATE
DELETE FROM BJSXT WHERE EMPNO = 7783;
DELETE FROM BJSXT WHERE EMPNO = 7784;
DELETE FROM BJSXT WHERE EMPNO = 7785;
DELETE FROM BJSXT WHERE EMPNO = 7786;

 

--结束事务
/*
手动结束
COMMIT;
提交本次事务操作
ROLLBACK;
回滚本次事务操作
自动结束
当用户执行DDL语句的时候(创建表,删除表,修改表结构)
事务自动提交
用户正常退出
事务自动提交
用户非正常退出
事务回滚
系统崩溃或断电时
事务自动回滚
事务的四大特性
ACID原则
原子性
事务中的操作要么全部执行,要么全部回滚
一致性
事务的执行前后,数据库处于一个一致的状态
隔离性
事务的执行不受其他事务的干扰
持久性
事务在提交之后,就会进入一个新的状态,所有的数据不能被改变
事务的隔离级别
读未提交--给数据加锁
读已提交o--解决脏读
可重复读--解决虚读,和幻读的删除
可序列化o--解决幻读的新增

更新丢失
是因为没有锁
脏读
读取别人未提交的数据
虚读
第一个事务读取的数据,另外一个事务可以修改
幻读
第一个事务中读取的数据多了第二个事务插入的数据

死锁ORA-00060
线程1
DELETE FROM BJSXT WHERE EMPNO = 7499;
线程2
DELETE FROM BJSXT WHERE EMPNO = 7521;
线程1
DELETE FROM BJSXT WHERE EMPNO = 7521;
线程2
DELETE FROM BJSXT WHERE EMPNO = 7499;
*/

/*
范式
第一范式
每一列都是不可分割的原子数据项
第二范式(2NF)
要求实体的属性完全依赖于主关键字。所谓完全依赖是指不能存在仅依赖主关键字一部分的属性
每一行数据都要有主键,主键是唯一的,
第三范式
任何非主属性不依赖于其它非主属性[在2NF基础上消除传递依赖]
所有的属性都要完全依赖于主键
表与表之间的关系
1:1
随意持有对方主键
拥有相同主键
1:N
外键由多方进行维护
N:N
建立中间表,在中间表维护

 

 

/*
DDL:数据库定义语言



*/

SELECT TABLE_NAME FROM USER_TABLES;

设计要求:
建立一张用来存储学生信息的表,
表中的字段包含了学生的学号、姓名、年龄、入学日期、年级、班级、email等信息,
并且为grade指定了默认值为1,
如果在插入数据时不指定grade得值,就代表是一年级的学生
--如何创建表
CREATE TABLE STUDENT(
SNO VARCHAR2(12),
NAME VARCHAR2(12),
AGE NUMBER(3),
SCHOOLDATE DATE,
GRADE NUMBER(2) DEFAULT 1,
CLAZZ NUMBER(2),
EMAIL VARCHAR2(100)
);

--刚创建的表示一个空表,需要人为的插入数据
INSERT INTO STUDENT VALUES(‘BJSXT2016‘,‘张三丰‘,80,SYSDATE,NULL,10,‘ZSF@BJSXT.COM‘);
INSERT INTO STUDENT(SNO,NAME) VALUES(‘BJSXT2015‘,‘张无忌‘);

--新增一个列
ALTER TABLE STUDENT ADD BIRTHDAY DATE;
--删除一个列
ALTER TABLE STUDENT DROP COLUMN AGE;
--修改一个列
ALTER TABLE STUDENT MODIFY SNO VARCHAR2(40);
--修改表名称
RENAME STUDENT TO STU;
--删除表
DROP TABLE STU;

 

Oracle数据库3

标签:

热心网友 时间:2022-05-01 00:45

三张表更新,你应该是写三条更新语句,将这些语句放在批处理里面进行执行。一条SQL语句能直接更新三张表暂时无法实现。

热心网友 时间:2022-05-01 02:03

可以用存储过程啊…

热心网友 时间:2022-05-01 03:38

多表联立进行查询

热心网友 时间:2022-05-01 05:29

你要干什么? 更新tab1,更新什么?
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...DE分别在BC AC上,且AE=CD,连接AD,BE交于点p 过B作BQ⊥AD Q为垂足... ...AC上的点,且AE=CD 连接AD BE 交于点P 作BQ垂 ...ac上的点,且ae=cd,连接ad、be交于点p作BQ⊥AD,垂足为Q,求证BP=2... ...AC上的点,且AE=CD,链接AD、BE交于点P,作BQ⊥AD ...AC上的点,且AE=CD,连结AD、BE交于点P,作BQ⊥AD,垂足为Q. ...刚刚大学毕业。由于生病,导致目前没有工作,大学四年的女友也因为我... 形容“荷花的特点”有什么词语 梦见比人还高大的石头蛤蟆,杀人拆房子。我和其他人一起翘辫子了._百度... 梦见别人送我一条蛇,我却把他不小心放了.可是我用石头打了它一下... 作文 我生活在鼓励中 农行电子账单接收邮箱怎么填写 过敏源检测,孢子菌大致是指什么? 生日中的阳历和阴历的日子重合在一起有规律吗? 农历和阴历日子怎么区分? 怎么查下一个今天阳历和农历一样的日子? 他们说19年出现一次农历和公历一样我50岁为何会出现三个农历和公历一样的日子 猫咪皮肤病如何治疗 阴历和农历是一样的吗 今年是四月十二的生已经过了,明年是啥时候过,还是四月十二吗 孢子菌该怎么治 阴历和农历是一样的是吗,四月十二日,明年还是四月十二日是吗 皮肤孢子菌感染了,该怎么办? 谁看过美剧《超能少年》太H了 欢乐喜剧人超能五侠老四是谁 求一部很久的小说,都市异能的,主角的那话儿叫什么箍龙*,可以靠夺女人初夜来增强实力,,,其中有一段 去你心里的路怎么走 帮我找一下去你心里的路该怎么走 这句话高情商的怎么回复? 去往你心里的路该怎么走? 我问女生却往你心里的路怎么走,她说直走,怎么回复? 网友问走向我心里的路怎么走?回什么? 在研究去你心里的路然后他问我要怎么走 我要怎么回答他? 如何使用getaddrinfo VC++6.0中getaddrinfo()方法 简单问题,struct addrinfo 是在哪个头文件中定义的 getaddrinfo函数来自哪个库 getaddrinfo函数获取到多个地址怎么办 为什么使用getaddrinfo函数 python [Errno 11001] getaddrinfo failed 错误 Error: getaddrinfo ENOTFOUND 怎么解决? 使用360浏览器时提示:无法定位程序输入点getaddrinfo于动态链接库ws2-32.dll上。请问怎么修复? Socket编程 客户端 getaddrinfo failed 贴片二极管 1n4148 玻璃封装 ll34什么意思 python3.4 post 请求出错![Errno 11004] getaddrinfo failed 贴片二极管1206 1N4148是什么意思 求助getaddrinfo函数产生未知线程的问题 in4148有几种封装?能否相互代替? 身份证被发朋友圈怎样处理 无法确定定位程序输入点getaddrinfo于动态链接库WS2_32.dll 是怎么回事 别人帮你的身份证在朋友圈上发怎么办? udp连接getaddrinfo函数该怎么设置 这两种in4148二极管功能一样吗可以互换吗