0


解锁MySQL的潜力:掌握修改、删除和约束的关键技巧

本篇初始表如下:

一、Update 修改

1.1、语法

 UPDATE [LOW_PRIORITY] [IGNORE] table_reference
 SET assignment [, assignment] ...
 [WHERE where_condition]
 [ORDER BY ...]
 [LIMIT row_count]

接上篇新熊二同学英语没考试,后来英语老师单独给熊二进行了测试,成绩为“60”,这时我们需要把表中熊二的英语成绩由 NIULL 修改为 60,接下来我们演示一下:

1.2、示例

(1) 将光头强的数学变更为80分,英语变更为77分:

 update student set Math = 80,English = 77 
 where name = '光头强';

(2)将熊二的数学成绩更改为原来的二倍:

 update student set Math = Math * 2
 where name = '熊二';

下图可见:熊二的数学成绩由 30 更改为了 60 。

1.3、注意事项

  •  以原值的基础上做变更时,**不能**使用 **math += 30** 这样的语法

  •  不加 **where **条件时,会导致全表数据被更新

二、Delete 删除

2.1、语法

DELETE FROM tbl_name [WHERE where_condition] [ORDER BY ...] [LIMIT row_count]

2.2、示例

(1)由于熊二数学成绩过于低,熊大让熊二回到狗熊岭保护继续森林,我们要删除关于熊二的信息

delete from student 
where name = '熊二';

2.3、注意事项

   • 执行Delete时不加条件会删除整张表的数据

三、增删查改总结

** 四、**数据库约束

  数据库约束是指对数据库表中的数据所施加的规则或条件,用于确保数据的准确性和可靠性。这些约束可以是基于数据类型、值范围、唯⼀性、非空等规则,以确保数据的正确性和相容性

4.1、约束类型

4.2、NOT NULL 非空约束

    当定义表时某列不允许为NULL时,可以为列添加非空约束。

   NULL 列为 NO:表示当前列不能为空:YES:表示当前列可以为空 

此时我们新增元素是,将 id 列设为空:

可以发现,非空列有值时可以正常插入,而设为 NULL不赋值 时都会报 错

4.3、UNIQUE 唯⼀约束

     指定了唯⼀约束的列,该列的值在所有记录中不能重复

    查看表结构**,Key** 列显示** UNI **表示唯⼀约束 

唯一约束列,插入相同元素,会报错,但是若约束列可以为 NULL 时,可以重复插入:

4.4、DEFALUT 默认值约束

DEFAULT 约束用于向列中插入默认值,如果没有为列设置值,那么会将默认值设置到该列

 create table text2(
 id bigint unique,
 name varchar(10),
 grade varchar(5) default '大一'
 );

向表中添加元素:

注意:虽然指定列为默认约束,当我们指定该列为 **NULL 时,插入后的结果依旧为 NULL **,因为:用户指定的优先级高于默认约束

4.5、PRIMARY KEY 主键约束

  **   NOY NULL **和 **UNIQUE** 的结合 主键约束的列即是 **唯一的 **也是 **非空的**

相当于使用 NOY NULLUNIQUE 的结合体 :

create table text3(
id bigint unique not null,
name varchar(10)
);

也存在此标记:

一个表中不允许有两个主键,但一个主键可以包含多个列(复合主键)

 create table text5(
 id bigint,
 name varchar(10),
 grade varchar(5),
 primary key (id,name)
 );

上图定义了复合主键,当复合主键中的所有列都相同时,才判定为相同,故复合主键中的单列插入可以相同,保证另一个主键列不同即可:

4.6、CHECK 约束

可以应用于⼀个或多个列,用于限制列中可接受的数据值,从而确保数据的完整性和准确性。

 create table text6(
 id bigint primary key,
 name varchar(10),
 sex varchar(5),
 check(sex = '男' or '女')
 );

可见,若插入的值不可接受,则会插入失败而报错。

标签: 数据库 mysql

本文转载自: https://blog.csdn.net/2302_81247414/article/details/142990402
版权归原作者 Mr Aokey 所有, 如有侵权,请联系我们删除。

“解锁MySQL的潜力:掌握修改、删除和约束的关键技巧”的评论:

还没有评论