sql insert时自动赋上默认值 | 您所在的位置:网站首页 › sql增加一行默认数据怎么弄 › sql insert时自动赋上默认值 |
为什么突然跳到第四章了?本书第二三章的内容和另外几篇SQL的笔记重合.....可以配合去看 本章重点内容: 数据的插入(INSERT语句的使用方法)数据的删除(DELETE语句的使用方法)数据的更新(UPDATE语句的使用方法)事务 数据的插入(INSERT语句的使用方法)在学习INSERT,先创建一个表。 1.INSERT语句的基本语法 INSERT INTO (列1, 列2, 列3, ……) VALUES (值1, 值2, 值3, ……); 1).我们要向 ProductIns 表中插入一行数据【数值类型必须保持和定义的时候一致】 红框内的是:列清单 绿框内的是:值清单2)对表进行全列 INSERT 时,可以省略表名后的列清单,并且支持多行同时插入。 2.插入NULL: INSERT 语句中想给某一列赋予 NULL 值时,可以直接在 VALUES子句的值清单中写入 NULL,但是,想要插入 NULL 的列一定不能设置 NOT NULL 约束。向设置了NOT NULL 约束的列中插入 NULL 时, INSERT 语句会出错,导致数据插入失败. 3.插入默认值:可以通过在创建表的CREATE TABLE 语句中设置 DEFAULT 约束来设定默认值,如果在创建表的同时设定了默认值,就可以在 INSERT 语句中自动为列赋值了。默认值的使用方法通常有显式和隐式两种。 显示:在 VALUES 子句中指定 DEFAULT 关键字【推荐显示】 隐式:插入默认值时也可以不使用 DEFAULT 关键字,只要在列清单和VALUES 中省略设定了默认值的列就可以了。如果省略了没有设定默认值的列,该列的值就会被设定为 NULL。因此,如果省略的是设置了 NOT NULL 约束的列, INSERT 语句就会出错. 4.从其他表中复制数据[INSERT...SELECT语句],应用该语句的时候,要保证两张表的结构是一直的。 注意:INSERT 语句中的 SELECT 语句,也可以使用 WHERE 子句或者GROUP BY 子句等。目前为止学到的各种 SELECT 语句也都可以使用【ORDER BY子句并不会产生任何效果】 数据的删除(DELETE语句的使用方法)DROP TABLE语句和DELETE语句 1)DROP TABLE语句可以将表完全删除。 2)DELETE 语句会留下表(容器),而删除表中的全部数据。 3)DELETE语句的基本语法: ①清空全部数据: ②指定删除对象的DELETE语句(搜索型DELETE)想要删除部分数据行时,可以像 SELECT 语句那样使用 WHERE子句指定删除条件。 这种指定了删除对象的 DELETE 语句称为DELETE。 例子:假设我们要删除销售单价(sale_price)大于等于 4000 元的数据。下表中满足该条件的是“运动 T 恤”和“高压锅”。 删除后的数据: 数据的更新(UPDATE语句的使用方法)使用 INSERT 语句向表中插入数据之后,有时却想要再更改数据,例如“将商品销售单价登记错了”等的时候。这时并不需要把数据删除之后再重新插入,使用 UPDATE 语句就可以改变表中的数据了。 UPDATE语句的基本语法 我们尝试把上表中 regist_date 列(登记日期)的所有数据统一更新为“2009-10-10” 指定条件的UPDATE语句(搜索型UPDATE)【NULL也成立】 例如,将商品种类(product_type)为厨房用具的记录的销售单价(sale_price)更新为原来的 10 倍。 多列更新: UPDATE 语句的 SET 子句支持同时将多个列作为更新对象。例如我们可以同时将(sale_price)更新为原来的 10 倍,也可以(purchase_price)更新为原来的一半。 方法①【常用】: 方法②: 事务什么是事务:事务就是需要在同一个处理单元中执行的一系列更新处理的集合。通过使用 事务,可以对数据库中的数据更新处理的提交和取消进行管理。 创建事务: 事务的语法在MySQL语句中 事务的开始语句为:START TRANSACTION: 事务的开始语句为:COMMIT/ROLLBACK COMMIT:是提交事务包含的全部更新处理的结束指令,相当于文件处理中的覆盖保存。一旦提交,就无法恢复到事务开始前的状态了。因此,在提交之前一定要确认是否真的需要进行这些更新。 ROLLBACK 是取消事务包含的全部更新处理的结束指令,相当于文件处理中的放弃保存。一旦回滚,数据库就会恢复到事务开始之前的状态。 ACID特性:原子性(Atomicity):原子性是指在事务结束时,其中所包含的更新处理要么全部执行,要么完全不执行,也就是要么占有一切要么一无所有。 一致性(Consistency):一致性指的是事务中包含的处理要满足数据库提前设置的约束,如主键约束或者 NOT NULL 约束等。例如,设置了 NOT NULL 约束的列是不能更新为 NULL 的,试图插入违反主键约束的记录就会出错,无法执行。对事务来说,这些不合法的 SQL 会被回滚。也就是说,这些 SQL 处理会被取消,不会执行。 隔离性(Isolation):隔离性指的是保证不同事务之间互不干扰的特性。 持久性(Durability):持久性也可以称为耐久性,指的是在事务(不论是提交还是回滚)结 束后, DBMS 能够保证该时间点的数据状态会被保存的特性。即使由于系统故障导致数据丢失,数据库也一定能通过某种手段进行恢复。 |
CopyRight 2018-2019 实验室设备网 版权所有 |