【MySQL探索之旅】MySQL数据表的增删查改——约束

这篇具有很好参考价值的文章主要介绍了【MySQL探索之旅】MySQL数据表的增删查改——约束。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【MySQL探索之旅】MySQL数据表的增删查改——约束,MySQL探索之旅,mysql,android,数据库

📚博客主页:爱敲代码的小杨.

✨专栏:《Java SE语法》 | 《数据结构与算法》 | 《C生万物》 《MySQL探索之旅》 |《Web世界探险家》

❤️感谢大家点赞👍🏻收藏⭐评论✍🏻,您的三连就是我持续更新的动力❤️

🙏小杨水平有限,欢迎各位大佬指点,相互学习进步!

【MySQL探索之旅】MySQL数据表的增删查改——约束,MySQL探索之旅,mysql,android,数据库

1. 数据库约束类型

  • not null :不允许某列存储空值(非空);
  • unique :不允许你某列存储重复值(唯一);
  • default :没有赋值的列存储默认值;
  • primary key:主键约束,not nullunique 的结合,确保某列(或两个列多个列的结合)有唯一标
    识,有助于更容易更快速地找到表中的一个特定的记录。
  • foreign key:外键约束,保证一个表中的数据匹配另一个表中的值的参照完整性。

2. not null 非空

创建表的时候,指定列不为空

create table student(id int not null, name varchar(20), age int);

【MySQL探索之旅】MySQL数据表的增删查改——约束,MySQL探索之旅,mysql,android,数据库

上述命令指定 id 这一列的数据不能为空。

测试:插入 id 为空的记录是否能成功插入

insert into student values (null,'张三',18);

【MySQL探索之旅】MySQL数据表的增删查改——约束,MySQL探索之旅,mysql,android,数据库

3. unique 唯一

创建表的时候,指定某类的值不能重复。

create table student(id int unique, name varchar(20), age int);

上述命令指定 id 这一列的数据不能重复

测试:插入 id 重复的记录是否都能成功插入

insert into student values (1,'张三',18);
insert into student values (1,'张三',18);

【MySQL探索之旅】MySQL数据表的增删查改——约束,MySQL探索之旅,mysql,android,数据库

4. default 默认值

指定插入数据的时候,sex 列为空,默认值

create table student(id int, name varchar(20), sex varchar(10) default '女');

【MySQL探索之旅】MySQL数据表的增删查改——约束,MySQL探索之旅,mysql,android,数据库

测试:

insert into student(id, name) values (1,'张三');
insert into student(id, name, sex) values (2,'李四','男');

【MySQL探索之旅】MySQL数据表的增删查改——约束,MySQL探索之旅,mysql,android,数据库

5. primary key:主键约束

指定 id 列为主键

create table student(id int primary key, name varchar(20));

主键相当于 not nullunique 的结合

测试:

insert into student values (null,'张三');
insert into student values (1,'张三');
insert into student values (1,'张三');

【MySQL探索之旅】MySQL数据表的增删查改——约束,MySQL探索之旅,mysql,android,数据库

对于整数类型的主键,常配搭自增长 auto_increment来使用。插入数据对应字段不给值时,使用最大
+1 ,而不是前一条记录 +1

insert into student values (1,'张三');
insert into student values (null,'李四');
insert into student values (100,'赵五');
insert into student values (5,'宋六');
insert into student values (null,'王麻子');
select * from student;

【MySQL探索之旅】MySQL数据表的增删查改——约束,MySQL探索之旅,mysql,android,数据库

6. foreign key:外键约束

外键用于关联其他表的主键或者唯一键,语法:

foreign key (字段名) referenes 主表()

示例:

  • 创建班级表,设置 classId 为主键

    create table class(id int primary key, name varchar(20));
    
  • 创建学生表,设置id 为主键,一个学生对应一个班级,一个班级对应多个学生。使用id为主键,
    classeId 为外键,关联班级表id

    create table student(id int primary key, name varchar(20), classId int, foreign key (classId) references class(id));
    

在这个语句中, 定义一个外键的实际作用是,在这条语句执行后,确保 MySQL 插入外键中的每一个非空值已经在被参照表中作为主键出现。这意味着,对于student 表中的每一个 classId ,都执行一次检查,看这个编号是否出现在 class 表的 id 列(主键)中。如果不存在,则出现出错信息。

【MySQL探索之旅】MySQL数据表的增删查改——约束,MySQL探索之旅,mysql,android,数据库

【MySQL探索之旅】MySQL数据表的增删查改——约束,MySQL探索之旅,mysql,android,数据库文章来源地址https://www.toymoban.com/news/detail-851855.html

