文章目录
- 前言
- [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. 实战案例详解
需求:设计包含如下信息的学生表,请注重数据类型、长度的合理性。
- 编号
- 姓名,姓名最长不超过10个汉字
- 性别,因为取值只有两种可能,因此最多一个汉字
- 生日,取值为年月日
- 成绩,小数点后保留两位
- 地址,最大长度不超过 64
- 学生状态(用数字表示,正常、休学、毕业...)
在完成这样一个案例前,首先要创建一个学生数据库,在数据库中创建一张新的表,创建表时注意语法格式,数据类型和长度的合理性。
以管理员身份运行命令提示符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语句了。