《MySQL 必知必会》课程笔记(三)

news2024/11/15 11:15:33

怎么创建和修改数据表?

  • 创建和修改数据表,是数据存储过程中的重要⼀环。
  • 我们不仅需要把表创建出来,还需要正确地设置限定条件,这样才能确保数据的一致性和完整性。
  • 同时,表中的数据会随着业务需求的变化而变化,添加和修改相应的字段也是常见的操作。

如何创建数据表?

  • 首先,我们要知道 MySQL 创建表的语法结构:
    CREATE TABLE <表名> (
    	字段名 name1 数据类型 [字段级别约束] [默认值], 
    	字段名 name2 数据类型 [字段级别约束] [默认值], 
    	字段名 name3 数据类型 [字段级别约束] [默认值], 
    	......
    	[表级别约束]
    );
    
    • 我们通过定义表名、表中的字段、表的属性等,把一张表创建出来。
    • “约束”限定了表中数据应该满足的条件。
  • 假设创建一个表叫做进货单头表(importhead):
    在这里插入图片描述
    • 1、2、3 表示门店的 3 种进货方式,分别是配送中心配送、门店采买和供货商直供。
    • 其中,“1(配送中心配送)”是标准进货方式,我们希望这个字段的值能够默认是 1。
    • 我们先来看基本的数据表创建流程如下:
      CREATE TABLE importhead (
      	listnumber INT,
      	supplierid INT,
      	stocknumber INT,
      	importtype INT DEFAULT 1,
      	quantity DECIMAL(10, 3),
      	importvalue DECIMAL(10, 2),
      	recorder INT,
      	recordingdate DATETIME
      );
      
    • 接下来插入一条数据:
      INSERT INTO importhead ( listnumber, supplierid, stocknumber, quantity, importvalue, recorder, recordingdate ) 
      VALUES ( 3456, 1, 1, 10, 100, 1, '2020-12-10' );
      

都有哪些约束?

  • 给字段设置默认值的做法,就是默认约束。
    • 设置了默认约束,插入数据的时候,如果不明确给字段赋值,那么系统会把设置的默认值自动赋值给字段。
    • 除了默认约束,还有主键约束、外键约束、非空约束、唯⼀性约束和自增约束。
  • 非空约束
    • 非空约束表示字段值不能为空,如果创建表的时候,指明某个字段非空,那么添加数据的时候,这个字段必须有值,否则系统就会提示错误。
  • 唯⼀性约束
    • 唯⼀性约束表示这个字段的值不能重复,否则系统会提示错误。
    • 跟主键约束相比,唯⼀性约束要更加弱⼀些。
  • 自增约束
    • 自增约束可以让 MySQL 自动给字段赋值,且保证不会重复,非常有用,只是不容易用好。
    • 在数据表中,只有整数类型的字段(包括 TINYINT、SMALLINT、MEDIUMINT、INT 和 BIGINT),才可以定义自增约束。自增约束的字段,每增加⼀条数据,值自动增加 1。
    • 你可以给自增约束的字段赋值,这个时候,MySQL 会重置自增约束字段的自增基数,下次添加数据的时候,自动以自增约束字段的最大值加 1 为新的字段值
  • 在一个表中,我们可以指定多个字段满足唯一性约束,而主键约束则只能有一个,这是 MySQL 系统决定的。另外,满足主键约束的字段,自动满足非空约束,但是满足唯一性约束的字段,则可以是空值。

如何修改表?

  • 进货单表是存储进货数据的。我们还要创建⼀个进货单历史表(importheadhist)来存储验收过的进货数据。
  • 这个表的结构跟进货单表类似,只是多了 2 个字段,分别是验收人(confirmer)和验收时间(confirmdate)。
    • 首先,我们要把原来的表结构复制:
      CREATE TABLE importheadhist 
      LIKE importhead;
      
    • 我们需要对这个表进行修改,通过添加字段和修改字段,来获得我们需要的“进货单历史表”:
      ALTER TABLE importheadhist ADD confirmer INT;
      ALTER TABLE importheadhist ADD confirmdate DATETIME;
      
    • 除了添加字段,我们可能还要修改字段,我们要把字段名称“quantity” 改成 “importquantity”,并且把字段类型改为 DOUBLE:
      ALTER TABLE importheadhist 
      CHANGE quantity importquantity DOUBLE;
      

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/510226.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

