本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2024-11(1)

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

发布于2024-11-02 12:20     阅读(797)     评论(0)     点赞(11)     收藏(1)


本篇初始表如下: 

一、Update 修改

1.1、语法

  1. UPDATE [LOW_PRIORITY] [IGNORE] table_reference
  2. SET assignment [, assignment] ...
  3. [WHERE where_condition]
  4. [ORDER BY ...]
  5. [LIMIT row_count]

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

1.2、示例

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

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

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

  1. update student set Math = Math * 2
  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)由于熊二数学成绩过于低,熊大让熊二回到狗熊岭保护继续森林,我们要删除关于熊二的信息

  1. delete from student
  2. 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 约束用于向列中插入默认值,如果没有为列设置值,那么会将默认值设置到该列

  1. create table text2(
  2. id bigint unique,
  3. name varchar(10),
  4. grade varchar(5) default '大一'
  5. );

向表中添加元素:

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

4.5、PRIMARY KEY 主键约束

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

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

  1. create table text3(
  2. id bigint unique not null,
  3. name varchar(10)
  4. );

也存在此标记:

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

  1. create table text5(
  2. id bigint,
  3. name varchar(10),
  4. grade varchar(5),
  5. primary key (id,name)
  6. );

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

4.6、CHECK 约束

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

  1. create table text6(
  2. id bigint primary key,
  3. name varchar(10),
  4. sex varchar(5),
  5. check(sex = '男' or '女')
  6. );

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



所属网站分类: 技术文章 > 博客

作者:搜嘎皮卡

链接:http://www.phpheidong.com/blog/article/554271/6755b909de5babb08247/

来源:php黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

11 0
收藏该文
已收藏

评论内容:(最多支持255个字符)