【MySQL进阶之路丨第七篇】MySQL数据类型及数据表的创建与删除

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介: 【MySQL进阶之路丨第七篇】MySQL数据类型及数据表的创建与删除

在上一篇中我们介绍了数据库的创建和选择;在开发中,了解数据库的底层逻辑、原理是十分重要的。

这一篇我们使用命令行方式来帮助读者掌握数据表的创建和删除。


前言(phpstudy的安装)

基于phpstudy的数据库管理系统集成化、可进行可视化操作、兼容性强的特点,我们使用phpstudy进行命令行方式的应用。

下载链接:https://www.xp.cn/

选择需要的版本进行下载安装:

解压后,双击exe安装程序开始安装(注意安装路径不要包含中文或空格)

接着一路next,安装完成后进入首页

启动apache和mysql:

浏览器输入127.0.0.1,若成功,则会有以下回显:

之后进入phpmyadmin:

输入用户名root、初始密码root即可实现数据库的登录:

接着我们开始本文的重点教学。


1️⃣MySQL数据类型

对于后端开发人员来说,了解一个数据库的数据类型是十分重要的,使用适当的数据类型可以提高数据库的性能、节省存储空间并确保数据的准确性。

例如,整数类型(INT、BIGINT)用于存储整数值而不是文本。

例如,在大量数据的情况下,使用整数类型的索引比使用字符串类型的索引更高效。

例如,使用TINYINT类型代替INT类型可以将一个字段的存储需求从4个字节减少为1个字节。

MySQL中常见的数据类型大体分为:整型、浮点型、字符串型、日期和时间型、枚举和集合型以及二进制和大型对象类型。

1.整型(Integer Types):

数据类型 存储范围
TINYINT -128 到 127
SMALLINT -32768 到 32767
MEDIUMINT -8388608 到 8388607
INT -2147483648 到 2147483647
BIGINT -9223372036854775808到9223372036854775807

2.浮点型(Floating Point Types):

数据类型 存储范围
FLOAT 精度值跨度由0到23之间
DOUBLE 精度值在24到53之间
DECIMAL 精度等于或大于DECIMAL(M,D)中M的值

3.字符串类型(String Types):

数据类型 描述
CHAR 定长字符串,最多255个字符
VARCHAR 变长字符串,最多65535个字节
TINYTEXT 最大长度为255个字符
TEXT 最大长度为65535个字符
MEDIUMTEXT 最大长度为16777215个字符
LONGTEXT 最大长度为4294967295个字符

4.日期和时间类型(Date and Time Types):

数据类型 描述
DATE 存储日期值,格式为YYYY-MM-DD
TIME 存储时间值,格式为HH:MM:SS
DATETIME 存储日期和时间值
TIMESTAMP 存储日期和时间值,范围从1970年到2038年
YEAR 存储年份值,范围在1901年到2155年

5.枚举、集合类型(Enumeration and Set Types):

数据类型 描述
ENUM 存储字符串列表中的一个值
SET 存储字符串集合中的一个或多个值,集合中的每个值用逗号分隔

6.二进制和大型对象类型(Binary and Large Object Types):

数据类型 描述
BINARY 固定长度二进制字符串,最多255个字符
VARBINARY 可变长度二进制字符串,最多65535个字节
TINYBLOB 最大长度为255个字节的二进制字符串
BLOB 最大长度为65535个字节的二进制字符串
MEDIUMBLOB 最大长度为16777215个字节的二进制字符串
LONGBLOB 最大长度为4294967295个字节的二进制字符串

2️⃣数据表的创建

一个数据表中需要包含以下信息:表名表字段名字段的数据

例如,这里有一个表叫班级表:

班级ID 班级名称 年级 班主任 人数
1 1班 一年级 张老师 30
2 2班 一年级 李老师 25
3 3班 二年级 王老师 28

这个表格展示了三个班级的信息。每行代表一个班级的数据记录,每列代表一个字段。

也就是说,班级ID、班级名称、年纪、班主任、人数均为表字段名

| 1 | 1班 | 一年级 | 张老师 | 30 |即为字段的数据。

清除数据表的组成之后,我们开始学习数据表的创建。

创建MySQL数据表的通用语法如下:

CREATE TABLE 表名 (
    列名1 数据类型,
    列名2 数据类型,
    ...
    列名n 数据类型,
    [约束条件]
);

约束条件包含:

主键约束:PRIMARY KEY

非空约束:NOT NULL

唯一约束:UNIQUE

外键约束:FOREIGN KEY

这在之后的文章中会讲到。

