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

MySQL作业1

目录

一.创建一张表,包含以下所有数据类型

建表:​编辑

二.使用以下六种约束

1.非空约束

2.唯一约束

3.主键约束

4.外键约束

5.检查约束

6.默认值约束


一.创建一张表,包含以下所有数据类型

Text 类型:

Number 类型:

注意:这些整数类型拥有额外的选项 UNSIGNED。通常,整数可以是负数或正数。如果添加 UNSIGNED属性,那么范围将从 0 开始,而不是某个负数。

Date 类型:

 

常用数据类型:

建表:

 

二.使用以下六种约束

NOT NULL非空
UNIQUE Key唯一键
PRIMARY KEY主键
FOREIGN KEY外键
CHECK检查
默认值约束

表的约束示例:

1、非空约束(NOT NULL)
列级约束,只能使用列级约束语法定义。
确保字段值不允许为空
只能在字段级定义

CREATE TABLE tb_student(
    id INT PRIMARY KEY AUTO_INCREMENT,
    NAME VARCHAR(18) NOT NULL
)

NULL
所有数据类型的值都可以是NULL。
空字符串不等于NULL。
0也不等于NULL。


2、唯一约束
唯一性约束条件确保所在的字段或者字段组合不出现重复值
唯一性约束条件的字段允许出现多个NULL
同一张表内可建多个唯一约束
唯一约束可由多列组合而成
建唯一约束时MySQL会为之建立对应的索引。
如果不给唯一约束起名,该唯一约束默认与列名相同。

CREATE TABLE tb_student(
    id INT PRIMARY KEY AUTO_INCREMENT,
    NAME VARCHAR(18) UNIQUE NOT NULL
)


3、主键约束
主键从功能上看相当于非空且唯一
一个表中只允许一个主键
主键是表中唯一确定一行数据的字段
删除表的约束
自动增长和默认值
存储引擎
主键字段可以是单字段或者是多字段的组合
当建立主键约束时,MySQL为主键创建对应的索引
主键约束名总为PRIMARY。

CREATE TABLE tb_student(
    id INT PRIMARY KEY AUTO_INCREMENT,
    NAME VARCHAR(18)
)

4、外键约束
外键是构建于一个表的两个字段或者两个表的两个字段之间的关系
外键确保了相关的两个字段的两个关系:
子(从)表外键列的值必须在主表参照列值的范围内,或者为空(也可以加非空约束,强制不允许为空)。
当主表的记录被子表参照时,主表记录不允许被删除。
外键参照的只能是主表主键或者唯一键,保证子表记录可以准确定位到被参照的记录。
    
格式FOREIGN KEY (外键列名)REFERENCES 主表(参照列)

CREATE TABLE tb_dept(
    dept_id INT PRIMARY KEY,
    NAME VARCHAR(18),
    description VARCHAR(255)
);

CREATE TABLE tb_employee(
    employee_id INT PRIMARY KEY,
    NAME VARCHAR(18),
    gender VARCHAR(10),
    dept_id INT REFERENCES tb_dept(dept_id),
    address VARCHAR(255)
);


5.# 检查约束

# 注意检查约束在8.0之前,MySQL默认但不会强制的遵循check约束(写不报错,但是不生效,需要通触发器完成)
# 8之后就开始正式支持这个约束了。
create table t3(
    id int, 
    age int check(age > 18),
    gender char(1) check(gender in ('M','F'))
);


6.# 默认值
可以使用default关键字设置每一个字段的默认值。
-- 创建一张user表
CREATE TABLE `test`.`user`(  
  `id` INT(11) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `name` VARCHAR(225) COMMENT '姓名',
  `sex` TINYINT(1) DEFAULT 1 COMMENT '性别 1男 0女',
  PRIMARY KEY (`id`)
) ENGINE=INNODB CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci

1.非空约束

2.唯一约束

3.主键约束

4.外键约束

建表,其中第二张表有一个字段与主表关联

