• SQL 数据更新


    SQL****数据更新

    数据更新有三种:插入,修改,删除

    一·插入数据

    1. 插入元组(行)

    INSERT

    **Into <**表名>[(<属性列1><属性列2><属性列3><属性列4>)]

    **Values(<**常量1><常量2><常量3><常量4>);

    注:可以写也可以不用写,如果不写,则表示新元组要在所有表的列属性上都有指定值,并且次序与create table****次序相同,值与属性一定要一一对应。

    例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

    1. 插入子查询结果

    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’);

    最后

    深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

    因此收集整理了一份《Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

    小编已加密:aHR0cHM6Ly9kb2NzLnFxLmNvbS9kb2MvRFVrVm9aSGxQZUVsTlkwUnc==出于安全原因,我们把网站通过base64编码了,大家可以通过base64解码把网址获取下来。

  • 相关阅读:
    测试左移?测试右移?测试人员往哪移?
    SQLlite
    Yolov5 中添加注意力机制 CBAM
    Rocketmq并发和顺序消费的失败重试机制
    自己编写cmake config.cmake
    苹果转移供应链,促中国手机和中国制造更紧密合作,加速技术升级
    计算机毕业设计选题推荐-健身房管理系统-Java项目实战
    MySQL 数据库(DBMS)安装教程图文详解
    台式机电脑电源的使用
    SAP-QM-检验批和物料凭证
  • 原文地址:https://blog.csdn.net/drhrht/article/details/126812191