在上一篇中我们介绍了数据库的创建和选择;在开发中,了解数据库的底层逻辑、原理是十分重要的。
这一篇我们使用命令行方式来帮助读者掌握数据表的创建和删除。
前言(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;
以上示例会删除三个表:table1
、table2
和table3
。使用IF EXISTS
关键字可以确保在尝试删除表之前先检查相应的表是否存在,避免了因删除不存在的表而产生的错误。
比如说一个数据库中存在以下一些表:
接着我们用一条sql语句删除这些表:
DROP TABLE IF EXISTS class,class1, class2, class3;
点击确定
可以看到,所有的表被清空:
至此,我们就完成了MySQL数据表的删除。
4️⃣总结
以上为 【MySQL进阶之路丨第七篇】MySQL数据类型及数据表的创建与删除,带领读者以数据类型为基础学习两个基本语句,通过具体实操实现对数据表的深度理解。
后续将分享 【MySQL进阶之路丨第八篇】MySQL数据的插入及查询
我是秋说,我们下次见。