数据的修改

  • 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  AND 
    • NOT BETWEEN, 不在某个范围内
age NOT BETWEEN  AND 
    • 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 +
WHERE sage IN (, ) -- 把(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', '', '豆豆', , '1997-8-22', '男')
SELECT * FROM Student --修改豆子的生日和年龄
UPDATE Student
SET sbirthday = '1997-7-20'
WHERE sname = '豆子' UPDATE Student
SET sage =
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 -
WHERE sage BETWEEN AND SELECT * FROM Student -- 查询结果
  • 更新多个字段

  • UPDATE

  • 格式

    • UPDATE 表名

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

      字段名2 = 字段值2]

      [, ...n]

      [WHERE 条件表达式]

  • 实例

--修改多个字段

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

  • 一般格式

    • DELETE FROM 表名

      [WHERE 条件]

  • 实例

--删除物理51班的学生信息
DELETE FROM Student
WHERE sclass = '物理51' SELECT * FROM Student -- 查询结果 --删除全部数据!!
DELETE FROM Student

SQL语句(五)数据的修改的更多相关文章

  1. 数据库-SQL语句:删除和修改语句-列类型-列约束

    使用MySQL客户端连接服务器的两种方式: (1)交互模式: ——查 mysql.exe  -h127.0.0.1  -uroot  -p mysql   -uroot (2)脚本模式:——增删改 m ...

  2. SQL语句之 数据约束

    SQL语句之 数据约束 什么是数据约束 数据约束用来限制用户对数据的非法的修改操作. 1.约束字段的默认值 如果插入记录时,没有给某个字段赋值,那么我们可以设置它的默认值 关键字:default CR ...

  3. SQL Server对数据进行修改

    SQL Server对数据进行修改,修改数据库中的数据. auto"> <tr style="background:red"> <td>编号 ...

  4. SQL语句增加列、修改列、删除列

    SQL语句增加列.修改列.删除列 1.增加列: 1.alter table tableName add columnName varchar(30) 2.ALTER TABLE dbo.doc_exa ...

  5. PHP如何通过SQL语句将数据写入MySQL数据库呢?

    1,php和MySQL建立连接关系 2,打开 3,接受页面数据,PHP录入到指定的表中 1.2两步可直接使用一个数据库链接文件即可:conn.php <?phpmysql_connect(&qu ...

  6. 通过Sql语句导数据

    在通过SQL Server向导中的SQL语句导数据时,默认情况下源表中的nvarchar字段类型会变成202,解决此问题的方法是,要重新选择一下对应的数据接收表.

  7. 使用SQL语句进行数据复制

    使用SQL语句对数据或者表进行复制,一般用于两张表结构相同的时候使用. SQL Server中,如果目标表存在: insert into 目标表 select * from 原表; SQL Serve ...

  8. Oracl 一条sql语句 批量添加、修改数据

    最近一直在用,也一直在学oralc,项目上也用到了批量的添加(读取上传CSV文件信息,把符合条件的信息写入到数据库中),在写的时候想到了可能是数据量大就想该怎么快,(由于本人在.NET开发期间没有做过 ...

  9. sql语句百万数据量优化方案

    一:理解sql执行顺序 在sql中,第一个被执行的是from语句,每一个步骤都会产生一个虚拟表,该表供下一个步骤查询时调用,比如语句:select top 10 column1,colum2,max( ...

  10. mysql详解常用命令操作,利用SQL语句创建数据表—增删改查

    关系型数据库的核心内容是 关系 即 二维表 MYSQL的启动和连接show variables; [所有的变量] 1服务端启动 查看服务状态 sudo /etc/init.d/mysql status ...

随机推荐

  1. 使用 idHTTP 获取 UTF-8 编码的中文网页

    uses IdHTTP; const Url = 'http://del.cnblogs.com'; procedure TForm1.Button1Click(Sender: TObject); v ...

  2. 软件工程_9th weeks

    PSP DATE START_TIME END_TIME EVENT TYPE       TIME 4.30-5.3 5:30 4:00 旅游 娱乐       72h 5.3 14:00 17:0 ...

  3. HMM模型学习笔记(前向算法实例)

    HMM算法想必大家已经听说了好多次了,完全看公式一头雾水.但是HMM的基本理论其实很简单.因为HMM是马尔科夫链中的一种,只是它的状态不能直接被观察到,但是可以通过观察向量间接的反映出来,即每一个观察 ...

  4. Java之修改文件内容:字符串逐行替换

    依赖包: <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</a ...

  5. Code First NotMapped

    转载:http://www.cnblogs.com/libingql/p/3352058.html 不需要映射的字段,添加 NotMapped 6.非数据库字段属性 在类中,如果有一些属性不需要映射到 ...

  6. ecplise tomcat忽然出现404

    场景:之前用的好好的,eclipse可以启动,然后浏览器访问  localhost:8080  出现tomcat 404 页面 解决方法:删掉server ,重新建个 server

  7. 自学Linux Shell3.3-列表命令ls

    点击返回 自学Linux命令行与Shell脚本之路 3.3-列表命令ls ls命令用于显示文件目录列表,和Windows系统下DOS命令dir类似.当执行ls命令时,默认显示的只有非隐藏文件的文件名. ...

  8. android GridView 的使用 实现多项选择

    今天小研究了一下GridView,目的是为了实现 下面的效果(GridView多项选择): 首先,在布局文件添加GridView ,创建适配器的items... 具体的都在注释里边了,下面是 程序源码 ...

  9. linux一次性解压多个.gz或者.tar.gz文件

    对于解压多个.gz文件的,用此命令: for gz in *.gz; do gunzip $gz; done 对于解压多个.tar.gz文件的,用下面命令: for tar in *.tar.gz; ...

  10. JOISC 2017 自然公园

    吐槽 YMD的课件是真的毒,YYB的也很毒. 题目链接 LOJ sol 我是一个一个Subtask做的... Subtask 1 \(O(n^2)\)枚举每两个点有没有边即可. Subtask 2 链 ...