zoukankan      html  css  js  c++  java
  • SQL语句(五)数据的修改

    数据的修改

    • UPDATE

    • 格式

      • UPDATE 表名

      • SET 字段名 = 字段值(这个可以是表达式)

        [WHERE 条件表达式]

      • 关系运算符 (>、<、>=、 <=、=、<> : 这个是不等于)

      • 逻辑运算符( AND 与、OR 或、 NOT 非)

      • 特殊关系运算符

        • IN, 在集合中,如

    jiguan IN('北京', '上海', '广州')
    表示是北京、上海、广州之一
        • NOT IN,不在集合中,如,
    jiguan NOT IN('北京', '上海', '广州')
    jiguan不是北,上, 广
        • IS NULL, 判别空
    jiguan IS NULL
        • IS NOT NULL, 判别非空
    jiguan IS NOT NULL
      • BETWEEN, 在某个范围内
    score BETWEEN 60 AND 100
      • NOT BETWEEN, 不在某个范围内
    age NOT BETWEEN 18 AND 22
      • LIKE, 与某种模式匹配
    name LIKE '%瑞%'   -- 名字里含有 瑞 的人
    name LIKE '张%'    -- 姓张的那些人
      • NOT LIKE, 与某种模式不匹配
    name NOT LIKE '张%' AND NOT LIKE '王%'  -- 姓里没有张和王的
    • 通配符

      • 模式

        • name LIKE '张%'** -- 第一个字是张,后面是任意字符

      • %, 代表任意个字符

      • _ , 代表一个任意字符

        • name LIKE '张_' -- 名字是两个字,姓张

    • 实例

    --将学生表student中的班级名“电气”改为“电气61”,SQL中这样写
    use teaching     --   使用数据库
    
    SELECT * FROM Student
    
    UPDATE Student
    SET sclass = '电气61'
    WHERE sclass = '电气51'   --  将电气51全部修改成电气61
    
    SELECT * FROM Student    -- 查询结果
    
    --将19,20岁的人的年龄加一岁
    UPDATE Student
    SET sage = sage + 1
    WHERE sage IN (19, 20)   -- 把(19和20)岁的人,年龄加一
    
    SELECT * FROM Student    -- 查询结果
    
    -- 设置张瑞平的出生日期为 1995-04-8
    UPDATE Student
    SET sbirthday = '1995-4-8'
    WHERE sname = '张瑞平'
    
    SELECT * FROM Student    -- 查询结果
    
    -- 插入数据
    INSERT INTO Student(sclass, snumb, sname, sage, sbirthday, sgender)
    VALUES('电气51', '10006', '豆豆', 18, '1997-8-22', '')          
    SELECT * FROM Student
    
    --修改豆子的生日和年龄
    UPDATE Student
    SET sbirthday = '1997-7-20'
    WHERE sname = '豆子'
    
    UPDATE Student
    SET sage = 20
    WHERE sname = '豆子'
    
    SELECT * FROM Student    -- 查询结果
    
    -----------------------------------------------------------
    
    --计算年龄为空的人的年龄
    UPDATE Student
    ---- datediff()计算关于年的差值(sbir,getdate)
    ---- getdate()能获得当前日期
    SET sage = DATEDIFF(year, sbirthday, GETDATE())  
    -- 将年龄为空的,计算出他的年龄
    WHERE sage IS NULL
    
    SELECT * FROM Student    -- 查询结果
    
    --将年龄在20-22之间的人的年龄减少1岁
    UPDATE Student
    SET sage = sage - 1
    WHERE sage BETWEEN 20 AND 22
    
    SELECT * FROM Student    -- 查询结果
    • 更新多个字段

    • UPDATE

    • 格式

      • UPDATE 表名

        SET 字段名1 = 字段值1 [,

        字段名2 = 字段值2]

        [, ...n]

        [WHERE 条件表达式]

    • 实例

    --修改多个字段
    
    --要修改3号同学的班级和名字分别为 物理51  和 笑苍天
    UPDATE Student
    SET sclass = '物理51',
        sname = '笑苍天'
    WHERE snumb = '100081'
    
    SELECT * FROM Student    -- 查询结果
    • 删除数据

    • 一般格式

      • DELETE FROM 表名

        [WHERE 条件]

    • 实例

    --删除物理51班的学生信息
    DELETE FROM Student
    WHERE sclass = '物理51'
    
    SELECT * FROM Student    -- 查询结果
    
    --删除全部数据!!
    DELETE FROM Student
  • 相关阅读:
    Antlr与Regex
    c_str()
    C++ 友元
    C++ 操作符重载
    Remote 'attachhome' failed on nodes:XXX
    RAC安装GI时运行root.sh脚本结果
    clscfg.bin: error while loading shared libraries: libcap.so.1:
    RAC安装重新运行root.sh
    libXext.so.6 libXp.so.6 libXt.so.6 is needed by openmotif21-2.1.30-11.el7.i686
    向数据库中导入AWR数据
  • 原文地址:https://www.cnblogs.com/douzujun/p/6507659.html
Copyright © 2011-2022 走看看