下面是一个创建班级表的示例:

CREATE TABLE class (
    id INT PRIMARY KEY,
    name VARCHAR(50),
    grade INT,
    teacher VARCHAR(50),
    student_count INT
);

以上示例创建了一个名为 class 的表,包含了班级ID、班级名称、年级、班主任和学生人数等字段。同时,为id添加了主键约束,定义name的数据类型为varchar型,最多50个字符。定义grade的数据类型为int类型等等。

演示如下:

在phpmyadmin中,点击SQL一栏

输入以上代码并执行:

结果如下:

可以看到表的结构十分清晰:

至此,我们就完成了MySQL数据表的创建。


3️数据表的删除

那么,有时候出于某种原因我需要删除这个表,又该怎么做呢?

删除一个表比创建一个表容易得多

删除MySQL数据表的通用语法如下:

DROP TABLE 表名;

以下是一个示例:

DROP TABLE class;

以上示例将删除名为class的表。

如果你需要删除多个表,可以在一条SQL语句中使用多个DROP TABLE命令,或者依次执行多条DROP TABLE命令。

在一条SQL语句中使用多个DROP TABLE命令的示例如下:

DROP TABLE IF EXISTS table1, table2, table3;

以上示例会删除三个表:table1table2table3。使用IF EXISTS关键字可以确保在尝试删除表之前先检查相应的表是否存在,避免了因删除不存在的表而产生的错误。

比如说一个数据库中存在以下一些表:

接着我们用一条sql语句删除这些表:

DROP TABLE IF EXISTS class,class1, class2, class3;

点击确定

可以看到,所有的表被清空:

至此,我们就完成了MySQL数据表的删除。


4️⃣总结

以上为 【MySQL进阶之路丨第七篇】MySQL数据类型及数据表的创建与删除,带领读者以数据类型为基础学习两个基本语句,通过具体实操实现对数据表的深度理解。

后续将分享 【MySQL进阶之路丨第八篇】MySQL数据的插入及查询

我是秋说,我们下次见。

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
28天前
|
SQL 存储 关系型数据库
轻松入门MySQL:玩转数据表的增、删、改、查(4)
轻松入门MySQL:玩转数据表的增、删、改、查(4)
|
2月前
|
关系型数据库 MySQL 存储
【MySQL】——数据类型及字符集
【MySQL】——数据类型及字符集
167 0
【MySQL】——数据类型及字符集
|
3月前
|
机器学习/深度学习 存储 关系型数据库
MySQL数据库:常用数据类型
【2月更文挑战第7天】
32 0
|
2月前
|
SQL 关系型数据库 MySQL
【MySQL】— —熟练掌握用SQL语句实现数据库和基本表的创建。熟练掌握MySQL的安装、客户端登录方法;熟练掌握MySQL的编码、数据类型等基础知识;掌握实体完整性的定义和维护方法、掌握参照完整性
【MySQL】— —熟练掌握用SQL语句实现数据库和基本表的创建。熟练掌握MySQL的安装、客户端登录方法;熟练掌握MySQL的编码、数据类型等基础知识;掌握实体完整性的定义和维护方法、掌握参照完整性
106 1
|
28天前
|
存储 关系型数据库 MySQL
MySQL数据库性能大揭秘:表设计优化的高效策略(优化数据类型、增加冗余字段、拆分表以及使用非空约束)
MySQL数据库性能大揭秘:表设计优化的高效策略(优化数据类型、增加冗余字段、拆分表以及使用非空约束)
|
2天前
|
DataWorks Shell 对象存储
DataWorks产品使用合集之在 DataWorks 中,有一个 MySQL 数据表,数据量非常大且数据会不断更新将这些数据同步到 DataWorks如何解决
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
17 3
|
2天前
|
存储 SQL 关系型数据库
【mysql】mysql中的数据类型知多少?
【mysql】mysql中的数据类型知多少?
|
3天前
|
NoSQL 关系型数据库 MySQL
【MySQL探索之旅】MySQL数据表的增删查改——约束
【MySQL探索之旅】MySQL数据表的增删查改——约束
|
3天前
|
关系型数据库 MySQL 数据库
【MySQL探索之旅】数据表的基本操作(附带思维导图)
【MySQL探索之旅】数据表的基本操作(附带思维导图)
|
4天前
|
关系型数据库 MySQL
MySQL基础(二:常用数据类型及MySQL创建过程实例)
MySQL基础(二:常用数据类型及MySQL创建过程实例)
MySQL基础(二:常用数据类型及MySQL创建过程实例)