发布于2024-11-02 12:20 阅读(736) 评论(0) 点赞(11) 收藏(1)
本篇初始表如下:
- UPDATE [LOW_PRIORITY] [IGNORE] table_reference
- SET assignment [, assignment] ...
- [WHERE where_condition]
- [ORDER BY ...]
- [LIMIT row_count]
接上篇新熊二同学英语没考试,后来英语老师单独给熊二进行了测试,成绩为“60”,这时我们需要把表中熊二的英语成绩由 NIULL 修改为 60,接下来我们演示一下:
(1) 将光头强的数学变更为80分,英语变更为77分:
- update student set Math = 80,English = 77
- where name = '光头强';
(2)将熊二的数学成绩更改为原来的二倍:
- update student set Math = Math * 2
- where name = '熊二';
下图可见:熊二的数学成绩由 30 更改为了 60 。
• 以原值的基础上做变更时,不能使用 math += 30 这样的语法
• 不加 where 条件时,会导致全表数据被更新
DELETE FROM tbl_name [WHERE where_condition] [ORDER BY ...] [LIMIT row_count]
(1)由于熊二数学成绩过于低,熊大让熊二回到狗熊岭保护继续森林,我们要删除关于熊二的信息
- delete from student
- where name = '熊二';
• 执行Delete时不加条件会删除整张表的数据
数据库约束是指对数据库表中的数据所施加的规则或条件,用于确保数据的准确性和可靠性。这些约束可以是基于数据类型、值范围、唯⼀性、非空等规则,以确保数据的正确性和相容性
当定义表时某列不允许为NULL时,可以为列添加非空约束。
NULL 列为 NO:表示当前列不能为空:YES:表示当前列可以为空
此时我们新增元素是,将 id 列设为空:
可以发现,非空列有值时可以正常插入,而设为 NULL 或 不赋值 时都会报 错
指定了唯⼀约束的列,该列的值在所有记录中不能重复
查看表结构,Key 列显示 UNI 表示唯⼀约束
唯一约束列,插入相同元素,会报错,但是若约束列可以为 NULL 时,可以重复插入:
DEFAULT 约束用于向列中插入默认值,如果没有为列设置值,那么会将默认值设置到该列
- create table text2(
- id bigint unique,
- name varchar(10),
- grade varchar(5) default '大一'
- );
向表中添加元素:
注意:虽然指定列为默认约束,当我们指定该列为 NULL 时,插入后的结果依旧为 NULL ,因为:用户指定的优先级高于默认约束
NOY NULL 和 UNIQUE 的结合 主键约束的列即是 唯一的 也是 非空的
相当于使用 NOY NULL 和 UNIQUE 的结合体 :
- 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)
- );
上图定义了复合主键,当复合主键中的所有列都相同时,才判定为相同,故复合主键中的单列插入可以相同,保证另一个主键列不同即可:
可以应用于⼀个或多个列,用于限制列中可接受的数据值,从而确保数据的完整性和准确性。
- create table text6(
- id bigint primary key,
- name varchar(10),
- sex varchar(5),
- check(sex = '男' or '女')
- );
可见,若插入的值不可接受,则会插入失败而报错。
作者:搜嘎皮卡
链接:http://www.phpheidong.com/blog/article/554271/6755b909de5babb08247/
来源:php黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 php黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-4
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!