MySQL学习笔记02-MySQL的创建_删除_查询_备份操作

1,547次阅读
没有评论

前言时刻,首先问问什么是 MySQL 数据库,你的答案是:软件、文件、不清楚?相信选择最后一个答案的人很多,当然我也是😂。我开始也是很懵逼,觉得 MySQL 很玄幻,不就是"增删改查"那些东西吗,事实上 MySQL 数据库本质上是文件,每创建一个数据库的同时创建一个文件夹,里面存放着创建的各种表(表以文件存在),下面我会证明的。

1、什么是数据库?

我们在电脑上安装的 MySQL 软件,其实就是安装了一个数据库管理系统(DBMS ,database mange system),这套管理系统可以管理多个数据库,同时每个数据库中可以创建多个表,用来存放数据。可能你还搞不清楚它们之间的关系,可看下方的流程图。

MySQL学习笔记02-MySQL的创建_删除_查询_备份操作

2、数据库相关的操作

关于数据库的操作就免不了要写 SQL 语句,写代码就要用专门的工具,要是天天对着 DOS 窗敲命令,都不想学 MySQL 了😄,常用的几款软件如下:

软件名称 支持系统 是否付费 评测
Navicat Windows、Mac、linux 付费,15天试用 强大,支持主流的数据库:MySQL、Oracle、MongoDB、sqlite等。缺点:要付费。开心版下载:
SQLyog Windows 社区版免费(够用) 好用,缺点:仅支持MySQL一种数据库,并且支持Windows系统
DataGrip Windows、Mac、linux 需要,社区版免费 jetbrain家出品的,超级强大,支持所有主流的数据库。

2.1 创建数据库

使用 create database db_name创建数据库,另外还可以指定数据库的字符集排序规则

# 1.默认方式,创建一个名叫test01的数据库,默认字符集是utf8
CREATE DATABASE test01;

# 1.1 创建数据库时 指定数据库的 字符集 
CREATE DATABASE test02 CHARACTER SET utf8;

# 1.2 创建数据库时 指定 数据库字符集 的排序规则
# utf8-bin:区分大小写,utf8-general-ci(默认方式):
CREATE DATABASE test03 CHARACTER SET utf8 COLLATE utf8-bin

上面我创建了两个数据库test01test02,去 MySQL 的文件夹看看结果,Mac下 MySQL 的路径是在/usr/local/mysql/data,而 Windows 下的是自己设置的安装路径下。

MySQL学习笔记02-MySQL的创建_删除_查询_备份操作

上面的截图证实了我上面说的,创建的数据库本质上是文件,所以说白了创建的数据库就是一个文件夹,里面存放着各种文件(也就是表),表中存放要插入的数据。需要注意的是这些文件并不是普通的文本文件,而是一种特殊的数据结构,有利于查询和插入等操作,这也就是为什么 MySQL 很快的原因。

1)创建数据库时为什么要指定字符集?


2.2 删除数据库

删除数据库之前一定要三思而后行,否则就是删库到跑路的结果。

# 2、删除数据库(注意,三思而后行)
DROP DATABASE IF EXISTS test02;


2.3 备份和恢复数据库

1)备份命令:

需要注意的是使用mysqldump,需要在 DOS 命令窗下运行。因为 mysqldump 是一个可执行程序,和 MySQL 一样,所以就需要在命令窗口运行。

MySQL学习笔记02-MySQL的创建_删除_查询_备份操作

# 备份 多个数据库
mysqldump -u root -p -B test01 test02 > /Users/jiaozhuzhang/Downloads/test.sql

# 只备份某个数据库中的 几个表
mysqldump -u root -p test01 msg msg2 > /Users/jiaozhuzhang/Downloads/test_part.sql

2)备份恢复:

这里也需要注意,恢复命令 source 需要在 MySQL 的命令窗口中进行,注意和备份命令的运行环境是不一样的。

MySQL学习笔记02-MySQL的创建_删除_查询_备份操作

# 恢复数据库
source /Users/jiaozhuzhang/Downloads/test.sql

2.4 其他操作:

  • 显示所有数据库
  • 显示创建某个数据库的 命令
# 显示所有的数据库
SHOW DATABASES;
-- information_schema
-- mysql
-- performance_schema
-- sys
-- test01
-- test02

# 显示创建某个数据库的 命令
SHOW CREATE DATABASE test02
# CREATE DATABASE `test02` /*!40100 DEFAULT CHARACTER SET utf8 */ /*!80016 DEFAULT ENCRYPTION='N' */

总结:

跟着多敲几遍,注意:一定要全程手敲代码,不要用自动提示功能,不练习几遍的话,你会发现几天后忘的渣都不剩。好了今天就到这了,觉得不错的话就点个赞吧!

参考文章:

https://www.cnblogs.com/chyingp/p/mysql-character-set-collation.html

5
西园公子
版权声明:本站原创文章,由西园公子2021-07-31发表,共计1970字。
转载提示:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
载入中...