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

相关推荐
说私域5 分钟前
后经济时代开源链动2+1模式AI智能名片S2B2C商城小程序驱动零售企业转型研究
人工智能·小程序·开源·零售
小鸡脚来咯7 分钟前
MVCC实现原理
java·开发语言·数据库
SatoshiGogo13 分钟前
李宏毅《机器学习2025》笔记 第二讲 —— AI Agent
人工智能·笔记
~央千澈~14 分钟前
视频剪辑SDK定制开发技术方案与报价书优雅草卓伊凡
人工智能
CV-杨帆21 分钟前
项目阅读:Instruction Defense
人工智能
zm-v-159304339861 小时前
AI 驱动近红外光谱预处理:从数据清洗到特征工程的自动化
运维·人工智能·自动化
阿里云云原生1 小时前
阿里云 Serverless 助力海牙湾构建弹性、高效、智能的 AI 数字化平台
人工智能·阿里云·serverless
祁弋1 小时前
MySQL中简单的操作
数据库·mysql
灬0灬灬0灬1 小时前
深度学习——超参数调优
人工智能·深度学习
jackyrongvip2 小时前
套索回归与岭回归通俗讲解
人工智能·数据挖掘·回归·岭回归·套索回归