初写MySQL四张表:(1/4)

devtools/2024/11/14 12:40:40/

今天我们的任务主线,便是完成创建该表:

表: 

何为表:

表,Table也。

我在这里只是简单谈谈:

数据库的对象之一:数据库的对象有四大类,表是其中最根本的存在对象。其特点就是,物理存在。何为物理存在,就是存在硬盘某个特定的磁道上。四个字:物理存在,两个字——实在。

创建表:

我们要创建出上图这张表,抛开代码思维,什么关键字啥的。我们以常识来看,要完成这个任务,无外乎下面这几步:

  1. 创建一张空表
  2. 表名叫Dept
  3. 添加这些属性

前两步都统一,但是第三步说得宽泛,难免会有分歧,我们仔细看: 

两行属性,deptid有一横排都是它的;deptname亦是如此;你会选择一列一列去添加,还是添加完了deptid这一排,再去添加deptname这一排?

MySQL选择的是后者,我猜是因为写着省事又得劲,接下来你就知道了。

1.创建空表 + 表名

关键字CREATE 

格式: CREATE TABLE 表名()

咱们直接上了:

CREATE TABLE dept();

快是快,报错也确实在。

Error Code: 1046. No database selected Select the default DB to be used by double-clicking its name in the SCHEMAS list in the sidebar.

这关键是哪? No database selected。

哦,忘说了(其实是故意的):数据库,都能叫库了,可见这个库可存不少数据。但是就让这些都散着,东一个,西一个嘛? 好的,计算机不让。(没想到,这计算机还是个J人)

所以,现在有了表了。数据库里面,你所看到的数据,会存进表里。最后,数据装进表里,形成一张张表,表就放在库里,外面就不会散落着可疑数据,达到管理组织数据的目的(突然想起来,上次说这话的,还是数据结构)。

其实,数据库是表的容器,一装表的库——世界大千,库也无穷,更别说里面千千万万张表了。

我们在创建表的时候,就要决定好,这张表最后进哪个库,用哪个库的数据。——其实,到这儿,我们也能合理猜测,不同的库肯定根据需求装不同的数据,比如这个库装A市的,那个库装W市的(博主现在才疏学浅,猜测哈,但应该合理)

创建数据库

数据库并非系统给你配好,我们要吃就要吃现成的:

#创建数据库
CREATE DATABASE testdb;
#还是CREATE关键字 + DATABASE + 数据库

温馨tips:会写注释的豹子应该已经看到,MySQL的单行注释就是#.....

从上面创建表,到这里创建数据库可以看到,无论是创建数据库对象,还是数据库,都使用CREATE关键字。

(深夜赶文哈哈哈)

 我们再看SCHEMAS有我们刚刚创建出来的testdb没:

毫无动静,解决:右键 + Refesh All

(千呼万唤始出来)

那创建空表的代码也有所依了:

CREATE TABLE testdb.dept();
# testdb.dept 一个点足以解释他们的从属关系

我们在Java里也聊过,C里面也学过,C++好像也说过: . 后面接成员变量或者方法(函数) 

我们前面说:表是数据库的对象,现在有了. 更加证明表是数据库的成员。

2.添加字段

这里的字段:就是下面的deptid 和deptname

 字段:标记实体属性的命名单位称为字段,也称为数据项。

(确实,一句话看完我都想申请中译中)

举个例子:如学生,有姓名,学号等字段。这句话可以合理推测,字段应该就是属性的意思:此处学院有两个属性:编号和名称。

MySQL给字段名字还不够,还有数据类型,这里一个给CHAR,一个给VARCHAR,多少个char也有限制(即长度)

主键:

最后一列,deptid有个主键,我们猜测大概是个功能吧。

主键:PRIMARY KEY约束 

PRIMARY KEY 约束用于定义基本表的主码,起到唯一标识作用,保证数据表中记录的唯一性。

一张表只能有一个PRIMARY KEY约束,可以作用于一个字段,......(后面这句我先省略)

可以分析上面这段话:一个被PRIMARY KEY约束的字段,添加该属性的数据是不允许重复的,比如:Stuid加上主键约束,我们插入数据,先插入一个学号007,再插入一个学号007,这时候主键就不干了,不会让你再加一个重复的学号。

NOT NULL:

最后一列,deptname有个NOT NULL,估计又是个约束。

