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
  • 相关阅读:
    Struts2 拦截器(interceptor) 与 模型驱动3中传值方式
    Struts2 OGNL表达式
    ThreadLocal 是什么
    struts2的值栈(重点) 值栈是一个存储数据的内存结构 本质是一个接口 它的实现类OgnlValueStack
    Struts2 普通的java类 (Action)与Servlet通信 主要对象那个ServletActionContext 与 ActionContext对象来获取servlet中request对象和response对象
    struts2是多例的
    Django中一个项目里怎么使用两个数据库
    MYSQL中的锁
    详解Linux中文乱码问题终极解决方法
    Docker-compose up时报错:
  • 原文地址:https://www.cnblogs.com/douzujun/p/6507659.html
Copyright © 2011-2022 走看看