SQL基础学习4

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

用来装入数据的SQL就是INSERT

INSERT语句的基本语法:

INSERT INTO 表名 (列名1,列名2,列名3,...) VALUES (值1,值2,值3,...);

注意:1.插入的数据要用单引号括起来;2.多个列名与值用逗号隔开;3.表名后面的列清单与VALUES后的值清单数量必须保持一致;4.原则上,执行一次INSERT只会插入一行数据(即,要插入多行数据就需要多条INSERT语句)

列清单的省略:

对表进行全列INSERT时,可以省略表名后的列清单。此时,VALUES子句的值会默认按照从左到右的顺序赋给每一列。

插入NULL:

INSERT语句中想给某一列赋予NULL值时,可以直接在VALUES子句的值清单中写入NULL。但是,想要插入NULL的列一定不能设置NOT NULL约束

插入默认值:

通过CREATE TABLE语句中设置DEFAULT约束来实现对默认值的设定。

1.通过显示方法插入默认值:在VALUES子句中指定DEFAULT关键字;

2.通过隐示方法插入默认值:在列清单与值清单中都省略设定了默认值的列。

P.S:若省略了没有设定默认值的列的话,该列的值就会被设定为NULL。(如果此时该列设定为NOT NULL,INSERT语句就会出错)

从其它表中复制数据:使用INSERT...SELECT语句,原有数据不会发生改变,可以在需要数据备份时使用

--将一个表的数据复制到另外一个表中
INSERT INTO 复制目的表名 (列名1,列名2,列名3, ...)
SELECT 列名1,列名2,列名3, ...
FROM 复制源表名;

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


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

DROP TABLE语句和DELETE语句:一旦删除,不可恢复

DROP TABLE语句会将表完全删除;DELETE语句会留下表(容器),而删除表中的全部数据

DELETE语句的基本语法:

DELETE FROM 表名;
解释:删除表名中的全部数据

P.S:1.不能漏写FROM;2.DELETE删除的对象是行,不是列或表

指定删除对象的DELETE语句:(搜索型DELETE:使用WHERE子句指定删除条件)

DELETE FROM 表名
WHERE 条件;
解释:删除表名指定条件下的行数据

P.S:DELETE语句中不能使用GROUP BY、HAVING和ORDER BY三类子句,只能使用WHERE子句


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

UPDATE语句的基本语法:

UPDATE 表名
SET 列名=表达式;
解释:1.在 SET子句中记录更新对象的列和更新后的值;2.该列名下的所有数据都会被更新为指定的值

指定条件的UPDATE语句:(搜索型UPDATE:使用WHERE子句指定更新条件

UPDATE 表名
SET 列名=表达式
WHERE 条件;
解释:将表名中符合条件的列名设为表达式的值

使用NULL进行更新:亦称为NULL清空

只需将表达式右边的值直接写为NULL即可,但只限于未设置NOT NULL约束的列

UPDATE 表名
SET 列名=NULL
WHERE 条件;

多列更新:

1.使用逗号分隔排列(对所有的DBMS都适用)

UPDATE 表名
SET 列名1=表达式1,列名2=表达式2, ...
WHERE 条件;

2.使用 列清单化(只对部分DBMS适用)

UPDATE 表名
SET (列名1,列名2, ...)=(表达式1,表达式2, ...)
WHERE 条件;


事务: 需要在同一个处理单元中执行的一系列更新处理的集合
创建事务:
事物开始语句;
      DML语句1;
      DML语句2;
      DML语句3;
      ...
事物结束语句(COMMIT或者ROLLBACK);
解释:1.在标准SQL中并没有定义事务的开始语句,而是 由各个DBMS自已来定义的。比较有代表性的语法有SQL Server、PostgreSQL(BEGIN TRANSACTION),MySQL(START TRANSACTION),Oracle、DB2(无)

2.事务的结束需要用户明确地给出指示。(COMMIT是提交事务包含的全部更新处理的结束指令,一旦提交就无法恢复到事务开始前的状态;ROLLBACK是取消事务包含的全部更新处理的结束指令,一旦回滚就会回复到事务开始之前的状态

ACID特性:

DBMS的事务都遵循四种标准规格的约定,即ACID特性

1.原子性(Atomicity):事务结束时,其中所包含的更新处理要么全部执行,要么完全不执行的特性;

2.一致性(Consistency)(也称为完整性):事务中包含的处理,要满足数据库提前设置的约束;

3.隔离性(Isolation):保证不同事务之间互不干扰的特性,即事务中间不会相互嵌套;

4.持久性(Durability):事务一旦结束,DBMS会保证该时点的数据状态得以保存的特性


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值