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实际上就是从存储设备中读取数据,各种计算后,将数据呈现给用户. 视图不会将数据保存在存储设备中.实际上 ...
随机推荐
- windows使用nginx+memcached实现负载均衡和session或者缓存共享
windows使用nginx+memcached实现负载均衡和session或者缓存共享 两台server server1:115.29.186.215 windows2008 64位操作系统 ser ...
- Windows Phone开发(48):不可或缺的本地数据库
原文:Windows Phone开发(48):不可或缺的本地数据库 也许WP7的时候,是想着让云服务露两手,故似乎并不支持本地数据库,所有数据都上传上"云"数据库中.不过呢,在SD ...
- poj1182食物链(种类并查集)
http://poj.org/problem?id=1182 r[x] = 0 表示x和父亲是同类r[x] = 1 表示x吃父亲r[x] = 2 表示x被父亲吃因为只存在三种动物,且三种动物构成了环形 ...
- C语言cgi(1)
1Columbia Universitycs3157 – Advanced ProgrammingSummer 2014, Lab #2, 60ish pointsJune 9, 2014Follow ...
- jQuery Ajax: $.post请求示例
jQuery Ajax: $.post请求示例 leyangjun.html页面 <html> <head> <meta http-equiv="Content ...
- UVA 11427 - Expect the Expected(概率递归预期)
UVA 11427 - Expect the Expected 题目链接 题意:玩一个游戏.赢的概率p,一个晚上能玩n盘,假设n盘都没赢到总赢的盘数比例大于等于p.以后都不再玩了,假设有到p就结束 思 ...
- spring 重定向以及转发 乱码问题解决
1.spring 转发 request.setAttribute("id", id); request.setAttribute("name",name); r ...
- poj 2586 Y2K Accounting Bug (贪心)
Y2K Accounting Bug Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 8678 Accepted: 428 ...
- effective c++ 条款5 c++ 默默实现的函数
当写一个空类c++ 会为我们自动提供四个函数 1 默认构造函数 2 默认析构函数 3 拷贝构造函数 4 默认赋值运算符
- 微信开放平台 公众号第三方平台开发 教程四 代公众号调用接口的SDK和demo
原文:微信开放平台 公众号第三方平台开发 教程四 代公众号调用接口的SDK和demo 教程导航: 微信开放平台 公众号第三方平台开发 教程一 平台介绍 微信开放平台 公众号第三方平台开发 教程二 创建 ...