# 更新数据表以及创建事务

更新数据表以及创建事务

更新数据表

更新数据表使用UPDATE关键字,语法如下:

UPDATE 数据表名 SET 需要实现的更改 WHERE 搜索条件;

搜索条件不是必须的,当拥有WHERE关键字是,称为搜索型更新。

set后面有两种格式:

UPDATE Product
SET sale_price = 500, purchase_price = 400
WHERE product_name = 'T恤衫';

或者

UPDATE Product
SET (sale_price, purchase_price) = (500, 400)
WHERE product_name = 'T恤衫';

推荐使用第一种方式,因为第二种方式并非是所有的DBMS都会支持的。

同时借助数据更新将数据制成为NULL,可以实现数据的清空。

当然,即使是更新数据的时候也必须遵守创建数据表时的约束,同时不能够清空主键。

创建事务

事务是什么

事务是需要在同一个处理单元中执行的一系列更新处理的集合。通过使用
事务,可以对数据库中的数据更新处理的提交和取消进行管理

事务的特点

事务的特点有四种:

  1. 原子性(Atommicity)
    一件事务,其中的更新操作要么全部都会执行,要么全么都不会执行,所有的这些操作时一个整体,所以叫原子
  2. 一致性(Consistency)
    遵循数据库中提前设置的约束
  3. 隔离性(Isolation)
    指一个事务中的各个更新操作在事务结束以前,他们之间时相互透明的
  4. 持久性(Durability)
    指的是数据的灾难恢复能力

事务的开始

实际上几乎所有的数据库都不需要事务开始指令。大部分情况下,事务在数据库建立连接以后就已经开始,并不需要手动指定事务开始的时机。

对于不指定事务开始,数据库可以有如下几种方式的事务提交方式:

  1. 自动提交类型
    每一条SQL语句就是一个事务
  2. 手动提交类型
    直到用户执行COMMIT或者ROLLBACK为止才算做一个事务

通常可以任意选择其中的一种模式。SQL Server,PostgreSQL和MySQL等默认使用1。甲骨文,DB2默认使用2。

同时对于一条语句一个事务的自动提交,执行DELETE语句以后无法回滚,所以需要谨慎操作。

创建事务

不同的数据库有不同的创建事务(开始事务)方式,实际上标准的SQL并没有指定创建事务应该使用什么语句。一般的创建方式有:

  1. BEGIN TRANSACTION (Postgres等)
  2. START TRANSACTION (MySQL等)
  3. 无 (甲骨文等)

结束事务

  1. COMMIT 提交,提交以后不可回退
  2. ROLLBACk 回退

原文地址:https://www.cnblogs.com/freesfu/p/11530851.html

时间: 2024-08-01 18:55:29

# 更新数据表以及创建事务的相关文章

MYSQL千万级数据表,创建表及字段扩展的几条建议

MYSQL千万级数据表,创建表及字段扩展的几条建议 一:概述 当我们设计一个系统时,需要考虑到系统的运行一段时间后,表里数据量大约有多少,如果在初期,就能估算到某几张表数据量非常庞大时(比如聊天消息表),就要把表创建好,这篇文章从创建表,增加数据,以及字段扩展,这几个方面来给出建议. 二:创建表 假如现在我们需要创建IM项目中的聊天消息表,这个表数据量大,读操作远超过写操作,我们都知道,mysql常用的数据库引擎主要有innodb,myisam,这两个数据库引擎主要区别是,innodb支持事务,

数据库实验二 数据库和数据表的创建

