一,什么是Mysql?

Mysql是一个数据库系统。

假设Mysql是一个银行,那么数据就是我们用的钱,可以存储也可以取出,也就是说我们可以存取数据到Mysql上,也可以取出来。

同理,数据库也有很多种,Mysql是其中的一种,它的名字叫Mysql,别的数据库系统还有Oracle,DB2,SQLServer等。

同理:Mysql数据库也分为两部分,一部分跟银行的内部系统类似,专业术语叫做数据库服务器,数据库服务器是具体存放数据的,具体怎么存放我们用户也不关心。另一部分跟银行的外部系统营业厅类似,专业术语叫数据库客户端。连接数据库服务器和数据库客户端的就是数据库管理系统(DBMS)。

你跟银行工作人员说要取钱的时候用的是中文(也有可能是英文),那么在数据库里面,也需要一种语言让数据库客户端明白你要存或者取数据,这就是SQL(结构化查询语言)。

二,下载安装Mysql

这里就直接上我学习的教程:

(69条消息) MySQL8.0.26安装配置教程(windows 64位)_扑喽哈哈的博客-CSDN博客_mysql8.0.26安装教程

登录:

在cmd窗口输出这个指令

1
mysql -u root -p

注意空格,这样就进入了Mysql了。

三,一些基本的学习

展示当前所有的数据库:

1
SHOW DATABASES;
创建一个数据库goods (总之DATABASE后面是你要创建的数据库的名称)
1
CREATE DATABASE goods;

不过为了防止重复创建报错,建议用这个

1
CREATE DATABASE IF NOT EXISTS goods;

查看MySQL命令行所在的数据库

1
SELECT DATABASE();
切换mysql命令行所在位置:(比如切换至mysql)
1
USE mysql;
查看数据库的创建信息
1
SHOW CREATE DATABASE database_name;

或者这个(常用)

1
SHOW CREATE DATABASE database_name \G

这时出现 CREATE DATABASE goods /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci / /!80016 DEFAULT ENCRYPTION=’N’ */
1 row in set (0.00 sec)

可以看出,创建名称为goods的数据库时,使用的字符编码为utf8mb4,使用的校对规则为utf8mb4_0900_ai_ci,DEFAULT ENCRYPTION=’N’表示默认没有使用MySQL的加密技术。(就当记笔记了)

修改数据库名称

语法格式如下:

1
RENAME DATABASE db_name TO new_db_name
在MySQL中创建数据库test_old,并在test数据库中创建名称为table_test的数据表
1
2
3
CREATE DATABASE IF NOT EXISTS test_old;
USE test_old;
CREATE TABLE IF NOT EXISTS table_test(id int);

查看名称为test_old数据库下的数据表。

1
SHOW TABLES;

可以看到,test_old数据库下存在table_test数据表,说明table_test数据表创建成功

在MySQL命令行创建test_new数据库
1
CREATE DATABASE IF NOT EXISTS test_new;
重命名数据表。将test_old数据库下的数据表重命名到test_new数据库下
1
RENAME TABLE test_old.table_test TO test_new.table_test;
删除test_old数据库(DROP)(一样的防止报错用IF EXISTS)
1
DROP TABLE IF EXISTS test_old;
查看test_new数据库下存在的数据表(同理,先切换至test_new数据库中)
1
2
USE test_new;
SHOW TABLES;

+——————–+

| Tables_in_test_new |

+——————–+

|table_test |

+——————–+

1 row in set (0.00 sec)

这样就成功了

创建数据库时指定字符编码

1.语法格式

1
2
CREATE DATABASE [IF NOT EXISTS] database_name DEFAULT CHARACTER SET character_name COLLATE collate_name 
[DEFAULT ENCRYPTION='N'];

2.简单示例

在MySQL命令行创建名称为test_character的数据库,并指定数据库的字符编码为UTF-8,校验规则为utf8_unicode_ci,不使用MySQL的加密技术。

1
2
CREATE DATABASE IF NOT EXISTS test_character DEFAULT CHARACTER SET utf8 COLLATE  utf8_unicode_ci 
DEFAULT ENCRYPTION='N';

接下来,查看名称为test_character的数据库的字符编码

1
SHOW CREATE DATABASE test_character \G

创建的名称为test_character的数据库使用的字符编码为UTF-8,校验规则为utf8_unicode_ci,没有使用MySQL的加密技术。创建名称为goods的数据库时没有指定字符编码,此时就会使用默认的字符编码utf8mb4。

查看数据库默认字符编码的SQL语句

1
SHOW VARIABLES LIKE '%character_set_database%';

修改数据库的字符编码

1.语法格式

1
ALTER DATABASE database_name CHARACTER SET character_name collate collate_name;

2.简单示例

将名称为test_character的数据库的字符编码修改为utf8mb4,检验规则修改为utf8mb4_0900_ai_ci。

1
SHOW CREATE DATABASE test_character \G

看到了utf8mb4,则成功了

删除数据库

语法格式:

1
DROP DATABASE [IF EXISTS] database_name;

删除MySQL中名称为goods的数据库。(同样的可以添加IF NOT EXISTS,防止删除不存的的数据库报错)

1
DROP DATABASE IF EXISTS goods;

查看mysql中的数据库

1
SHOW DATABASES;

(数据表等有空了再学吧┭┮﹏┭┮,消化消化)