【MySQL数据库】玩转 MySQL 库表:库和表的操作 “通关指南”

【MySQL数据库】玩转 MySQL 库表:库和表的操作 “通关指南”



半桔:个人主页

 🔥 个人专栏: 《MYSQL数据库》《手撕面试算法》《C++从入门到入土》

🔖不管你做什么,都要做到极致。上班就认真工作,笑就尽情大笑,吃东西时,就像是最后一餐那样去享受。 -《绿皮书》-

前言

你还在为“数据该怎么存?数据库咋管?”头疼吗,或是想闯入数据库领域却没头绪——MySQL,绝对是你最友好的“入门钥匙”!

作为开源圈的“顶流”关系型数据库,MySQL凭着“轻量好上手、稳定还能扛”的本事,成了Web开发、数据分析乃至企业系统的“数据管家”首选:小到个人项目存用户信息,大到企业级应用处理海量数据,都有它“大显身手”的机会。

想快速啃下它?本文就是为你定制的“通关指南”:

  1. 从“mysql和mysqld有啥区别”,“MySQL整体啥架构”这些基础认知,到SQL语句分类帮你捋清逻辑;
  2. 再到数据库如何创建、查看、修改、删除数据表怎样搭建、查询、调整、移除——全程“理论+实操”双管齐下,手把手教你掌握核心操作。

跟着学,你很快就能自己搭数据库、管数据表,把“数据管理”从“陌生词”变成“随手能做的技能”,甚至直接用到项目里!现在,开启MySQL的轻松学习之旅吧~

一. 数据库基础

1.1 mysql和mysqld

mysql是基于CS(client - server)模式的一种网络服务,所以其也需要有服务端和客户端:

  1. mysql是数据库服务的客户端;
  2. mysqld是数据库服务的服务端。

mysql帮助我们将磁盘上的数据组织管理起来,让我们能够更方便的查找,管理数据。

数据库本质就是:对数据内容存储的一种解决方案,上层直接对数据库进行操作,而不需要再考虑数据在磁盘上是如何存放的,又要如何将数据组织起来,这些工作都有mysql数据库来帮我们解决

1.2 mysql结构

mysql大体上可以分为4层:

  1. 最上层:与客户端建立链接,进行限权等上层服务;
  2. 第二层:识别用户的指令,进行词法分析,同时对接收到的指令进行调优;
  3. 第三层:存储引擎:负责对各种指令进行具体的方法实现,包含对数据库文件进行增删查改;
  4. 第四层:文件系统,与磁盘文件进行交互。

1.3 SQL语句分类

SQL语句分为三类:

  1. DDL : 数据定义语言,维护数据库的存储结构;
  2. DML : 数据操作语言,进行表内数据的修改;
  3. DCL : 数据控制语言,负责权限管理和事务。

本文主要介绍DDL方面的语句,即如何对库中的存储接口进行修改。

二. 库的操作

库的操作分为四部分:

  1. 创建数据库;
  2. 查看数据库;
  3. 修改数据库;
  4. 删除数据库。

2.1 创建数据库

语法: create database (if not exists) 库名 (选项)来创建库;
通过show databases;可以查看mysql中已经存在的数据库。

  • 创建一个名为test的数据库:

在创建库的时候,我们也可以指定该库的两种编码集:

  1. 数据库编码集——数据存储时采用的编码方式;
  2. 数据库校验集——用于对数据进行比较,排序的规则,通常被称为"排序规则"。

通过show charset可以查看数据库支持的所有编码方式,show collation查看数据库支持的校验集。

  • 创建数据库的时候也可以指定字符集或校验集:在后面紧接着charset=编码集 collate=校验集即可:

可以通过show create database 库名,显示mysql创建对应数据库的信息。

注意:utf8utf8mb3是其一个别名,所有通过上图我们确实将库中的编码集进行了成功设置,在查询中未显示校验集,默认使用该编码集的默认校验集。

2.2 查看数据库

  • 可以通过show databases查看所有已经存在的数据库:

  • show create database 库名:显示创建库的时候的信息,\G可以将查询结果按 “垂直格式” 展示

  • show processlist用来查看那些用户连接了我们的mysql。

2.3 修改数据库

关于修改数据库,我们只能进行的操作是有限的,最常见的就是修改数据库的编码集和解码集:
alter database 库名 charset=编码集

2.4 删除数据库

删除数据库很简单:drop database 库名即可。
但是不建议直接将数据库中直接进行删除,应当先备份再删除

2.4.1 备份

语法: mysqldump -P服务器端口号 -u 用户 -p -B 目标库 > 目标文件

上述这个语句就是用来进行备份的,其中-B选项指的是在进行数据恢复的时候,会自动创建库,不需要我们手动创建库。

2.4.2 恢复

语法:source 备份文件.

在对文件数据进行恢复的时候,要考虑是否需要手动创建一个数据库来存放数据,如果在进行备份的时候添加了-B会自动创建数据库,否则需要手动创建。

实际上述的备份就是将对目标库的所有指令存储起来,而恢复就是将这些存储的指令重新在mysql上执行一边

三. 表的操作

关于表的操作与库的操作一样,也分为四部分:

  1. 创建表;
  2. 查看表;
  3. 修改表;
  4. 删除表。

在对表操作之前,我们要向指定要对那个库中的表进行操作:use 库名指定要进行操作的库。

3.1 创建表

create tabel 表名(
fieldl datatype,
field2 datatype,
field3 datatype
) charset=字符集 collate=校验规则 engine=存储引擎;
  1. field 表示列名;
  2. datatype 表示列的类型,关于列的类型将单独写一篇文章来进行介绍;
  3. character set 字符集,如果没有指定字符集,则以所在数据库的字符集为准;
  4. collate 校验规则,如果没有指定校验规则,也以所在数据库的校验规则为准。

3.2 查看表

查看表分为四种:查看库中存在的所有表,查看表中的数据;查看表的创建信息;查看表中存放那些数据。

  1. 查看库中含有的表:show tables

  2. 查看表的创建信息:show create table 表名

  3. 查看表中存放的数据类型:desc 表明

  4. 查看表中的数据,此处需要使用到select,在后面会出一篇文章详细介绍MySQL中的查询语句,此处直接使用select * from 表明来进行查看:

3.3 修改表

所有修改表的操作都是使用alter table 表名 .....

  1. 修改表的名字:alter table 原名 rename (to) 新名

  2. 将表中新增一列:alter table 表名 add 列名 属性...

  3. 对表中的具体一列的属性进行修改:alter table 表名 modify 列名 属性:

  4. 修改表中某一列的名称:alter table 表名 change 旧名 新名:

3.4 删除表

  1. 删除表中的一列还是使用alter table 表名 drop 列名
  2. 删除整张表:drop table 表名.
转载请说明出处内容投诉
CSS教程网 » 【MySQL数据库】玩转 MySQL 库表:库和表的操作 “通关指南”

发表评论

欢迎 访客 发表评论

一个令你着迷的主题!

查看演示 官网购买