SQL语句(五)数据的修改

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

 

posted @ 2017-03-06 01:23 douzujun 阅读( ...) 评论( ...) 编辑 收藏

你可能感兴趣的:(SQL语句(五)数据的修改)