给主表添加一个主键约束

添加外键

 

 

5.检查约束

6.默认值约束

相关文章:

MySQL作业1

目录 一.创建一张表,包含以下所有数据类型 建表:​编辑 二.使用以下六种约束 1.非空约束 2.唯一约束 3.主键约束 4.外键约束 5.检查约束 6.默认值约束 一.创建一张表,包含以下所有数据类型 Text 类型: Number 类型&#…...

基于微信小程序的家校通系统设计与实现(亮点:选题新颖、上传作业、批改作业、成绩统计)

文章目录 前言运行环境说明家长微信小程序端的主要功能有:教师微信小程序端的主要功能有:管理员的主要功能有:具体实现截图详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding)有保障的售后福利 代码参考论文…...

uni-app问题记录

一、启动问题记录 1. 报错1 解决办法: 开启微信开发者工具服务端口 2. 报错2:调用getLocation获取位置信息时报错以下内容 {errMsg: “getLocation:fail the api need to be declared in the requiredPrivateInfos field in app.json/ext.json”} 解决办法: manifest.json文…...

Leetcode---363周赛

题目列表 2859. 计算 K 置位下标对应元素的和 2860. 让所有学生保持开心的分组方法数 2861. 最大合金数 2862. 完全子集的最大元素和 一、计算k置为下标对应元素的和 简单题,直接暴力模拟,代码如下 class Solution { public:int sumIndicesWithKS…...

Netty粘包与拆包问题

先看一下下面的例子: 服务端代码为: public class TimeServer {public static void main(String[] args) throws InterruptedException {EventLoopGroup bossGroupnew NioEventLoopGroup();EventLoopGroup workerGroupnew NioEventLoopGroup();try{Serv…...

JS下载链接的两种方式

1、window.open() 弹出新窗口下载,需要用户进行交互之后触发,否则会被拦截,Safari始终会拦截弹窗 2、a标签下载 不会触发弹窗,更安全 let a document.createElement(a) a.href 下载链接; a.download 文件名称; document.bod…...

手把手教你实现:将后端SpringBoot项目部署到华为云服务器上

前言 前提:有一个后端项目,项目能够运行在本地,可以通过本地访问(localhost) 如果没有可以看这篇:一个基于SpringBoot的后端项目 注册华为云账号 华为云官网 购买云服务器 产品 -> 华为云耀云服务器…...

【红队攻防】从零开始的木马免杀到上线

0、环境配置说明 应该全部使用云服务器完整演示比较好,奈何太穷了买不起服务器,只能用本地环境演示。所需环境如下: 系统环境: CentOS 7 ,Windows 10 软件环境 Cobalt Strike 4.7 , ShellQMaker, 360杀…...

Linux命令行操作:使用“more“命令进行分页显示

文章目录 1. 引言1.1 介绍Linux操作系统和命令行界面什么是Linux操作系统?为什么命令行界面在Linux中如此重要? 1.2 介绍Linux中的分页显示命令分页显示命令的作用与意义不同分页显示命令的比较 2. "more"命令的基本用法2.1 安装和启动"m…...

CentOS下安装MySQL 8.1及备份配置

1 卸载原来的MySQL版本 移除之前部署的mysql软链接 # unlink /etc/init.d/mysql # unlink /usr/bin/mysql2 下载最新的MySQL版本 https://dev.mysql.com/downloads/mysql/8.0.html 我这里直接把地址放在这里:https://cdn.mysql.com//Downloads/MySQL-8.1/mysql…...

【RabbitMQ实战】06 3分钟部署一个RabbitMQ集群

一、集群的安装部署 我们还是利用docker来安装RabbitMQ集群。3分钟安装一个集群,开始。 前提条件,docker安装了docker-compose。如果没安装的话,参考这里 docker-compose文件参考bitnami官网:https://github.com/bitnami/contai…...

(c语言)整形提升

#include<stdio.h> //整形提升 int main() { char a 5; //字符型的内存大小为8个比特位&#xff0c;故在进行加法之类的线性运算时需要整形提升 //00000000000000000000000000000101->5 因为字符型的内存大小不足&#xff0c;故在存放整形时需要裁切 …...

上传文件报错:The temporary upload location [/tmp/tomcat/xxx] is not valid

1.上传附加时报错找不到临时目录 Failed to parse multipart servlet request; nested exception is java.io.IOException: The temporary upload location [/tmp/tomcat/work/Tomcat/localhost/ROOT] is not valid 发生改报错原因为 (1)、SpringBoot项目启动后&#xff0c;系…...

直线模组的品牌有哪些?

中国工业制造业快速发展&#xff0c;工业自动化领域也进入了飞速发展的阶段&#xff0c;直线模组作为工业自动化领域不可缺少的机器人之一&#xff0c;有着重要的不可或缺的作用&#xff0c;在行业内做得好的直线模组品牌有哪些呢&#xff1f; 1、NSK&#xff1a;日本精工株式会…...

零基础学习ESP8266

文章目录 零基础学习ESP8266前言选择硬件如何学习专栏大纲基础部分提高部分 总结 零基础学习ESP8266 前言 最近在空余的时候有用乐鑫的模组&#xff0c;感觉很不错&#xff0c;也决定简单写写。 相信看这篇文章的同学&#xff0c;希望可以熟悉ESP8266这个硬件平台。当然我们…...

基于PYQT5的GUI开发系列教程【二】框架安装和基础环境配置

本文概述 PYQT5是一个基于python的可视化GUI开发框架&#xff0c;具有容易上手&#xff0c;界面美观&#xff0c;多平台部署等优点&#xff0c;作者将通过一系列教程&#xff0c;带领大家从零基础到入门~能够自主实现GUI开发。 作者介绍 作者本人是一名人工智能炼丹师&#xff…...

pg数据库操作,insert(sql)插入一条数据后获返回当前插入数据的id --chatGPT

gpt: 在 PostgreSQL 数据库中&#xff0c;可以使用 INSERT 语句插入一条数据&#xff0c;并通过 RETURNING 子句来返回插入数据的 ID。以下是一个示例 Go 代码来执行这个操作&#xff1a; go package main import ( "database/sql" "fmt" &…...

【数据结构-树】哈夫曼树

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kuan 的首页,持续学…...

HarmonyOS 4.0 实况窗上线!支付宝实现医疗场景智能提醒

本文转载自支付宝体验科技&#xff0c;作者是蚂蚁集团客户端工程师博欢&#xff0c;介绍了支付宝如何基于 HarmonyOS 4.0 实况窗实现医疗场景履约智能提醒。 1.话题背景 8 月 4 日&#xff0c;华为在 HDC&#xff08;华为 2023 开发者大会&#xff09;上推出了新版本操作系统…...

【响应式布局】

响应式布局 1 什么是响应式布局2 响应式布局的5种实现方案2.1 百分比布局2.2 媒体查询布局2.3 rem响应式布局2.4 vw / vh响应式布局2.5 flex弹性布局 1 什么是响应式布局 响应式布局就是一个网站能够兼容多个终端——而不是为每个终端做一个特定的版本。这个概念是为解决移动互…...

新手必看|SRC平台漏洞挖掘全攻略(2026干货版):平台详解+规则必记+实操步骤

新手必看&#xff5c;SRC平台漏洞挖掘全攻略&#xff08;2026 干货版&#xff09;&#xff1a;平台详解规则必记实操步骤 对于网络安全新手、计算机相关专业学生&#xff0c;以及想转型安全领域的从业者而言&#xff0c;SRC平台是合法练手、积累实战经验、衔接职场的核心载体。…...

如何在1小时内掌握TinySAM:从零开始构建高效图像分割模型

如何在1小时内掌握TinySAM&#xff1a;从零开始构建高效图像分割模型 【免费下载链接】TinySAM 项目地址: https://gitcode.com/gh_mirrors/ti/TinySAM 想象一下&#xff0c;你需要在移动设备上实时分割图像中的任意物体&#xff0c;但传统模型动辄几百兆&#xff0c;运…...

下一代嵌入式开发架构实战:基于Rust与STM32F4 HAL的安全高效系统设计

下一代嵌入式开发架构实战&#xff1a;基于Rust与STM32F4 HAL的安全高效系统设计 【免费下载链接】Awesome-Embedded A curated list of awesome embedded programming. 项目地址: https://gitcode.com/gh_mirrors/aw/Awesome-Embedded 在传统嵌入式开发中&#xff0c;开…...

Claude HUD:AI开发效率的实时状态监控工具

Claude HUD&#xff1a;AI开发效率的实时状态监控工具 【免费下载链接】claude-hud A Claude Code plugin that shows whats happening - context usage, active tools, running agents, and todo progress 项目地址: https://gitcode.com/GitHub_Trending/cl/claude-hud …...

如何自定义ProxyManager代理生成器:从入门到精通的完整指南

如何自定义ProxyManager代理生成器&#xff1a;从入门到精通的完整指南 【免费下载链接】ProxyManager &#x1f3a9;✨&#x1f308; OOP Proxy wrappers/utilities - generates and manages proxies of your objects 项目地址: https://gitcode.com/gh_mirrors/pr/ProxyMan…...

Z-Image-Turbo-辉夜巫女详细步骤:Xinference服务状态检查+Gradio端口映射配置

Z-Image-Turbo-辉夜巫女详细步骤&#xff1a;Xinference服务状态检查Gradio端口映射配置 1. 模型简介 Z-Image-Turbo-辉夜巫女是基于Z-Image-Turbo模型的LoRA版本&#xff0c;专门用于生成具有辉夜巫女风格的人物图片。这个模型通过Xinference框架部署&#xff0c;提供了稳定…...

基于Node.js构建HunyuanVideo-Foley模型调度与管理中间件

基于Node.js构建HunyuanVideo-Foley模型调度与管理中间件 1. 引言&#xff1a;音效生成服务的挑战与机遇 在视频制作和游戏开发领域&#xff0c;高质量的音效生成(HunyuanVideo-Foley)已成为提升作品沉浸感的关键要素。随着AI模型能力的提升&#xff0c;单个音效生成请求的处…...

021工程微服务治理实战:Spring Cloud Alibaba 2024 全景落地指南

工程微服务治理实战&#xff1a;Spring Cloud Alibaba 2024 全景落地指南 在工程行业数字化转型的深水区&#xff0c;我们面临着独特的技术挑战&#xff1a;一个大型地产项目往往涉及设计、采购、施工、监理、成本、营销等十几个业务域&#xff0c;服务调用链路复杂&#xff1b…...

告别C盘爆满!Windows 11下ESP-IDF 5.3.2环境安装与路径优化全攻略

告别C盘爆满&#xff01;Windows 11下ESP-IDF 5.3.2环境安装与路径优化全攻略 你是否经历过C盘空间告急的恐慌&#xff1f;当红色进度条填满磁盘图标时&#xff0c;那种窒息感堪比程序员面对满屏报错。对于嵌入式开发者而言&#xff0c;ESP-IDF环境安装往往成为C盘的"隐形…...

VRChat玩家必看:用批处理脚本一键把缓存从C盘挪到E盘(附config.json手动修改方法)

VRChat玩家自救指南&#xff1a;彻底解决C盘缓存爆满的终极方案 每次打开VRChat看到C盘剩余空间像倒计时一样减少&#xff0c;是不是感觉血压都上来了&#xff1f;作为一款以用户生成内容为核心的游戏&#xff0c;VRChat会不断下载并缓存其他玩家创建的虚拟形象、世界场景等资源…...