实验环境: SQL Service 2014 一.数据库的创建 有三种类型的文件用来存储数据库: 主文件包含数据库的启动信息.主文件还可以用来存储数据.每个数据库都包含一个主文件. 次要文件保存所有主要数据文件中容纳不下的数据.如果主文件大到足以容纳数据库中的所有数据,就不需要有次要数据文件.而另一些数据库可能非常大,需要多个次要数据文件,也可能使用多个独立磁盘驱动器上的次要文件,以将数据分布在多个磁盘上. 事务日志文件保存用来恢复数据库的日志信息.每个数据库必须至少有一个事务日志文件(尽管可以

MySQL查看数据表的创建时间和最后修改时间

如何MySQL中一个数据表的创建时间和最后修改时间呢? 可以通过查询information_schema.TABLES 表得到信息. 例如 mysql> SELECT * FROM `information_schema`.`TABLES` WHERE `information_schema`.`TABLES`.`TABLE_SCHEMA` = 'cmdb' AND `information_schema`.`TABLES`.`TABLE_NAME` = 'database_orc_servic

SQL笔记-第二章,数据表的创建和管理

数据类型 分5类:整数.数值.字符相关.日期时间以及二进制 1.整数 数据库系统 类型 说明 MYSQL tinyint [unsigned] 一个很小的整数.有符号的范围是-128 到127,无符号的范围是0 到255. smallint [unsigned] 一个小整数.有符号的范围是-32768到32767,无符号的范围是0 到65535. mediumint [unsigned] 一个中等大小整数.有符号的范围是-8388608到8388607,无符号的范围是0到16777215. in

C# DataAdapter.Update() 无法更新数据表中删除的数据行

用DataAdapter.Update() 方法更新删除了部分DataRow 的 DataTable .但是数据库中的数据没有随着更新而变化. 原因:DataTable 删除 DataRow 时,使用的是DataTable.Rows.Remove(DataRow ) 或 DataTable.Rows.RemoveAt(DataRowIndex) 方法. 解决方法:使用 DataTable.Rows[rowIndex].Delete() ; 方法删除数据. 详解如下: DataAdapter.Up

SQL基础:数据表的创建

1. 先选择创建表所在的数据库 2. 创建表 3. 查看表是否创建成功 4. 主键:要求主键列的数据唯一,且不允许为空.主键能够唯一的标识表中的每一条记录,可以结合外键来定义不同数据表之间的关系,并且可以加快数据库查询的速度. 主键分为:单字段主键和多字段联合主键. 4.1 单字段主键 4.1.1 定义方式一:在定义列的同时指定主键 4.1.2 定义方式二:在定义完所有的列之后指定主键 4.2 多字段联合主键 5. 使用外键约束 外键用来在两个表之间建立连接,可以是一列或多列.一个表的外键可以是

数据库系列学习(二)-数据表的创建和管理

1.数据类型 A:整数类型 bit,int,smallint,tinyint [与操作系统位数有关] B:数值类型 decimal,numeric,money,smallmoney,float,real [可存小数] C:字符相关类型 char,varchar,text,nchar,nvarchar,ntext D:日期时间类型 datetime(精确到0.01秒),smalldatetime(精确到分钟),timestamp E:二进制类型 image [经图片,视频转为二进制,保存到数据库]

数据表的创建与管理

在数据库中通过数据表来存放记录,在数据表中经常会碰到主外键,索引,约束等条件,下面就详细一下. 主键 一张数据表中唯一的标识,确保一张数据表中不会出现两个完全相同的数据记录. 主键可以定义在多个列上,也就是说在定义数据库的时候可以将数据表中的多个列合并在一起作为该表的主键 外键 用来表与表之间关系的.如果字段F是表B中的字段,而且是表A的主键的话,那么列F就是表B的外键.用来执行增 删改查的时候,两张表一致性. 外键删除时,对应的表中的记录也应该做出相应的调整,分为三种方式 1.CASCADE:

数据表的创建

表的创建属于DDL(数据定义语言)范畴.每创建的数据表或者是表中的列都属于数据库之中的对象,表对象的创建语法以: CREATE TABLE为主进行定义. 1.表的创建语法如下: 2.对表名称及列名称的定义要求如下: (a)必须以字母开头 (b)长度为 1 -- 30 个字符 (c)表名称由字母(A-Z . a-z) . 数字(0 - 9) . _   $  .# 组成,而且名称要有意义. (d)对同一个用户不能使用相同的表名称 (e)不能是Oracle中的保留字,像CREATE . SELECT