【MySQL高级篇】如何创建数据库?一文带你吃透数据库和表的操作之DDL

【MySQL高级篇】如何创建数据库?一文带你吃透数据库和表的操作之DDL_第1张图片

前一篇文章是数据库系统的基础概念和MySQL的入门篇,SQL是一种操作关系型数据库的结构化查询语言。总的来说,SQL分为四大类,分别是数据定义语言DDL,数据操作语言DML,数据查询语言DQL和数据控制语言DCL。今天这篇文章将详细讲述数据定义语言DDL对数据库和表的相关操作。


推荐学习专栏:Java 编程进阶之路【从入门到精通】

文章目录

  • 1. DDL-操作数据库
    • 1.1 查询
    • 1.2 创建数据库
    • 1.3 删除数据库
    • 1.4 使用数据库
  • 2. DDL-操作数据表
    • 2.1 数据类型
    • 2.2 查询表
    • 2.3 创建表
    • 2.4 删除表
    • 2.5 修改表
  • 3. 实战案例详解
  • 4. 总结

1. DDL-操作数据库

首先要学习的是使用DDL来对数据库进行操作,和以往一样,对数据进行操作时,我们主要是对数据进行增删改查,同样,我们使用DDL操作数据库也主要是对数据库进行增删改查操作。

1.1 查询

查询所有的数据库:

show databases;

小案例:

【MySQL高级篇】如何创建数据库?一文带你吃透数据库和表的操作之DDL_第2张图片

1.2 创建数据库

创建新的数据库:

create database 数据库名称;

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

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

create database if not exists 数据库名称;

小案例:

在这里插入图片描述

1.3 删除数据库

删除数据库:

drop database 数据库名称;

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

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

drop database if exists 数据库名称;

小案例:

在这里插入图片描述

1.4 使用数据库

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

使用数据库:

use 数据库名称;

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

select database();

小案例:

【MySQL高级篇】如何创建数据库?一文带你吃透数据库和表的操作之DDL_第3张图片

2. DDL-操作数据表

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

2.1 数据类型

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

数值:

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

日期:

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

字符串:

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

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

2.2 查询表

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

show tables;

查询表结构:

desc 表名称;

小案例:

【MySQL高级篇】如何创建数据库?一文带你吃透数据库和表的操作之DDL_第4张图片

2.3 创建表

创建一个新的表:

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

小案例:

【MySQL高级篇】如何创建数据库?一文带你吃透数据库和表的操作之DDL_第5张图片

2.4 删除表

删除表:

drop table 表名;

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

drop table if exists 表名;

小案例:

【MySQL高级篇】如何创建数据库?一文带你吃透数据库和表的操作之DDL_第6张图片

2.5 修改表

修改表名:

alter table 表名 rename to 新的表名;

增加一列:

alter table 表名 add 列名 数据类型;

修改数据类型:

alter table 表名 modify 列名 新数据类型;

修改列名和数据类型:

alter table 表名 change 列名 新列名 新数据类型;

删除列:

alter table 表名 drop 列名;

小案例:

【MySQL高级篇】如何创建数据库?一文带你吃透数据库和表的操作之DDL_第7张图片

3. 实战案例详解

需求:设计一张学生表,请注重数据类型、长度的合理性。

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

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

以管理员身份运行命令提示符,登录Mysql:

【MySQL高级篇】如何创建数据库?一文带你吃透数据库和表的操作之DDL_第8张图片创建学生信息数据库:

create database if not exists student;

【MySQL高级篇】如何创建数据库?一文带你吃透数据库和表的操作之DDL_第9张图片
使用student数据库:

use student;

在这里插入图片描述创建数据表:

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

【MySQL高级篇】如何创建数据库?一文带你吃透数据库和表的操作之DDL_第10张图片

4. 总结

SQL分为了四大类,今天是对数据定义语言DDL做了一个详细的讲解,分别使用DDL来操作数据库和数据表,并且我们也完成了设计一张学生表的简单需求。相对来说是比较容易的,在日后的操作中会慢慢的熟练。

【MySQL高级篇】如何创建数据库?一文带你吃透数据库和表的操作之DDL_第11张图片

你可能感兴趣的:(MySQL数据库从入门到精通,数据库,mysql,sql)