数据的插入(INSERT语句的使用方法)

INSERT INTO ShohinIns (shohin_id, shohin_mei, shohin_bunrui, hanbai_tanka,

原则上,执行一次INSERT语句会插入一行数据。

对表进行全列INSERT时,可以省略表名后的列清单。

省略INSERT语句中的列名,就会自动设定为该列的默认值(没有默认值时会设定为NULL)。

从其他表中复制数据:INSERT …SELECT。

INSERT语句的SELECT语句中,可以使用WHERE子句或者GROUP BY子句等任何SQL语法。(但使用ORDER BY子句并不会产生任何效果)。

数据的删除(DELETE语句的使用)

DROP TABLE语句可以将表完全删除。

DELETE语句会留下表(容器),而删除表中的全部数据。

清空表:DELETE FROM Shohin;

DELETE语句的删除对象并不是表或者列,而是记录(行)。

可以通过WHERE字句指定对象条件来删除部分数据。

注:TRUNCATE <表名>; 只能删除全部数据,正因为它不能具体地控制删除对象,所有其处理速度比DELETE要快的多。因此需要删除全部数据时,使用TRUNCATE可以缩短执行时间。

数据的更新(UPDATE语句的使用方法)

UPDATE语句:

UPDATE <表名>

SET <列名> = <表达式>

WHERE <条件>;

使用UPDATE语句可以将值清空为NULL(但只限于未设置NOT NULL约束的列)。

多列更新:使用逗号将列进行分隔排列

UPDATE Shohin
SET hanbai_tanka = hanbai_tanka * 10,
shiire_tanka = shiire_tanka / 2
WHERE shohin_bunrui = '厨房用具';

  

事务

事务是需要在同一个处理单元执行的一系列更新处理的集合。

START TRANSACTION;

    -- 运动T恤的销售单价下调1000日元
UPDATE Shohin
SET hanbai_tanka = hanbai_tanka - 1000
WHERE shohin_mei = '运动T恤'; -- T恤的销售单价上浮1000日元
UPDATE Shohin
SET hanbai_tanka = hanbai_tanka + 1000
WHERE shohin_mei = 'T恤'; COMMIT; START TRANSACTION; -- 运动T恤的销售单价下调1000日元
UPDATE Shohin
SET hanbai_tanka = hanbai_tanka - 1000
WHERE shohin_mei = '运动T恤'; -- T恤的销售单价上浮1000日元
UPDATE Shohin
SET hanbai_tanka = hanbai_tanka + 1000
WHERE shohin_mei = 'T恤'; ROLLBACK;

事务处理何时开始:

几乎所有的数据库产品,每条SQL语句就是一个事务(自动提交模式)。

如果需要回滚操作,需要关闭自动提交或者明示开始事务(start transaction)

事务的ACID特性:原子性、一致性、隔离性、持久性。.

  

SQL --Chapter 04 数据更新的更多相关文章

  1. Chapter 04—Basic Data Management

    1. 创建新的变量 variable<-expression expression:包含一组大量的操作符和函数.常用的算术操作符如下表: 例1:根据已知变量,创建新变量的三种途径 > my ...

  2. SQL Server 2012 - 数据更新操作

    SELECT * FROM dbo.Student; --1, 插入数据 Insert ,逗号分隔可以同时插入多条 INSERT dbo.Student ( StuID, Class, StuName ...

  3. SQL实战——04. 查找所有已经分配部门的员工的last_name和first_name以及dept_no (一个逗号引发的血案)

    查找所有已经分配部门的员工的last_name和first_name以及dept_noCREATE TABLE `dept_emp` (`emp_no` int(11) NOT NULL,`dept_ ...

  4. 一套代码小程序&Web&Native运行的探索04——数据更新

    接上文:一套代码小程序&Web&Native运行的探索03 对应Git代码地址请见:https://github.com/yexiaochai/wxdemo/tree/master/m ...

  5. SQL Sever实验三 视图与数据更新

    一. 实验目的 1.掌握创建视图的 SQL 语句,数据更新的 SQL 语句. 2.了解使用创建视图向导创建视图的方法. 3.掌握使用 SQL 创建视图的方法,使用 SQL 更新数据的方法. 二. 实验 ...

  6. SQL Server2012 T-SQL基础教程--读书笔记(1-4章)

    SQL Server2012 T-SQL基础教程--读书笔记(1-4章) SqlServer T-SQL 示例数据库:点我 Chapter 01 T-SQL 查询和编程背景 1.3 创建表和定义数据的 ...

  7. SQL 介绍和操作

    1.什么是SQL SQL的全称是“结构话查询语句”(Structured Query Language ),是1974年有Boyce和chamberlin 提出来的.经过多年的发展,SQL语言已经成为 ...

  8. 探究分析---利用sql批量更新部分时间的同比数据

    问题:如何将social_kol_tmp表 中的字段cost_YA中日期为201901-201909中的值替换为相同brand和pltform对应18年月份的col_cost字段的数据,其他日期的co ...

  9. SQL Server 从Excel导入到数据库操作遇到的科学计数法问题

    问题描述 今天在做从Excel导入数据到SQL Server 中将数据更新到表中,可惜就这一个简单的操作中出现了一点小插曲,就在我根据Excel中的编号关联表编号以此更新姓名字段时出现转换错误问题.如 ...

随机推荐

  1. java的Spring

    歇了一年都没有写过自己博客了,在学习新东西的时候 ,应该把它们记下来,学了.net 去了公司没有多久就转成了java虽然都在做,还是觉得.net好,不过东西还是应该学习下去,这样才是正解! 首先学习的 ...

  2. walk around by The provided App differs from another App with the same version and product ID 分类: Sharepoint 2015-07-05 08:14 4人阅读 评论(0) 收藏

    'm currently developing a SharePoint 2013 application. After a few deployments via Visual Studio, I ...

  3. iOS开发技巧-2

    1,打印View所有子视图 po [[self view]recursiveDescription] 2,layoutSubviews调用的调用时机 * 当视图第一次显示的时候会被调用 * 当这个视图 ...

  4. win8没有无线网络适配器问题

    1. 先关闭ssid : 命令提示符(管理员)输入 :netsh wlan set hostednetwork mde=disallow ssid 2. 再设置无线名称和密码 :netsh wlan ...

  5. 近期编程问题——epoll failed:bad file descriptor

    出现问题:epoll_wait:Bad file descriptor 原因:IO时间的socket描述符在epoll_ctl处理前就关闭了. 解决方法:不要在epoll_ctl之前关闭socket描 ...

  6. cookie怎么用

    cookie是什么? cookie是浏览器提供的一种机制,它将document 对象的cookie属性提供给JavaScript.可以由JavaScript对其进行控制,而并不是JavaScript本 ...

  7. TypeScript Handbook 2——接口1(翻译)

    接口(Interfaces) One of TypeScript's core principles is that type-checking focuses on the 'shape' that ...

  8. 这种代码怎么改写?以致于在下次增加CustomsType时,不需要再加 if 语句。

    最近看到项目里一段代码如下: excelObject excel = new excelObject(); if (loadbill.CustomsType == 1) excel.IDownload ...

  9. Activity 生命周期

    Activity 的四种基本状态 1.运行态(Running) Activity 处于屏幕最前端,用户可见且获得焦点. 2.暂停态(Paused) Activity被置于后台,用户可见,但失去焦点 3 ...

  10. display:inline-block 和float:left 的区别

    display:inline-block 和float:left 的区别   display是指显示状态,float是针对块级元素的浮动. 使用inline-block:控制元素的垂直对齐跟横向排列元 ...