docker ngxin

安装docker环境 官方安装 官方安装 Install Docker Engine on CentOS | Docker Documentation sudo yum install -y yum-utils sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repoyum install docker-ce docker-ce-cli container…

在滴滴和字节跳动划水4年,过于真实了...

先简单交代一下吧&#xff0c;沅哥是某不知名211的本硕&#xff0c;18年毕业加入滴滴&#xff0c;之后跳槽到了头条&#xff0c;一直从事测试开发相关的工作。之前没有实习经历&#xff0c;算是四年半的工作经验吧。 这四年半之间他完成了一次晋升&#xff0c;换了一家公司&am…

你有了一套采购系统,就数字化转型了吗?

我觉得完全没有达到&#xff0c;我们觉得要把这个系统要应用起来&#xff0c;用得好才能够说明你这个系统真正地做了数字化转型的。 甄云作为采购数字化服务商&#xff0c;在服务客户时&#xff0c;深有感触。 流程断点&#xff0c;但没有充分采购数字化价值 我这边讲一个故事…

Python系列之Linux 安装

目录 一、认识Python 1.1 为什么要学python ? 1.2 Python优点 1.3 Python应用场景 二、源码安装 三、RPM安装 一、认识Python 1.1 为什么要学python ? python的哲学: 明确,优雅,简单 python更强大&#xff0c;执行效率比shell高。 python可以跨平台&#xff0c;可移…

计算机网络的三种交换方式

1.计算机网络的三种交换方式 声明&#xff1a;该学习笔记来自湖科大教书匠&#xff0c;笔记仅做学习参考 个人理解&#xff1a;交换&#xff08;Switch&#xff09;可以理解为切换开关&#xff0c;将交换机中某两个开关打开&#xff0c;使得连接此两个开关的双方建立通信通道 如…

VolSDF

Volume Rendering of Neural Implicit Surfaces&#xff08;VolSDF&#xff09;&#xff1a;神经隐式曲面的体渲染 摘要&#xff1a;一个神经隐式表面体积渲染框架&#xff0c;将体积密度建模为几何形状的函数来实现表面重建。定义的体积密度函数作为拉普拉斯的累积分布函数&am…

git 解决 “fatal: Could not read from remote repository.“

现象 在使用Git将本地仓库推送到远程仓库的时候&#xff0c;发生了如下错误&#xff1a;“fatal: Could not read from remote repository.” 原因 出现这错误一般是以下两种原因&#xff1a; 客户端与服务端未生成 ssh key客户端与服务端的ssh key不匹配 为解决以上问题&a…

斯坦福2023【FrugalGPT】减少大模型的商业化应用成本

