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

相关推荐
PcVue China2 小时前
PcVue + SQL Grid : 释放数据的无限潜力
大数据·服务器·数据库·sql·科技·安全·oracle
HyperAI超神经2 小时前
【TVM 教程】使用 Tensorize 来利用硬件内联函数
人工智能·深度学习·自然语言处理·tvm·计算机技术·编程开发·编译框架
扫地的小何尚3 小时前
NVIDIA RTX 系统上使用 llama.cpp 加速 LLM
人工智能·aigc·llama·gpu·nvidia·cuda·英伟达
魔道不误砍柴功4 小时前
简单叙述 Spring Boot 启动过程
java·数据库·spring boot
锐策4 小时前
〔 MySQL 〕数据库基础
数据库·mysql
远歌已逝5 小时前
管理Oracle实例(二)
数据库·oracle
日月星宿~5 小时前
【MySQL】summary
数据库·mysql
爱吃土豆的程序员5 小时前
在oracle官网下载资源显示400 Bad Request Request Header Or Cookie Too Large 解决办法
java·数据库·oracle·cookie
睿思达DBA_WGX5 小时前
Oracle 11g rac 集群节点的修复过程
数据库·oracle
尘浮生5 小时前
Java项目实战II基于微信小程序的移动学习平台的设计与实现(开发文档+数据库+源码)
java·开发语言·数据库·spring boot·学习·微信小程序·小程序