当前位置:网站首页>SQL 数据更新
SQL 数据更新
2022-08-02 10:50:00 【m0_67401499】
SQL****数据更新
数据更新有三种:插入,修改,删除
一·插入数据
- 插入元组(行)
INSERT
**Into <**表名>[(<属性列1><属性列2><属性列3><属性列4>)]
**Values(<**常量1><常量2><常量3><常量4>);
注:可以写也可以不用写,如果不写,则表示新元组要在所有表的列属性上都有指定值,并且次序与createtable****次序相同,值与属性一定要一一对应。
例1:将学生张三信息插入学生表Student当中(原表属性顺序:学号,姓名,性别,年龄,所在院系)
Insert
Into Student
**Values(‘20205831’,’**张三’,’男’,’18’,’CS’);
例2:将一个新元组(学号:20205830,姓名:李东,性别:男,所在系列IS,年龄18)插入学生表Student中
Insert
Into Student(Sno,Sname,Ssex,Sdept,Sage)
Values (‘20205830’,’李东’,’男’,’IS’,’18’);
注:在新增元组中指定了哪些属性要赋值,属性顺序可以不与create table 相同,但是后面赋值一定要与自己指定的属性一一对应。
若新增加元组只插入部分列属性,则其他列属性自动赋予空值
例3:插入一条选课记录(‘20205832’,’1’)表SC属性次序为(Sno,Cno,grade)
第一种:
**Insert
into SC (Sno,Cno) /***表明要赋值得属性*/
Values (‘20205832’,’1’);
其他属性值自动赋值为空
第二种:
Insert
into SC
Values (‘20205832’,’1’,’NULL’);
没有指出赋值属性,所以在其他属性上明确的赋值NUL
- 插入子查询结果
Insert
**Into<**表名>[(<属性列1><属性列2><属性列3><属性列4>)]
子查询;
例1:对每一个系,求学生平均年龄,并把结果放入数据库中
首先在数据库中建立一个新表,其中一列放系名,另一列放平均年龄
Create table Dept_age
(Sdept char(15),
Avg_age smallint);
然后对表Student按系分组,再把系名和平均年龄存入新表中
Insert
Into Dwpt_age(Sdept,Avg_age)
Select Sdept,AVG(Sage)
From Student
Group by Sdept;
二.数据修改(更新)
**Update <**表名>
**Set <**列名>=<表达式>[,<列名>=<表达式>]
**[Where <**条件>]
功能是修改指定表中where子句条件中的元组,其中set语句中<表达式>的值用于取代相应的属性列值。如果省略where子句,则表示修改所有元组的值
修改一个元组的值
例1:将学生201215121的年龄改成22岁
Update student
Set Sage=22
Where Sno=’201215121’;
修改多个元组的值
例2:将所有学生的年龄增加一岁
Update Student
Set Sage=Sage+1;
带子查询的修改语句
例3:将计算机系全体学生成绩归0
Update SC
Set grade=0
Where Sno(
Selete Son
From Student
Where Sdept=’CS’);
三:删除
Delete
**From<**表名>
**[where <**条件>]
功能从指定表中删除满足where子句条件的所有元组,如果没有where则删除表中的所有数据
例1:删除学号201215128的学生记录
Delete
From Student
Where Sno=’201215128’;
例2;删除表STUSENT所有数据
Delete
From STUDENT;
例3:删除计算机系所有学生的选课记录
Delete
From SC
Where Son in(
Selete Sno
From Student
Where Sdept=’CS’);
先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦
边栏推荐
- 博云入选Gartner中国DevOps代表厂商
- AlphaFold又放大招,剑指整个生物界!
- 身为程序猿——谷歌浏览器的这些骚操作你真的废吗!【熬夜整理&建议收藏】[通俗易懂]
- MapStruct
- armv7与armv8的区别(v8和w12的区别)
- Deep Learning 100 Examples - Convolutional Neural Network (CNN) for mnist handwritten digit recognition
- Turning and anti-climbing attack and defense
- X86函数调用模型分析
- MSYS2 QtCreator Clangd code analysis can not find mm_malloc.h problem remedy
- 有奖征集|TaoCloud&宝德联合举办全闪POC!
猜你喜欢
从众多接口中脱颖而出的最稳定的接口——淘宝详情api
阿里云数据存储生态计划发布,助力伙伴数据创新
字节跳动软件测试岗,收到offer后我却拒绝了~给面试的人一些忠告....
org.apache.ibatis.binding.BindingException Invalidbound statement (not found)的解决方案和造成原因分析(超详细)
yolov7 innovation point
MSYS2 QtCreator Clangd 代码分析找不到 mm_malloc.h的问题补救
How to technically ensure the quality of LED display?
爆款视频怎么做?这里或许有答案!
MySql模糊查询大全
多大数量级会出现哈希碰撞
随机推荐
armv7与armv8的区别(v8和w12的区别)
Event 对象,你很了解吗?
为什么要使用BGP?
bgp与mpls综合实验
MySQL模糊查询性能优化
字节跳动软件测试岗,收到offer后我却拒绝了~给面试的人一些忠告....
软件测试的基本理论知识(软件测试面试基础知识)
从众多接口中脱颖而出的最稳定的接口——淘宝详情api
Oracle查询提示 ORA-00933 SQL command not properly ended 原因排查
Weak yen turns game consoles into "financial products" in Japan: scalpers make big profits
LayaBox - TypeScript - merge statement
LayaBox---TypeScript---高级类型
软件工程国考总结——选择题
5G基础学习1、5G网络架构、网络接口及协议栈
TimerTask(addin timer语音)
小几届的学弟问我,软件测试岗是选11k的华为还是20k的小公司,我直呼受不了,太凡尔赛了~
LayaBox---TypeScript---模块
你好,我的新名字叫“铜锁/Tongsuo”
The R language uses the ggtexttable function of the ggpubr package to visualize the table data (draw the table directly or add the table data to the image), set the theme parameter to customize the fi
学习笔记-支付宝支付