sql insert时自动赋上默认值 您所在的位置:网站首页 sql增加一行默认数据怎么弄 sql insert时自动赋上默认值

sql insert时自动赋上默认值

2024-07-04 14:08| 来源: 网络整理| 查看: 265

22166d150e469b72f988fa1fb82bb938.png

为什么突然跳到第四章了?本书第二三章的内容和另外几篇SQL的笔记重合.....可以配合去看

本章重点内容: 数据的插入(INSERT语句的使用方法)数据的删除(DELETE语句的使用方法)数据的更新(UPDATE语句的使用方法)事务 数据的插入(INSERT语句的使用方法)

在学习INSERT,先创建一个表。

2c18fe7df7aff7a86ecac1bafaad41c2.png

c1294f8477c90c090a94c8db7701a4d4.png

1.INSERT语句的基本语法

INSERT INTO (列1, 列2, 列3, ……) VALUES (值1, 值2, 值3, ……);

1).我们要向 ProductIns 表中插入一行数据【数值类型必须保持和定义的时候一致】

e64e4ef4644bcb2599f4743fe6d13a0e.png

e1fdb936a9587d6281d1a814c6bcc414.png 红框内的是:列清单 绿框内的是:值清单

2)对表进行全列 INSERT 时,可以省略表名后的列清单,并且支持多行同时插入。

4bce13bff45e7405adb5b326b7ffe5a7.png

47bde40b4008edeeb4c49cbbe1298ec0.png

2.插入NULL: INSERT 语句中想给某一列赋予 NULL 值时,可以直接在 VALUES子句的值清单中写入 NULL,但是,想要插入 NULL 的列一定不能设置 NOT NULL 约束。向设置了NOT NULL 约束的列中插入 NULL 时, INSERT 语句会出错,导致数据插入失败.

3.插入默认值:可以通过在创建表的CREATE TABLE 语句中设置 DEFAULT 约束来设定默认值,如果在创建表的同时设定了默认值,就可以在 INSERT 语句中自动为列赋值了。默认值的使用方法通常有显式和隐式两种。

14e81b5ac689615f7311e68a5828abf4.png

显示:在 VALUES 子句中指定 DEFAULT 关键字【推荐显示

ecbd5515385ffae9c7f1245bc2ed1e46.png

5e2378bac21e90363187eb16b80f0c4e.png

隐式:插入默认值时也可以不使用 DEFAULT 关键字,只要在列清单和VALUES 中省略设定了默认值的列就可以了。如果省略了没有设定默认值的列,该列的值就会被设定为 NULL。因此,如果省略的是设置了 NOT NULL 约束的列, INSERT 语句就会出错.

4.从其他表中复制数据[INSERT...SELECT语句],应用该语句的时候,要保证两张表的结构是一直的。

a4631c584263aeb5c0c1ad6219389f6c.png

注意:INSERT 语句中的 SELECT 语句,也可以使用 WHERE 子句或者GROUP BY 子句等。目前为止学到的各种 SELECT 语句也都可以使用【ORDER BY子句并不会产生任何效果】

c1cdb2cd61ba888bc8971c1d13bdd6cc.png 数据的删除(DELETE语句的使用方法)

DROP TABLE语句和DELETE语句

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

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

3)DELETE语句的基本语法:

①清空全部数据:

5dd4479b54e1d43bbbb4ad8c0796447b.png

②指定删除对象的DELETE语句(搜索型DELETE)想要删除部分数据行时,可以像 SELECT 语句那样使用 WHERE子句指定删除条件。 这种指定了删除对象的 DELETE 语句称为DELETE。

例子:假设我们要删除销售单价(sale_price)大于等于 4000 元的数据。下表中满足该条件的是“运动 T 恤”和“高压锅”。

c75b5f8ce0f7df3eb4e1bc0d58fc33f4.png

删除后的数据:

ed51683637240d724a9c6bcf1eb525c8.png

1b8a40cf6077abe539768d657a3a750b.png 数据的更新(UPDATE语句的使用方法)

使用 INSERT 语句向表中插入数据之后,有时却想要再更改数据,例如“将商品销售单价登记错了”等的时候。这时并不需要把数据删除之后再重新插入,使用 UPDATE 语句就可以改变表中的数据了。

UPDATE语句的基本语法

e01038cab9d3d8d4585a241d40e0198d.png

faa0a681ad16d302769b88f76c8a76ee.png

我们尝试把上表中 regist_date 列(登记日期)的所有数据统一更新为“2009-10-10”

9f7f1bf59a94be0bf2688a919df71e9a.png

e3b6557eb1632f1454b4e54667b486ec.png

指定条件的UPDATE语句(搜索型UPDATE)【NULL也成立

04b76b2dad740b951973fe03a9c3e430.png

例如,将商品种类(product_type)为厨房用具的记录的销售单价(sale_price)更新为原来的 10 倍。

61ca54db9d278f5af4f2a6bda5a0fc37.png

7f1e57e7a97138bf5a41bd5ba2e21b8e.png

多列更新:

UPDATE 语句的 SET 子句支持同时将多个列作为更新对象。例如我们可以同时将(sale_price)更新为原来的 10 倍,也可以(purchase_price)更新为原来的一半。

方法①【常用】:

661dfa60476c64ce5cb1a5bb1f5d8e70.png

方法②:

23c28cc6aad6c1acb30328a0653759eb.png

275cad4c71d2a511ff23542f3c916e29.png 事务

什么是事务:事务就是需要在同一个处理单元中执行的一系列更新处理的集合。通过使用

事务,可以对数据库中的数据更新处理的提交和取消进行管理。

创建事务:

8f6f16a4d00224d551631cc644e7b5c7.png 事务的语法

在MySQL语句中

c2c848fcc7644d81720a1e0454a61fa9.png

事务的开始语句为:START TRANSACTION:

事务的开始语句为:COMMIT/ROLLBACK

COMMIT:是提交事务包含的全部更新处理的结束指令,相当于文件处理中的覆盖保存。一旦提交,就无法恢复到事务开始前的状态了。因此,在提交之前一定要确认是否真的需要进行这些更新。

dfc5241b82c2288a88280182fa5433dc.png

ROLLBACK 是取消事务包含的全部更新处理的结束指令,相当于文件处理中的放弃保存。一旦回滚,数据库就会恢复到事务开始之前的状态。

1e93d5a93d1793d4069158399f5e6636.png ACID特性:

原子性(Atomicity):原子性是指在事务结束时,其中所包含的更新处理要么全部执行,要么完全不执行,也就是要么占有一切要么一无所有。

一致性(Consistency):一致性指的是事务中包含的处理要满足数据库提前设置的约束,如主键约束或者 NOT NULL 约束等。例如,设置了 NOT NULL 约束的列是不能更新为 NULL 的,试图插入违反主键约束的记录就会出错,无法执行。对事务来说,这些不合法的 SQL 会被回滚。也就是说,这些 SQL 处理会被取消,不会执行。

80a495660828fa35f10eb40c6bb5f57b.png

隔离性(Isolation):隔离性指的是保证不同事务之间互不干扰的特性。

持久性(Durability):持久性也可以称为耐久性,指的是在事务(不论是提交还是回滚)结

束后, DBMS 能够保证该时间点的数据状态会被保存的特性。即使由于系统故障导致数据丢失,数据库也一定能通过某种手段进行恢复。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有