文章目录 主要解决问题采用什么方法Prompt adaptationLLM approximationLLM cascade 实验结论讨论与展望 FrugalGPT: How to Use Large Language Models While Reducing Cost and Improving Performance 主要解决问题 这篇文章主要是要解决如何降低调用大语言模型的成本(Chat…

NMOS双向转换电路实测以及上升沿尖峰处理

NMOS双向转换电路实测以及上升沿尖峰处理 NMOS双向转换电路 &#x1f527;采用的是5V供电的STC8H单片机输出PWM波形&#xff0c;经过上面的电平转换电路测量低压端的波形。 ✨在做3.3V <>5V 电平转换电路方案验证时&#xff0c;输入5V PWM波形和输出波形的波形上升沿有尖…

[Java基础练习-002]综合应用(基础进阶),如果你会做,那说明你java入门了,

本篇的练习是一个综合性的练习&#xff0c;结合了各个知识点&#xff0c;比如选择结构、循环结构、数组等java基础知识。综合性运用比较强。 目录 1、进阶练习一、学习网站&#xff08;主要考察选择结构、输入语句&#xff09; 2、进阶练习二&#xff08;选择结构、循环&#…

SELinux详解

文章目录 SELinux详解什么是SELinux当初设计的目标&#xff1a;避免资源的误用传统的文件权限与账号主要的关系&#xff1a;自主访问控制(DOC)以策略规则制定特定进程读取特定文件&#xff1a;强制访问控制(MAC) SELinux的运行模式安全上下文进程与文件SELinux类型字段的相关性…

QQ邮箱 网易邮箱及企业邮箱开通SMTP/POP3及设置授权码

一 、什么是 POP3/IMAP/SMTP 服务 POP3 &#xff08;Post Office Protocol - Version 3&#xff09;协议用于支持使用电子邮件客户端获取并删除在服务器上的电子邮件。 IMAP &#xff08;Internet Message Access Protocol&#xff09;协议用于支持使用电子邮件客户端交互式存…

Windows Nvm+Node.js安装

前言 在windows系统下安装的是nvm-windows&#xff0c;nvm只支持安装在在Linux和Mac系统下。之前在Linux上安装过&#xff0c;最近在Windows上安装&#xff0c;特记录一下。 下载 下载地址&#xff1a;传送门 安装Nvm 双击exe文件&#xff0c;选定安装路径&#xff0c;下…

最新|事件相机SLAM综述

Arxiv链接:https://arxiv.org/abs/2304.09793 Github 链接:https://github.com/kun150kun/ESLAM-survey 视觉SLAM (vSLAM)是指移动机器人通过相机感知外部世界并估计机器人的位姿和重建周围环境的三维地图。vSLAM在各种应用中扮演着不可或缺的角色,包括自动驾驶,机器人导航…

【华为云服务器使用ftp21端口进行连接】

[使用ftp21端口连接华为云linux服务器] 华为云服务器使用ftp21端口进行连接 说明: 我们在操作linux服务器时, 经常想可视化的操作文件, 单使用命令行操作不友好。本文旨在使用ftp工具可视化的连接华为云服务器 1.安装vsfftpd 1.1 检查vsfftpd是否已安装 执行以下命令可以看…

网安笔记04 公钥密码体制

公钥密码体制 公钥密码体制的基本概念 保密性&#xff1a;确保信息只被授权的人访问 认证&#xff1a;确认某实体/数据源的真实性 保密性需要考虑到 不可否认性数据完整性 保密系统要考虑 达到实际上不可破 接获密文、某些明文密文对&#xff0c;决定密钥或者明文是不可…

没计算机基础,就是评职称用的,软考中级哪个好考啊?

那必须把系统集成项目管理工程师安排上&#xff01; 题目也不难&#xff0c;主要弄清楚47个过程的输入输出&#xff0c;还有工具的使用&#xff0c;几乎很多题都是按照这逻辑来的。 建议可以去网上、刷题APP上&#xff0c;多薅点资料和真题&#xff0c;集成是热门科目&#x…

Centos7.6华为云服务器安装FineBI

一、首先申请一个云端服务器 配置可根据自己需求申请,建议内存在16G以上 CPU 4核 内存 8GiB 系统盘 40GiB 带宽 1Mbit/s 二、在FineBI官网上查看安装方法,截图如下 下载后,直接根据上述步骤安装即可,一般不需要添加其余软件 在安装中遇到问题有以下几点 1.解压后,文件夹名…

一个网站引发的程序猿的牢骚,哈哈哈

2013年大学毕业后&#xff0c;参加工作做的第一个前端项目&#xff0c;北京服装学院&#xff0c;今天调研一个关于iframe的需求&#xff0c;突然想试试&#xff0c;以前那些做IE6兼容的项目是否还在使用&#xff0c;就默默的点开了。十年了&#xff0c;他们没有换网站&#xff…

Python中因为软拷贝导致调用face_recognition.encodings(img)出现的典型问题

问题描述 在使用face_recognition时&#xff0c;在对np.array格式图片使用形如new_img img[x:y, a:b]进行裁剪后&#xff0c;因为是软拷贝&#xff0c;导致前后图片其实引用了同一个face_locations, 从而导致莫名其妙的错误。 问题代码 检测一张照片里的人脸&#xff0c;并…