当前位置: 首页 > article >正文

My_SQL day3

知识点:约束

        1.dafault 默认约束

        2.not null 非空约束

        3.unique key 唯一约束

        4.primary key 主键约束

        5.anto_increment 自增长约束

        6.foreign key 外键约束

知识点:表关系

        1.一对一

        2.一对多

        3.多对多

知识点:约束

1.default 默认约束

create table t1(id int default 110,name varchar(10));
insert into t1(name) values("jianqi"),("fufu");

+------+--------+
| id   | name   |
+------+--------+
|  110 | jianqi |
|  110 | fufu   |
+------+--------+

insert into t1(id,name)values(1,"beibei"),(2,"gangber");

+------+---------+
| id   | name    |
+------+---------+
|  110 | jianqi  |
|  110 | fufu    |
|    1 | beibei  |
|    2 | gangber |
+------+---------+

2. not null非空约束

数据不能为空

create table t2(id int not null,name varchar(10));
#即使赋值为空也不行,除非变成字符串;id为int类型,所以不行

3.unique key 唯一约束

create table t3(id unique key,name varchar(10) not null);
insert into t3 value(1,"jianqi");#ok
insert into t3 value(1,"jianqi");#Duplicate entry '1' for key 't3.id'
非空且唯一,第一个非空且唯一的字段会默认为主键(没设置主键的情况)

4.primary key 主键约束

非空且唯一

create table t4(id int primary key,name varchar(20) not null unique key);

5.anto_increment 自增长约束

create table t5 (id int primary key auto_increment,name varchar(20));
create table tb5(id int primary key auto_increment,name varchar(20) not null)auto_increment=100;

#如果给定id值之后,后面的自增长就是按照最大的ID进行增长

6.foreign key 外键约束

create table a(a_id int primary key auto_increment,a_name varchar(20) not null);
insert into a(a_name) values ("a1"),("a2");
create table b(b_id int primary key,b_name varchar(20) not null,fy_id int not null,foreign key(fy_id) references a(a_id));
insert into b values(1,"a1",1),(2,"a2",2);
insert into b values(3,"a1",3);#报错,主表中没有

#直接删除删不掉a 只能先删除b

知识点:表关系

1.一对一

学生表    课程表

2.一对多

3.多对多

学生表
create table student (s_id int primary key auto_increment,s_name varchar(20) not null);


课程表
create table course(course_id int primary key auto_increment,course_name varchar(20) not null)


关系表
create table zhongjian(s_id int,course_id int,
                       primary key(s_id,course_id),
                       foreign key(course_id) references course(course_id),
                       );


http://www.kler.cn/a/396093.html

相关文章:

  • AR眼镜方案_AR智能眼镜阵列/衍射光波导显示方案
  • SpringBoot - Async异步处理
  • jvm调优方式
  • 深度学习的多主机多GPU协同训练
  • 【Linux】系统中负责回收内存的进程和机制有哪些?
  • 【SpringBoot】20 同步调用、异步调用、异步回调
  • 如何在 untitled 软件中安装 Scala插件
  • 微服务学习重点:底层的实现逻辑
  • java8之Stream流
  • 方法论-WPS模型(高效沟通和决策分析的框架)
  • 【软件工程】具体的设计方法(等价类、边界值、场景法)
  • 【JAVA】使用IDEA创建maven聚合项目
  • 2024React面试精选——持续更新
  • Pycharm 配置 Poetry
  • 【Android、IOS、Flutter、鸿蒙、ReactNative 】启动页
  • 初始 html
  • VSCode可以安装最新版,并且可以对应Node 12和npm 6
  • 多智能体系统实现无直接通信协同
  • Casio推出情感AI宠物机器人Moflin
  • 前后端交互之动态列
  • [CKS] 使用ingress公开https服务
  • 【大模型实战篇】vLLM的由来以及大模型部署、推理加速实践
  • 跨域 总 结 CORS
  • Linux服务器搭建SVN
  • 基于图像处理与机器学习的车牌检测识别系统设计与实现
  • 厦大南洋理工最新开源,一种面向户外场景的特征-几何一致性无监督点云配准方法