现在安装MySQL很简单,如果安装了Docker,可以去DockerHub网站搜索MySQL复制命令下载安装。所以跳过安装过程。

什么是数据库

将大量数据保存起来,通过计算机加工而成的可以进行高效访问的数据集合成为数据库。

根据不同的保存格式,数据库一般分为:

  • 关系数据库 —— 使用最广泛的数据库
  • 面向对象数据库、XML数据库、键值存储系统、层次数据库

用来管理数据库的系统,称为数据库管理系统,即DBMS,如:

  • MySQL
  • PostgreSQL
  • SQL Server
  • DB2
  • Oracle

如下 为DBMS的结构:
MySQL基本入门 - 图1
所以,MySQL是一个客户端,而MySQL背后的一个Server在24小时不断运行 着。

启用MySQL

使用docker run命令启动容器。如下:
docker run --name mysql1 -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql:5.7.27
命令解释:

  • --name mysql1:取一个容器的名字,名字叫mysql1
  • -e MYSQL_ROOT_PASSWORD=123456:设置密码,密码为123456
  • -p 3306:3306:设置映射端口,前者端口为主机端口,后者为docker端口
  • -d mysql:5.7.27:启用的容器,如果该容器对应的版本没有,就会自动下载,并执行前面的命令

使用MySQL

  • docker exec命令进入mysql容器
  • mysql -u root -p,并回车,然后输入密码
    • -u root:输入mysql的账户名,这里直接使用root
    • -p:回车后会输入密码
  • 现在已经进入了mysql,可以使用show databases;查看数据库列表(注意一般情况下结尾一定要加分号,不然会换行继续输入,漏了加分号,只能是ctrl+c重新输入)
  • 在查看 数据库前,在这个数据库列表里,使用use xxx;表示我们想要对列表里名为xxx的数据库进行操作。
  • show tables;表示查看use xxx;的所有的表。
  • select * from xxx的表,查看xxx数据库的某一个表

如何连接MySQL?

前端有很多npm包可以连接到MySQL,可以使用该命令pnpm install mysql2,安装名为mysql2的包。该包的 npmjs地址:https://www.npmjs.com/package/mysql2

该包的使用:

  1. const mysql = require('mysql2');
  2. //连接MySQL
  3. const connection = mysql.createConnection({
  4. host: 'localhost',
  5. user: 'root', //mysql账户
  6. password: '123456', //mysql密码
  7. database : 'my_db' //要连接的数据库
  8. });
  9. // 进行读操作
  10. connection.query(
  11. 'SELECT * FROM `table` WHERE `name` = "Page" AND `age` > 45', //对数据库的操作
  12. function(err, results, fields) { //操作的回调
  13. console.log(results);
  14. console.log(fields);
  15. }
  16. );
  17. // 进行写操作
  18. connection.query(
  19. 'SELECT * FROM `table` WHERE `name` = ? AND `age` > ?',
  20. ['Page', 45],
  21. function(err, results) {
  22. console.log(results);
  23. }
  24. );

MySQL命令学习

一些重要的SQL命令:

  • SELECT从数据库中提取数据
  • UPDATE更新数据库中的数据
  • DELETE从数据库中删除数据
  • INSERT INFO向数据库中插入新数据
  • CREATE DATABASE创建新数据库
  • ALTER DATABASE修改数据库
  • CREATE TABLE创建新表
  • ALTER TABLE修改表
  • DROP TABLE删除表
  • CREATE INDEX创建索引
  • DROP INDEX 删除索引