2024年MySQL学习指南(二),探索MySQL数据库,掌握未来数据管理趋势

文章目录

  • 前言
  • [4. DDL- 操作数据库](#4. DDL- 操作数据库)
    • [4.1 查询](#4.1 查询)
    • [4.2 创建数据库](#4.2 创建数据库)
    • [4.3 删除数据库](#4.3 删除数据库)
    • [4.4 使用数据库](#4.4 使用数据库)
  • [5. DDL- 操作数据表](#5. DDL- 操作数据表)
    • [5.1 数据类型](#5.1 数据类型)
    • [5.2 查询表](#5.2 查询表)
    • [5.3 创建表](#5.3 创建表)
    • [5.4 删除表](#5.4 删除表)
    • [5.5 修改表](#5.5 修改表)
  • [6. 实战案例详解](#6. 实战案例详解)

前言

接上一篇文章【2024年MySQL学习指南(一)


4. DDL- 操作数据库

首先要学习的是使用DDL来对数据库进行操作,主要是对数据库的增删改查操作。

4.1 查询

查询所有的数据库:

sql 复制代码
show databases;

例如:

4.2 创建数据库

创建新的数据库:

sql 复制代码
create database 数据库名称;

使用上面的方式创建新的数据库时,如果该数据库已经存在,则会出现错误,所以我们在创建新的数据库时一般会判断该数据库是否存在,如果已存在,则不会创建。

创建新的数据库(判断数据库是否已经存在):

sql 复制代码
create database if not exists 数据库名称;

例如:

4.3 删除数据库

删除数据库:

sql 复制代码
drop database 数据库名称;

和前面创建新的数据库相同,为了避免出现错误,我们一般会先判断该数据库是否存在,如果不存在,则不会删除。

删除数据库(判断数据库是否已经存在):

sql 复制代码
drop database if exists 数据库名称;

例如:

4.4 使用数据库

现在我们已经成功创建了新的数据库,接下来,我们要在数据库中创建数据表,首先我们要明白是对哪一个数据库进行操作,此时我们要先学会使用数据库,才能对数据库中的表进行操作。

使用数据库:

sql 复制代码
use 数据库名称;

查询当前正在使用的数据库:

sql 复制代码
select database();

例如:

5. DDL- 操作数据表

同样,对数据表的操作无非就是增删改查,在学习相关操作之前,我们先要熟悉一下MySQL的数据类型。

5.1 数据类型

MySQL支持多种数据类型,但是大致可以分为3中,分别是数值型,日期型和字符串型。下面是比较常用的几种数据类型:

数值:

数据类型 解释
tinyint 小整数型,占1个字节
int 大整数型,占4个字节
double 浮点类型

日期:

数据类型 解释
date 日期值,只包含年月日
datetime 混合日期和时间值,包含年月日时分秒

字符串:

数据类型 解释
char 定长字符串
varchar 变长字符串

定长字符串和变长字符串的区别:字符串是我们在数据库中经常使用的数据类型,使用变长字符串,如果字符的长度没有达到指定的长度,那么实际的长度是多少就占用几个字符,这样的做法显然是使用时间换空间,而使用定长字符串虽然有时会出现浪费空间的情况,但是一般储存性能比较高。

5.2 查询表

查询当前数据库下所有的表:

sql 复制代码
show tables;

查询表结构:

sql 复制代码
desc 表名称;

例如:

5.3 创建表

创建一个新的表:

sql 复制代码
create table 表名称(
		字段名1 数据类型,
		字段名2 数据类型,
		...
		字段名n 数据类型  #这里是不需要加上,的
);

例如:

5.4 删除表

删除表:

sql 复制代码
drop table 表名;

删除表(判断表是否存在):

sql 复制代码
drop table if exists 表名;

例如:

5.5 修改表

修改表名:

sql 复制代码
alter table 表名 rename to 新的表名;

增加一列:

sql 复制代码
alter table 表名 add 列名 数据类型;

修改数据类型:

sql 复制代码
alter table 表名 modify 列名 新数据类型;

修改列名和数据类型:

sql 复制代码
alter table 表名 change 列名 新列名 新数据类型;

删除列:

sql 复制代码
alter table 表名 drop 列名;

例如:

6. 实战案例详解

需求:设计包含如下信息的学生表,请注重数据类型、长度的合理性。

  1. 编号
  2. 姓名,姓名最长不超过10个汉字
  3. 性别,因为取值只有两种可能,因此最多一个汉字
  4. 生日,取值为年月日
  5. 成绩,小数点后保留两位
  6. 地址,最大长度不超过 64
  7. 学生状态(用数字表示,正常、休学、毕业...)

在完成这样一个案例前,首先要创建一个学生数据库,在数据库中创建一张新的表,创建表时注意语法格式,数据类型和长度的合理性。

以管理员身份运行命令提示符cmd,启动Mysql服务,登录MySQL:

创建学生信息数据库:

sql 复制代码
create database if not exists student;

使用student数据库:

sql 复制代码
use student;

创建数据表:

sql 复制代码
create table stu(
		id int ,-- 编号
		name varchar(10),-- 姓名
		gender char(1),-- 性别
		birthday date,-- 生日
		score double(5,2) ,-- 分数
		addr varchar(50),-- 地址
		status tinyint-- 状态
);

现在,我们已经学会了写SQL来操作数据库,但是我们在命令行中写SQL时,往往有体验感差,效率低等问题,现在开始我们就要学习在MySQL的图形化客户端Navicat中执行SQL语句

Navicat 为数据库管理、开发和维护提供了一款直观而强大的图形化界面,大大的提高了工作效率,建议在学习中也使用这款开发工具。接下来,在Navicat中新建数据库,新建查询,我们就可以编写SQL并且执行SQL语句了。

相关推荐
阿三08124 分钟前
跨境电商售后自动化分级标准:哪些能全自动、哪些半自动、哪些禁止自动化
大数据·人工智能·自动化
IT_陈寒10 分钟前
JavaScript的this又双叒叕让我怀疑人生了
前端·人工智能·后端
颜酱22 分钟前
09 | 重构项目结构
人工智能·python·langchain
ZhengEnCi1 小时前
AI Agent(AI智能体) 记忆管理系统设计 — 从向量库边界到生产级 Memory(记忆) 架构
人工智能
czhaii1 小时前
STC ai助手单片机工程项目创建实例
数据库·mongodb
凉菜lc1 小时前
对比文《IM Bot 框架怎么选?Zhin vs Koishi vs NoneBot》
人工智能
阿里云大数据AI技术1 小时前
DataWorks Data Agent 实战课堂(三):对话式完成数据同步与智能诊断
人工智能·agent
山峰哥1 小时前
数据库性能救星:Explain执行计划深度拆解
服务器·开发语言·数据库·sql·启发式算法
骇客野人2 小时前
AI全栈开发指定技术架构
人工智能
Escape2 小时前
为什么你的 AI 越聊越傻?从 Token 到 Agent,彻底搞懂 AI Agent的秘密㊙️
前端·人工智能·后端