当前位置: 首页 > news >正文

express学习笔记7 - docker跟mysql篇

安装Docker和Navicat

Docker
进官⽹https://docs.docker.com/get-docker/ 选择机型安装即可。

Navicat(也可以在网上找个破解版本)
进官⽹https://www.navicat.com/en/products/navicat-premium


安装完之后连接新建⼀个数据库连接

 

 

然后再⾥⾯新建⼀个数据库

 

 使⽤Docker安装MySQL
 

docker run -d -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -v
$(pwd)/db:/var/lib/mysql --restart always mysql:8.0

解释:

  • -d 表示以后台模式运⾏容器。
  • --name mysql 表示为容器指定名字为 mysql。
  • -e MYSQL_ROOT_PASSWORD=your_password 表示设置 MySQL 的 root ⽤户密码为123456。
  • -v ./db:/var/lib/mysql 表示将 MySQL 数据库⽂件存储到本地当前⽬录下的 db/ ⽬录, 实现数据持久化。
  • -p 3306:3306 表示将容器的 3306 端⼝映射到本地的 3306 端⼝,以便通过本地访问 MySQL。
  • --restart always 表示容器启动后,如果异常退出,Docker 会⾃动重启容器。
  • mysql:8.0 表示使⽤8.0版本的 MySQL 镜像。

执⾏以上命令就能安装并运⾏MySQL。 安装成功会⽣成我们的数据库:

 Docker这边:

说明我们的服务已经启动了。

提醒:下⼀章我们就开始要开始设计数据表,如果不熟悉mysql的⼩伙伴可以先去了解⼀下mysql。

Mysql表设计
如果不了解Mysql的,建议先花点时间看看Mysql的基础。以下列举⼀下建表需要的注意事项: 主键设计:每个表都应该有⼀个主键来唯⼀标识每⼀⾏数据,常⻅的主键类型包括⾃增⻓整数

  • UUID 和字符串等。主键应该是不可变的,不应该在表中被修改。⽐如我们的表id 数据类型选择: 常⻅的数据类型包括整数、浮点数、⽇期时间、字符串等
  • 索引设计:⼀般来说,主键和外键字段都应该创建索引,其他需要经常查询或者⽤于排序、分组等 操作的字段也应该考虑创建索引。
  • 规范命名:表、字段、索引等命名需要规范化,遵循⼀定的命名规则和命名规范。

⽤户表 users

⾸先我们需要⼀个⽤户表,有以下字段:

 这⾥也提供了 .sql ⽂件
 

CREATE TABLE `users` (`id` int unsigned NOT NULL AUTO_INCREMENT,`avatar` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '头像',`nickname` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '昵称',`phone` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '⼿机号',`password` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '密码',`created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,`updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

常⽤查看数据库命令
1、:进⼊数据库容器
 

docker ps

 

 2、连接mysql

docker exec -it mysql mysql -uroot -p123456

3、看⼀下当前数据库
 

show databases;

 4、创建数据库
 

mysql> create database lease;
Query OK, 1 row affected (0.03 sec)

5、切换数据库

mysql> use lease;
Database changed

6. 创建表

mysql> 这⾥直接复制我们.sql⽂件的代码,回⻋即可

7. 查看数据表

mysql> show tables;
+-----------------+
| Tables_in_lease |
+-----------------+
| users |
+-----------------+

8、删库

mysql> drop database lease;
Query OK, 4 rows affected (0.11 sec)

http://www.lryc.cn/news/104848.html

相关文章:

  • Leetcode(一):数组、链表部分经典题目详解(JavaScript版)
  • 内网穿透的底层原理是什么
  • Bash配置文件
  • 写Acknowledgement的时候,latex日志出现警告
  • GCC生成map文件
  • IOS看书最终选择|源阅读转换|开源阅读|IOS自签
  • easyui实用点
  • 算法训练营第五十六天||● 583. 两个字符串的删除操作 ● 72. 编辑距离 ● 编辑距离总结篇
  • C语言每日一题:10.不使用+-*/实现加法+找到所有数组中消失的数。
  • LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443
  • JS数组的详解与使用
  • c++ / python / java / PHP / SQL / Ruby / Objective-C / JavaScript 发展史
  • Linux第一个小程序-进度条(缓冲区概念)
  • CentOS7环境安装tomcat
  • C# 中使用ValueTask优化异步方法
  • KVM创建新的虚拟机(图形化)
  • 正则表达式在格式校验中的应用以及包装类的重要性
  • Docker使用之java项目工程的部署
  • 3ds Max如何进行合成的反射光泽通道渲染
  • 114、Spring AOP是如何实现的?它和AspectJ有什么区别?
  • 正则表达式速通
  • 数据可视化(5)热力图及箱型图
  • React 组件通信-全面解析
  • “深入理解Spring Boot:快速构建微服务架构的利器“
  • SpringBoot超级详解
  • 手机的python怎么运行文件,python在手机上怎么运行
  • RBAC三级树状菜单实现(从前端到后端)未完待续
  • 牛客网Verilog刷题——VL41
  • 大整数截取解决方法(java代码)
  • Spring Boot使用@Async实现异步调用:自定义线程池