SQL的数据更新

简介: SQL的数据更新

注:在做数据表更新时,数据库管理系统会在执行插入语句时,检查所插入元组是否破坏表上已定义的完整性规则


(一)插入一个元组


格式:


1. INSERT INTO <表名>[(<属性列1>,<属性列2>...)]
2. VALUES(<常量>,[<常量2>]...);


例:


INSERT INTO student(sno,sname,sex)values('202052128','陈冬','男');


如果没有指定属性列:表示要插入的是一条完整的元组,且属性列属性与表定义中的顺序一致


INSERT INTO student values('202052128','陈冬','男');



INSERT INTO student values('202052128','陈冬');


那么对于sex属性列会自动赋为null


(二)插入子查询结果


格式


INSERT INTO<表名>[(<属性列1>,<属性列2>...)] 子查询;



插入编号为J7的供应商零件记录,而且供应给J7的零件和供应给J1的零件及供应商相同
但每一种零件的供应量改为60
INSERT INTO SPJ2
SELECT SNO,PNO,'J7',PRICE,60
FROM SPJ2
WHERE JNO='J1';


结果:原来J7没有数据

35c569a8f2c748a2b7929b91fc422997.png

插入后得到:

028411a1b1ac40ddbfab193b1ca57edd.png


(三)数据修改


格式


UPDATE <表名>
SET <列名>=<表达式>[,<列名>=<表达式>]...
[WHERE<条件>];


1.修改某一元组的值


1. UPDATE student 
2. set age = 22
3. where sname='陈冬'


2.修改多个元组的值


1. update student
2. set age = age+1;


3.带子查询的修改语句(数据库系统在执行修改语句时会检查所改元组是否破坏表上已定义的完整性规则)


update sc2
set grade =grade +5
where 'cs'=
(
select sdept
from student
where student.sno=sc2.sno);


(四)数据删除


格式:


1. DELETE FROM <表名>
2. [WHERE <条件>];


1.删除所有选课记录


delete from sc2;


2.把名为‘东方配件厂’的供应商供应给工程的所有零件从spj表中删除


delete from spj
where sno in(
select sno 
from s
where sname='东方配件厂');
目录
相关文章
|
4月前
|
SQL 数据处理 数据库
SQL进阶之路:深入解析数据更新与删除技巧——掌握批量操作、条件筛选、子查询和事务处理,提升数据库维护效率与准确性
【8月更文挑战第31天】在数据库管理和应用开发中,数据的更新和删除至关重要,直接影响数据准确性、一致性和性能。本文通过具体案例,深入解析SQL中的高级更新(UPDATE)和删除(DELETE)技巧,包括批量更新、基于条件的删除以及使用子查询和事务处理复杂场景等,帮助读者提升数据处理能力。掌握这些技巧能够有效提高数据库性能并确保数据一致性。
85 0
|
7月前
|
SQL 关系型数据库 MySQL
实时计算 Flink版产品使用合集之当 SQL Server 源数据库中的数据更新后,CDC 吐出的操作(op)是怎样的
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
SQL Oracle 关系型数据库
SQL基础——数据更新(下)
SQL基础——数据更新(下)
101 0
|
7月前
|
SQL 算法 数据库
【数据库SQL server】关系数据库标准语言SQL之数据更新
【数据库SQL server】关系数据库标准语言SQL之数据更新
63 0
|
SQL 数据库 数据库管理
第3章 关系数据库标准语言SQL——3.5 数据更新
第3章 关系数据库标准语言SQL——3.5 数据更新
|
SQL Oracle 关系型数据库
SQL基础——数据更新(上)
SQL基础——数据更新(上)
150 0
|
SQL 数据库管理
【SQL开发实战技巧】系列(九):一个update误把其他列数据更新成空了?Merge改写update!给你五种删除重复数据的写法!
本篇文章讲解的主要内容是:***你有没有经历过一个update把其他列数据清空了、使用merge更新合并记录、删除违反参照完整性的记录、给你五种删除重复数据的写法*** 【SQL开发实战技巧】这一系列博主当作复习旧知识来进行写作,毕竟SQL开发在数据分析场景非常重要且基础,面试也会经常问SQL开发和调优经验,相信当我写完这一系列文章,也能再有所收获,未来面对SQL面试也能游刃有余~。
【SQL开发实战技巧】系列(九):一个update误把其他列数据更新成空了?Merge改写update!给你五种删除重复数据的写法!
|
SQL 数据格式
SQL之数据更新(操纵)
SQL之数据更新(操纵)
149 0
|
SQL Oracle 关系型数据库
一次难忘的Oracle数据更新经历,用游标?还是用动态SQL?
最近工作中遇到一个比较棘手的问题,拿出来和大家分享一下。
一次难忘的Oracle数据更新经历,用游标?还是用动态SQL?