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语句了。

相关推荐
可触的未来,发芽的智生4 分钟前
追根索源-神经网络的灾难性遗忘原因
人工智能·神经网络·算法·机器学习·架构
CAE3205 分钟前
基于Ncode的新能源汽车电池包随机振动疲劳分析
人工智能·汽车·电池包·hypermesh·振动疲劳·optistruct
zzywxc7875 分钟前
自动化测试框架是软件测试的核心基础设施,通过预设规则和脚本自动执行测试用例,显著提高测试效率和覆盖率。
运维·人工智能·自动化·prompt·测试用例·流程图
尺度商业11 分钟前
2025服贸会“海淀之夜”,点亮“科技”与“服务”底色
大数据·人工智能·科技
AWS官方合作商11 分钟前
涂鸦智能携手亚马逊云科技,以全球基础设施与生成式AI加速万物智联时代到来
人工智能·科技·aws·亚马逊云科技
FunTester13 分钟前
拥抱直觉与创造力:走进VibeCoding的新世界
人工智能·语言模型·编程·vibecoding
liukuang11015 分钟前
飞鹤财报“新解”:科技筑牢护城河,寒冬凸显龙头“硬核力”
人工智能·科技
eqwaak018 分钟前
科技信息差(9.13)
大数据·开发语言·人工智能·华为·语言模型
技术程序猿华锋29 分钟前
深度解码OpenAI的2025野心:Codex重生与GPT-5 APIKey获取调用示例
人工智能·vscode·python·gpt·深度学习·编辑器
老华带你飞32 分钟前
畅阅读小程序|畅阅读系统|基于java的畅阅读系统小程序设计与实现(源码+数据库+文档)
java·数据库·vue.js·spring boot·小程序·毕设·畅阅读系统小程序