SQL入门学习3-数据更新
4-1 数据的插入(INSERT语句的使用方法)
使用INSERT语句可以向表中插入数据(行)。原则上,INSERT语句背刺执行一行数据插入。
CREATE TABLE 和INSERT 语句,都可以设置默认值。使用DEFAULT 关键字,后面加一个常数。
语法:
INSERT INTO <表名> (列名1,列名2,列名3……) VALUES(值1,值2,值3……);
注意
表名后面的列清单要与VALUES子句中值中列的数量必须保持一致。且位置一一对应。
如果列清单中没有包括的列,那么新添加的记录中该列对应值就为NULL。
列清单的省略
对表进行全列INSERT时,可以省略表后面的列清单,这是VALUES子句的值就会默认从左到又的顺序赋给每一列。
插入NULL
INSERT语句想给某一列赋予NULL值时,可以直接在VALUES子句的值清单中写入NULL。若对应列有著名NOTNULL的约束,那么插入就会出错。
插入默认值
在CREATE TABLE 时,就可以设置插入的默认值了。
如果INSERT 语句没有给特定的项进行赋值,那么该值就会按照CREATE TABLE 时,所设置的默认值来进行赋值。没有默认值,则会设置成NULL。
或者在使用INSERT语句时,VALUES语句后面的值清单,直接使用DEFAULT关键字进行代替。
从其他表中赋值数据
例:
INSERT INTO Test2
SELECT name ,age, phone
FROM Test
注意
从其他表插入该表数据时,要注意插入的列的对应类型是否相同,且约束项是否匹配(最大字符串长度、类型、以及是否允许为空)
可以使用多个子句的SELECT语句。例如WHERE、HAVING 等。但使用ORDER BY不会产生任何效果。
4-2 数据的删除(DELECT语句的使用方法)
DELECT与DROP TABLE 语句有所区别。
- DROP语句会直接删除整个表,不会保留数据。
- DELECT语句会留下表,而删除表中的全部数据。
但是同时会保留数据表,只需要通过INSERT语句就可以再次向表中插入数据。
语法:
- 保留数据表、仅删除全部数据行的DELECT 语句。
DELECT FROM <表名> ;
指定删除对象的DELETE语句
使用WHERE子句,能够进行搜索出特定项,并进行删除。
语法:
DELETE FROM <表名>
WHERE <条件>;
注意
DELETE语句中不能使用GROUP BY、HAVING、ORDER BY 三类子句。
4-3 数据的更新(UPDATE语句的使用)
UPDATE语句,同样也属于DML语句,不需要把数据删除之后重新插入,只需要使用UPDATE语句就可以改变表中的内容。
基本语法:
UPDATE<表名>
SET<列名> = <表达式>;
搜索型UPDATE语句
在UPDATE语句中,可以使用WHERE子句进行筛选。
UPDATE智能去按列修改,所以要对改列特定的选项进行筛选。
语法:
UPDATE<表名>
SET <列名> = <表达式>
WHERE <条件> ;
多列更新
UPDATE 的SET 子句,支持同时将多个列作为更新对象。
使用逗号隔开,或者使用元组赋值形式.
例:
UPDATE Test
SET (name,age) = ('Myname' ,18+1)
WHERE phone = '15512341234' ;
4-4 事务
在RDBMS中,事务代表了对表中数据进行更新的单位,简单来说,事务就是需要在同一个处理单元中执行的一系列更新处理的集合。
创建事务
事务的语法:
事务开始语句:
DML 语句1;
DML 语句2;
DML 语句3;
……
事务结束语句;
常见的事务开始语句:
- SQL Server、PostgreSQL
BEGIN TRANSACTION - MYSQL
START TRANSACTION
最后的结束语句:
COMMIT 或者为 ROLLBACK;
- COMMIT
COMMIT是提交事务包含的全部更新的结束指令。一旦提交,就无法恢复到事务开始前的状态。 - ROLLBACK
ROLLBACK是取消事务包含的全部更新处理的结束指令。
ACID特性
- 原子性
在事务结束时,要么全部被执行,要么全部不被执行。 - 一致性
指的是事务中包含的处理、要满足数据库提前设置的约束。例如主键约束或者NOT NULL 等。 - 隔离性
保证不同事务之间互不干扰。 - 持久性
事务一旦结束,DBMS会保证该时点的数据状态得以保存的特性。
SQL入门学习3-数据更新的更多相关文章
- SQL入门学习5-函数、为此、CASE表达式
6-1. 各种各样的函数 函数的种类 算数函数 字符串函数 日期函数 转换函数 聚合函数 1.1算术函数 数据类型:NUMERIC 是大多数DBMS都支持的一种数据类型. 通过NUMBERIC(全体位 ...
- SQL入门学习2-聚合与排序
3-1 对表进行聚合查询 聚合函数 所谓聚合,就是将多行汇总为一行. 函数名 功能 COUNT 计算表中的记录数(行数) SUM 计算表中数值列的数据合计值 AVG 计算表中数值列的数据平均值 MAX ...
- SQL入门学习1-查询基础
2-1 SELECT语句基础 SELECT语句作用 SELECT 语句用于从表中选取数据. 结果被存储在一个结果表中(称为结果集). 重点 使用SELECT语句从表中选取数据. 为列设定显示用的别名 ...
- SQL入门学习0-数据库与SQL
1.1 DBMS DatabaseManagermentSystem 数据库管理系统 DBMS种类 层次型数据库(HDB) 最古老的数据库之一,把数据通过层次结构的方式表现. 关系型数据库(RDB) ...
- SQL基础学习_03_数据更新
数据的插入 1. 基本INSERT语句 INSERT的基本语法为: INSERT INTO <表名> (列1, 列2, 列3, -) VALUES (值1, 值2, 值 ...
- Sql入门学习——关系范式
--------关系 --------范式 一.三种关系 1.一对一关系 关系数据库中,第一个表中的单个行只可以与第二个表中的一个行相关,且第二个表中的一个行也只可以与第一个表中的一个行相关. 2.一 ...
- SQList3 and SQL入门学习笔记
SQL 这是一个标准的计算机语言进行访问和操作数据库. 什么是 SQL? · SQL 指结构化查询语言 · SQL 使我们有能力訪问数据库 · SQL 是一种 AN ...
- SQL入门学习6-集合运算
7-1 表的加减法 集合运算 集合运算就是对满足同一规则的记录,进行的加减等四则运算. 1.1 表的加法--UNION 表之间进行并集运算. 语法: SELECT 对应列1,对应列2-- FROM 表 ...
- SQL入门学习4-复杂查询
5-1 视图 视图和表 视图和表的区别只有一个是否保存了实际的数据 使用INSERT和SELECT实际上就是从存储设备中读取数据,各种计算后,将数据呈现给用户. 视图不会将数据保存在存储设备中.实际上 ...
随机推荐
- Linux中块设备驱动程序分析
基于<Linux设备驱动程序>书中的sbull程序以对Linux块设备驱动总结分析. 開始之前先来了解这个块设备中的核心数据结构: struct sbull_dev { i ...
- Visual Studio Code中配置GO开发环境
在Visual Studio Code中配置GO开发环境 一.GO语言安装 详情查看:GO语言下载.安装.配置 二.GoLang插件介绍 对于Visual Studio Code开发工具,有一款优秀的 ...
- 《炉石传说》建筑设计欣赏(7):采用Google.ProtocolBuffers处理网络消息
这一次,琢磨了一下Unity3D网络游戏发展的网络信息处理.服务器的网络游戏一般都是自主研发,因此,相应的网络消息处理应该培养自己.client/现在使用的邮件服务器之间的价差JSON和Google. ...
- 染色法判断是否是二分图 hdu2444
用染色法判断二分图是这样进行的,随便选择一个点, 1.把它染成黑色,然后将它相邻的点染成白色,然后入队列 2.出队列,与这个点相邻的点染成相反的颜色 根据二分图的特性,相同集合内的点颜色是相同的,即 ...
- OpenGL3D迷宫场景设计
近期学习用opengl库来构建一个3D场景,以及实现场景漫游.粒子系统等效果.终于算是是做了一个3D走迷宫游戏吧. 感觉近期学了好多东西,所以有必要整理整理. 一 实现效果 watermark/2/t ...
- 假防病毒软件从电脑移植到了 Android 平台
以前有位女研究生点击网络钓鱼的链接.随即出现实时扫毒画面的方式,接着呈现了扫毒结果,跑出十余笔病毒数据,记录了被感染的计算机的具体位置,并提示她必须更新防病毒软件,而她在付费两千元后收到"防 ...
- 优化移动设备上SharePoint 2013网站
优化移动设备上SharePoint 2013网站 本文由SPFarmer翻译自Waldek Mastykarz的文章 移动市场在持续的增长.在不远的将来,使用移动设备浏览站点将会超过电脑.为了保证用户 ...
- hdu1978--How many ways(内存搜索)
How many ways Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) To ...
- (一个)kafka-jstorm集群实时日志分析 它 ---------kafka实时日志处理
package com.doctor.logbackextend; import java.util.HashMap; import java.util.List; import java.util. ...
- Maximal Square 我们都在寻找最高1子矩阵(leeCode)
Given a 2D binary matrix filled with 0's and 1's, find the largest square containing all 1's and ret ...