美文网首页呆鸟的Python数据分析
SQL语句总结----表数据编辑(持续更新)

SQL语句总结----表数据编辑(持续更新)

作者: 谢大喵a | 来源:发表于2019-06-14 22:12 被阅读0次

    1. 插入数据

    1.1 插入单个元组

    INSERT [INTO] <表名> [ ( <列名>[,...n] ) ]
    VALUES ( <表达式> [,...n])
    

    (1)插入一条选课记录('S060111','010201')
    insert into 选课表 (学号,开课号) values ('S060111','010201')
    注:如果省略列名列表,则VALUES子句必须指定所有列的值
    (2)将新生记录('S060111',NULL,'陈向宇','男',NULL,'上海','计算机','信息学院',158)
    insert into 学生表 values ('S060111',NULL,'陈向宇','男',NULL,'上海','计算机','信息学院',158)
    注:未出现在列名列表中的列插入时取空值

    1.2 插入子查询结果

    INSERT [INTO] <表名> [ ( <列名>[,...n] ) ]
    SELECT 语句
    

    注:select 语句中的目标列表达式数量必须和insert后面的列名数量相等
    (1)对每一个专业,求学生的平均累计学分,并把结果存入一张表中
    create table 主修专业(专业 char(20),avgpa int) insert into 主修专业 (专业,avgpa) select 专业,AVG(累计学分) from 学生表 group by 专业
    注:未出现在列名列表中的列插入时取空值

    1.3 select ... into...语句进行数据插入

    SELECT<目标列> [,...n] into <新表名>
    [SELECT 语句的其他子句]
    

    (1)对每一个专业,求学生的平均累计学分,并把结果存入一张表中
    select 专业,avg(累计学分) as 平均累计学分 into 主修专业 from 学生表 group by 专业

    2. 修改数据

    SQL语言用UPDATE语句对表中数据进行修改

    UPDATE <表名> [ ( <列名>[,...n] ) ]
    SET <列名> = <表达式> [,...n]
    [ FROM <表名> [,...n] ]
    [WHERE <条件> ]
    

    2.1 修改给定表的所有行

    (1)将所有学生的累计学分增加3
    update 学生表 set 累计学分=累计学分+3
    注:省略WHERE子句(此时FROM子句不起任何作用)update将修改所有行

    2.2 修改给定表的某些行

    (1)将计算机专业所有女生的籍贯改成“杭州”,累计学分增加3
    update 学生表 set 累计学分=累计学分+3,籍贯='杭州' where 专业='计算机' and 性别='女‘

    2.3 基于其他表修改某些行

    (1)将计算机专业所有学生的数据库组成原理课程的成绩增加10分
    update 选课表 set 成绩=成绩+10 from 开课表 as O,课程表 as C,学生表 as S where 专业='计算机' and 课名='数据库原理‘ and C.课号 = O.课号 and O.开课号=选课表.开课号 and 选课表.学号=S.学号

    2.4 使用子查询修改某些行

    (1)将计算机专业所有学生的数据库组成原理课程的成绩增加10分
    update 选课表 set 成绩=成绩+10 from 学生表 as S where 专业='计算机' and 选课表.学号=S.学号 and 开课号 in(select 开课号 from 开课表 where 课号 in(select 课号 from 课程表 where 课名='数据库原理‘))

    3. 删除数据

    DELETE [FROM]  <目标表名> 
    [ FROM <表名> [,...n] ]
    [WHERE <条件> ]
    

    3.1 删除目标表的所有行

    (1)将所有学生表清空
    delete from 学生表

    3.2 基于目标表删除某些行

    (1)将计算机专业所有女生信息删除
    delete from 学生表 where 专业='计算机' and 性别='女‘

    3.3 删除基于其他表某些行

    (1)删除计算机专业所有学生的对数据库组成原理课的选修信息
    delete from 选课表 from 开课表 as O,课程表 as C,学生表 as S where 专业='计算机' and 课名='数据库原理‘ and C.课号 = O.课号 and O.开课号=选课表.开课号 and 选课表.学号=S.学号

    3.4 使用子查询删除某些行

    (1)删除计算机专业所有学生的对数据库组成原理课的选修信息
    delete from 选课表 from 学生表 as S where 专业='计算机' and 选课表.学号=S.学号 and 开课号 in(select 开课号 from 开课表 where 课号 in(select 课号 from 课程表 where 课名='数据库原理‘))

    相关文章

      网友评论

        本文标题:SQL语句总结----表数据编辑(持续更新)

        本文链接:https://www.haomeiwen.com/subject/hqdmfctx.html