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

这篇具有很好参考价值的文章主要介绍了《MySQL 必知必会》课程笔记(三)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

怎么创建和修改数据表?

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

如何创建数据表?

  • 首先,我们要知道 MySQL 创建表的语法结构:
    CREATE TABLE <表名> (
    	字段名 name1 数据类型 [字段级别约束] [默认值], 
    	字段名 name2 数据类型 [字段级别约束] [默认值], 
    	字段名 name3 数据类型 [字段级别约束] [默认值], 
    	......
    	[表级别约束]
    );
    
    • 我们通过定义表名、表中的字段、表的属性等,把一张表创建出来。
    • “约束”限定了表中数据应该满足的条件。
  • 假设创建一个表叫做进货单头表(importhead):
    《MySQL 必知必会》课程笔记(三)
    • 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;
      

文章来源地址https://www.toymoban.com/news/detail-438687.html

到了这里,关于《MySQL 必知必会》课程笔记(三)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 【必知必会的MySQL知识】⑤DQL语言

    目录 一、前言 二、基础查询 2.1 语法 2.2 实践操作 三、条件查询 3.1 语法 3.2 where 语句操作符 3.3 实践操作 四、排序查询 4.1 语法格式 4.2 实践操作 五、分组查询 5.1 语法 5.2 聚集函数 5.2.1 聚集函数简单使用 5.3 实践操作 5.4 规定与小结 六、连接查询(多表查询) 6.1 简介 6.2 笛

    2024年02月02日
    浏览(40)
  • 【必知必会的MySQL知识】④DCL语言

    目录 一、概述 二 、授权 2.1 语法格式 2.2 语法说明 2.3 权限类型 2.4 权限级别 三、 回收权限 3.1 语法格式 3.2 语法说明 3.3 注意事项 四 、实践操作 数据控制语言,用来定义访问权限和安全级别。主要包含包括 grant , revoke grant 授予权限 revoke 回收权限 2.1 语法格式 2.

    2024年02月02日
    浏览(35)
  • 【必知必会的MySQL知识】③DML语言

    目录 前言 准备 插入数据 语法格式 插入完整行数据 插入多行数据 将检索出来的数据插入表 更新数据 准备两张表 语法 实践操作 删除数据 语法 实践操作 小结 前面的两篇文章中,我们已经对MySQL有了基本了解。 并且知道了怎么用工具连接数据库?怎么创建数据库?怎么创建

    2024年02月02日
    浏览(50)
  • MySQL必知必会:MySQL中的Schema与DataBase

    涉及到数据库的模式有很多疑惑,问题经常出现在模式和数据库之间是否有区别,如果有,区别在哪里。 取决于数据库供应商 对schema(模式)产生疑惑的一部分原因是数据库系统倾向于以自己的方式处理模式 (1)MySQL的文档中指出,在物理上,模式与数据库是同义的,所以

    2023年04月27日
    浏览(32)
  • 【必知必会的MySQL知识】mysql5.7安装教程

    下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads 下载zip免安装版,可以省去很多事 my.ini文件内容如下 以上配置文件说明 basedir--mysql目录 datadir--数据路径 port --端口 skip-grant-tables --刚开始跳过登陆校验 安装服务: 初始化数据库 登陆命令: 最后,我们当然不希望以后写

    2024年02月02日
    浏览(36)
  • 程序员必知必会!阿里内部热捧“Spring全线笔记”太完整了

    对于每一位Java开发人员来说,提起Spring定是不陌生的,实际上自Spring框架诞生以来,就备受开发者的青睐,基本上现在的互联网公司都要使用到Spring框架。Spring框架中又包含了SpringMVC、SpringBoot、SpringCloud等,被开发者称呼为Spring全家桶。 实际上对于Spring的使用,阿里巴巴开

    2024年02月03日
    浏览(40)
  • 【学习笔记-SQL必知必会】Microsoft SQL Server Express和SQL Server Management Studio安装

    为了实现书中的SQL查询,需要使用一个数据库管理系统(DBMS),在其上进行操作,按书中介绍: Windows 用户可以使用Microsoft SQL Server Express,这是强大的SQL Server 的一个免费版本,它还包括一个用户友好的客户端叫SQL Server Management Studio。 所以这里对Microsoft SQL Server Express和SQ

    2024年02月05日
    浏览(38)
  • 必知必会Java

    你好,我是阿光。 最近想着把工作中使用过的java命令都梳理一下,方便日后查阅。虽然这类文章很多,但自己梳理总结后,还是会有一些新的收获。这也是这篇笔记的由来。 今天先聊聊 jps 命令。 jps 命令是JDK提供的一个工具,用于查看目标系统上的Java进程基本信息(进程

    2024年02月05日
    浏览(37)
  • 聊聊Flink必知必会(七)

    虽然数据流中的许多操作一次只查看一个单独的事件(例如事件解析器),但某些操作会记住多个事件的信息(例如窗口算子)。 这些操作称为有状态的(stateful)。 有状态操作的一些示例: 当应用程序搜索某些事件模式(event patterns)时,状态(state)将存储迄今为止遇到的事件序

    2024年02月04日
    浏览(37)
  • 聊聊Flink必知必会(二)

    Flink是一个有状态的流处理框架,因此需要对状态做持久化,Flink定期保存状态数据到存储空间上,故障发生后从之前的备份中恢复,这个过程被称为Checkpoint机制。而Checkpoint为Flink提供了Exactly-Once的投递保障。 流处理是一个数据不断输入的过程,为了更好更方便的快照,需要

    2024年02月08日
    浏览(33)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包