NOT NULL约束:

NOT NULL约束可以确保这些字段总是包含有效值,not null就是不空,名字即功能。

添加字段的代码:

字段名 类型(长度)空/不空 COMMENT '中文备注' ,

活学活用:

比如就写这里的deptid

deptid CHAR(4) COMMENT '学院编号',
# 没说NOT NULL我也就不管它空不空了

 这些添加字段的语句我们放在哪里呢?

看到括号了吗,没错就是括号内

所以这张表的创建代码也就完成7788了:

# 创建表
CREATE TABLE testdb.dept
(deptid CHAR(4) COMMENT '学院编号',deptname VARCHAR(100) NOT NULL COMMENT '学院名称',#主键约束放哪,单写一句,放最后PRIMARY KEY(deptid)
);

细心的同学发现了,添加字段语句中末尾一句不需要逗号(不是因为是增加主键约束)

运行: 

创建成功了,但是文字始终没有图来得直接:

推荐一句: 

DESC 关键字

DESC 表名;
# 实现查看表结构的功能

这里你会怎么写?我们的表叫什么来着,dept。

不对,testdb.dept。

是不是更好看,更直观? 快Get这个关键字吧

咱们的表就创建好了,任务也完成了,明天再见吧


http://www.ppmy.cn/devtools/114011.html

相关文章

管道缺陷检测系统源码分享

管道缺陷检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Vis…

uniapp中基于vue3实现输入验证码功能

实现效果 描述 使用uniapp和vue3实现了手机获取验证码后&#xff0c;输入验证码的输入框功能 具体实现代码 下述代码为实现验证码输入框封装的组件VerificationCodeInput.vue <template><view class"container"><view class"input-container&…

2024年10月蓝桥杯青少组的Stema考试开始报名

10月STEMA考试报名已于9月18日&#xff08;今日&#xff09;8:00正式开启啦&#xff01;这次只有scratch图形化编程、Python编程、C编程&#xff01; 本次10月考期与以往有所不同&#xff0c;将为孩子们带来更多的成长机会和更大的挑战&#xff1a; STEMA考试前60%可参加省考&…

软考中级软件设计师——存储系统

软考中级软件设计师——存储系统 存储系统&#xff08;层次结构&#xff09;存储系统分类高速缓存CacheCache组成Cache的三种地址映像Cache的性能分析 主存的扩展位扩展和字扩展主存的编址虚拟存储器磁盘存储器 存储系统&#xff08;层次结构&#xff09; 核心&#xff1a;在存…

idea使用阿里云服务器运行jar包

说明&#xff1a;因为我用的阿里云服务器不是自己的&#xff0c;所以一些具体的操作可能不太全面。看到一个很完整的教程&#xff0c;供参考。 0. 打包项目 这里使用的是maven打包。 在pom.xml中添加以下模块。 <build><plugins><plugin><groupId>org…

改进YOLOv7 | 在 ELAN 模块和 ELAN-H 模块中添加 【CA】【ECA】【CBAM】【SE】注意力机制 | 附详细结构图

YOLOv7改进:在ELAN和ELAN-H模块中添加注意力机制 引言 YOLOv7的ELAN和ELAN-H模块是其高效的关键。通过在这些模块中引入注意力机制,可以进一步提升模型的特征提取能力,提高检测精度。本文将详细介绍如何在YOLOv7的ELAN和ELAN-H模块中添加CA、ECA、CBAM和SE注意力机制,并提…

如何通过网络找到自己想要的LabVIEW知识?

学习LabVIEW或其他编程技术时&#xff0c;无法依赖某一篇文章解决所有问题。重要的是通过多种途径获取灵感&#xff0c;并学会归纳总结&#xff0c;从而逐渐形成系统性的理解。这种持续学习和总结的过程是技术提升的基础。通过网络找到所需的LabVIEW知识可以通过以下几个步骤进…

九龙坡区工业操作系统生态论坛暨蓝卓supOS集成商赋能行成功举办

9月13日&#xff0c;蓝卓成功举办“九龙坡区工业操作系统生态论坛暨蓝卓supOS集成商赋能行&#xff08;西南站&#xff09;”。 本次活动立足工业操作系统开放共赢生态圈&#xff0c;共同探讨推动产业数字化转型&#xff0c;赋能新质生产力。 共生共赢 加速推进工业操作系统生…