SQL基础教程读书笔记-2
4 数据更新
4.1数据的插入
1.清单{①列清单 ②值清单
列清单和值清单的数量必须保持一致。
原则上,执行一次INSERT语句会插入一行数据
对表进行全列INSERT时,可以省略表名后的列清单
2.插入默认值(默认值)
①显式插入:
INSERT INTO ProductIns
(product_id,product_name,product_type,sale_price,purchase_price,regist_date)
VALUES
('0007','擦菜板','厨房用具',DEFAULT,790,'2009-04-28');
②隐式插入:
INSERT INTO ProductIns
(product_id,product_name,product_type,sale_price,regist_date)
VALUES
('0007','擦菜板','厨房用具',790,'2009-04-28');
3.从其他表复制数据
INSERT...SELECT语句
INSERT INTO ProductCopy
(prodcut_id,product_name,product_type,sale_price,purchase_price,regist_date)
SELECT prodcut_id,product_name,product_type,sale_price,purchase_price,regist_date
FROM Product;
INSERT语句的SELECT语句中,可以使用WHERE或者GROUP子句等任何SQL语法(但使用ORDER BY子句并不会产生任何效果)。
4.2 数据的删除
DELETE语句的删除对象并不是表或者列,而是记录(行)
4.3 数据的更新
1.使用NULL进行更新
使用UPDATE语句可以将值清空为NULL(但只限于未设置NOT NULL约束的列)。
2.多列更新
①
UPDATE Product
SET sale_price = sale_price * 10,
purshase_price = purchase_price / 2
WHERE product_type = '厨房用具';
②
UPDATE Product
SET (sale_price,purshase_price) =
(sale_price * 10,purchase_price / 2)
WHERE product_type = '厨房用具';
方法①在所有DBMS中都可以使用,方法②在某些DBMS中是无法使用的。
4.4 事务
1.什么是事务?
事务就是需要在同一个处理单元中执行的一系列更新处理①INSERT ②DELETE ③UPDATE的集合。
2.事务的语法
事务开始语句;
DML语句①;
DML语句②;
DML语句③;
事务结束语句(COMMIT或ROLLBACK)
事务开始:在标准SQL中并没有定义事务的开始语句。
- SQL SERVER ;PostgreSQL
BEGIN TRANSACTION;
- MySQL
START TRANSACTION;
- Oracle DB2
无
事务结束:
COMMIT;
ROLLBACK;
3.事务处理何时开始
几乎所有的数据库产品的事务都无需开始指令。这是因为大部分情况下,事务在数据库连接建立时已经悄悄开始了,并不需要用户再明确发出开始指令。
那应该如何区分各个事务?
① 每条SQL语句就是一个事务(自动提交模式)
② 直到用户执行COMMIT或者ROLLBACK为止算作下一个事务。
4.ACID特性:
原子性(Atomicity):是指在事务结束时,其中所包含的更新处理要么全部执行,要么全部不执行的特性。
一致性(Consistency):指的是事务中包含的处理,要满足数据库提前设置的约束。
隔离性(Isolation):不同事务之间互不干扰的特性。在某个事务进行的更改,在该事务结束之前,对其他事务而言是不可见的。
持久性(Durability):耐久性,指的是事务(不论提交还是回滚)一旦结束,DBMS会保证该点的数据状态得以保存的特性。
SQL基础教程读书笔记-2的更多相关文章
- SQL基础教程读书笔记-1
查询基础 2.2 算数运算符和比较运算符 2.2.1算数运算符 + - * / 需要注意NULL 5 + NULL 10 - NULL 1 * NULL 4 / NULL NULL / 9 NULL ...
- SQL基础教程读书笔记-3
5 复杂查询 5.1 视图 1.表和视图的区别表:保存的是实际的数据视图:保存的是SELECT语句.从视图读取数据时,视图会在内部执行该SELECT语句并创建出一张临时表. 2.视图的优点① 无需保存 ...
- SQL Server2012 T-SQL基础教程--读书笔记(1-4章)
SQL Server2012 T-SQL基础教程--读书笔记(1-4章) SqlServer T-SQL 示例数据库:点我 Chapter 01 T-SQL 查询和编程背景 1.3 创建表和定义数据的 ...
- SQL Server2012 T-SQL基础教程--读书笔记(8 - 10章)
SQL Server2012 T-SQL基础教程--读书笔记(8 - 10章) 示例数据库:点我 CHAPTER 08 数据修改 8.1 插入数据 8.1.1 INSERT VALUES 语句 8.1 ...
- SQL Server2012 T-SQL基础教程--读书笔记(5-7章)
SQL Server2012 T-SQL基础教程--读书笔记(5-7章) SqlServer T-SQL 示例数据库:点我 Chapter 05 表表达式 5.1 派生表 5.1.1 分配列别名 5. ...
- 【索引】Objective-C基础教程-读书笔记
第1章 启程 http://www.cnblogs.com/duxiuxing/p/5492219.html 第2章 对C的扩展 第3章 面向对象编程的基础知识 第4章 继承 第5章 复合 第6章 ...
- 《Python基础教程读书笔记》
第1章 快速构造:基础知识 1.2交互式构造器 不强制分号,一行就是一行.可以加上分号 1.4数字和表达式 加.减.乘.除.整除.求余.指数.取反(-例如-2**2,**的优先级比-大) from _ ...
- 【Objective-C基础教程-读书笔记】第1章 启程
在第1章里面,作者主要以一种站在世界中心呼唤爱的姿态,给读者们打打鸡血洗洗脑,鼓励大家,投入时间学习Objective-C,值得啊! 首先,Objective-C既能用来开发OS X平台上的APP,又 ...
- Objective-C基础教程读书笔记(6)
第6章 源文件组织 到目前为止,我们讨论过的所有项目都是把源代码统统放入main.m文件中.类的main()函数,@interface和@implementation部分都被塞入同一个文件里.这种结构 ...
随机推荐
- HDU1175 连连看(DFS)
Problem Description “连连看”相信很多人都玩过.没玩过也没关系,下面我给大家介绍一下游戏规则:在一个棋盘中,放了很多的棋子.如果某两个相同的棋子,可以通过一条线连起来(这条线不能经 ...
- JSP异常之org.apache.jasper.JasperException(转)
According to TLD or attribute directive in tag file, attribute items does not accep t any expression ...
- RPC 调用简述
首先了解什么叫RPC,为什么要RPC,RPC是指远程过程调用,也就是说两台服务器A,B,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数/方法,由于不在一个内存空间,不能直接调用,需要通过网 ...
- Apache降权和禁用PHP危险函数
测试环境: Windows Server 2003 + phpstudy 首先在win2003里运行phpstudy,这里注意需要选择应用系统服务模式,应用之后重启phpstudy. 打开系统服务(开 ...
- java 整型数组基本排序,冒泡,快速选择,插入,归并
在学java泛型,于是把排序拿来练练手了 import java.util.Arrays; public class GenericArraySort { public static void mai ...
- C#执行批处理命令
using System.Diagnostics ; using System.IO; private void btnRun_Click(object sender, EventArgs e) ...
- 你应该学会的Postman用法
postman这个神器相信大家都用过,程序员作为非专业的测试人员,非常需要这么一款简单轻量级的restful测试工具,但是不知道你是否知道,postman的强大之处不只是测试一下接口,还有其他非常赞的 ...
- 激光相机数据融合(3)--KITTI数据集
KITTI数据集提供了双目图像,激光数据,和imu/gps位置信息,其中还包括了大量的算法.下载地址为:http://www.cvlibs.net/datasets/kitti/raw_data.ph ...
- shell ping一个IP,延时大于5,输出延时大于5s,打印输出
# ping一个IP,延时大于5,输出延时大于5s,打印输出 #!/bin/bash ip=$* echo $ip num=`ping -c 10 ${ip}|grep icmp_seq|awk ' ...
- Nginx+Tomcat+Redis实现持久会话
使用开源web应用solo blog进行项目演示.前端使用Nginx作为负载均衡器,后端Tomcat连接Redis实现session存储.Redis的特点就是可以将session持久化.样才能真正实现 ...