到了这里,关于【MySQL探索之旅】MySQL数据表的增删查改——约束的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • oracle数据表转换为mysql数据表

    oracle数据表转换为mysql数据表,或者反过来,我们可以借助navica的工具 1.打开navicat的工具-数据传输 2.选择源数据库以及目标数据库 目标可以选择数据库也可以选择文件,目标数据库需要提前建好表,这里是选择文件,注意选择一个文件,sql格式即为目标数据库类型,这里不

    2024年02月16日
    浏览(62)
  • 【MySQL】MySQL 数据类型,数值、日期和时间、字符串类型,创建数据表,删除数据表

    作者简介: 辭七七,目前大一,正在学习C/C++,Java,Python等 作者主页: 七七的个人主页 文章收录专栏: 七七的闲谈 欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖 MySQL 中定义数据字段的类型对你数据库的优化是非常重要的。 MySQL 支持多种类型,大致可以分为三类:数值、日

    2024年02月15日
    浏览(78)
  • MySql基础教程(三):创建数据表、数据增删改查、删除数据表

    创建MySQL数据表需要以下信息: 表名 表字段名 定义每个表字段 1.1 语法 下面是创建MySQL数据表的SQL通用语法: 以下例子在 nobug 数据库中创建数据表 nobug_user : 实例解析: 如果你不想字段为 NULL 可以设置字段的属性为 NOT NULL, 在操作数据库时如果输入该字段的数据为NULL ,

    2024年02月11日
    浏览(67)
  • 实现一个MYSQL工具类,包含判断创建数据表是否存在,创建数据表

    可以使用Python的MySQLdb模块来实现一个MYSQL工具类。下面是一个简单的实现示例: 使用示例: 在上面的示例中,我们首先创建了一个MySQLTool类,并在初始化方法中传入了数据库的连接信息。然后使用connect方法连接到数据库。 table_exists方法用于判断给定的数据表是否存在,它执

    2024年01月15日
    浏览(64)
  • MySQL数据表操作

    目录 内容如下 一、相关的概念 one / 表(关系表) two / 字段(表结构) three / 记录(具体的数据) four / 表之间的关系 five / 二、数据类型 one / 整数类型 two / 浮点数类型 three / 定点数类型 four / 字符类型 five / 日期时间类型 six / 二进制类型 三、存储引擎 one / 概念 tw

    2024年02月10日
    浏览(46)
  • MySQL数据表

    首先要进入数据库USE name,再创建数据表 或者使用数据库.数据表的方式创建 1.创建数据表 CREATE TABLE [IF NOT EXISTS] 表名( 字段1, 数据类型 [约束条件] [默认值],# 数据类型有INT,VERCHAR(30),CHAR,DATETIME等等 字段2, 数据类型 [约束条件] [默认值],#约束条件,比如指定为主键:PRIMARY KEY,例

    2024年02月13日
    浏览(50)
  • MySQL数据表查询

    😇作者介绍:一个有梦想、有理想、有目标的,且渴望能够学有所成的追梦人。 🎆学习格言:不读书的人,思想就会停止。——狄德罗 ⛪️个人主页:进入博主主页 🗼专栏系列:进入MySQL知识专栏 🌼欢迎小伙伴们访问到博主的文章内容,在浏览阅读过程发现需要纠正的地

    2024年02月11日
    浏览(71)
  • mysql数据库和数据表

    常用的数据类型: int : 整型  用于定义整数类型的数据 float : 单精度浮点4字节32位  准确表示到小数点后六位. double :双精度浮点8字节64位 char :固定长度的字符类型  用于定义字符类型数据 varchar :可变长度的字符类型 text : 文本 image: :图片 SQL语言: Structured Query La

    2024年02月10日
    浏览(68)
  • MySQL 数据表修复方法

    本文主要讲check table和repair table指令; 在检查、修复表,除了用 myisamchk 指令,还可以用 check table 、 repair table 指令。(指令不区分大小写) 检查表是否有错误 CHECK TABLE对 MyISAM 和 InnoDB 表有作用。 对于MyISAM表,统计信息会被更新,CHECK TABLE也可以检查视图是否有错误,

    2024年02月13日
    浏览(61)
  • MySQL数据表高级操作

    方法一: 方法二: 方法一 DELETE清空表后,返回的结果内有删除的记录条目; DELETE 工作时是一行一行的删除记录数据的;如果表中有自增长字段,使用DELETE FROM 删除所有记录后,再次新添加的记录会从原来最大的记录ID后面继续自增写入记录。 方法二 TRUNCATE清空表后,没有返回

    2024年02月16日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包