docker 启动 mysql
- docker 安装 不说了 自行解决
- 进入 Docker 上面的 mysql 主页
- 选择版本 如 5.7.27 或者 8.0.18
- 使用docker run 容器的名字
- name 是容器的名字
- MYSQL_ROOT_PASSWORD 是密码
- tag是 版本号,我们选 5.7.27
- 再加一个端口映射 -p 3306:3306
- 最终命令
1 | docker run --name mysql01 -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql:5.7.27 |
注意
- docker启动的容器默认不会持久化
- 容器删掉了,数据就没了
- 如果需要持久化,自行搜索 [docker mysql 数据目录]
- 目前我们不需要持久化
连接 docker mysql
1 | docker exec -it 镜像名称 bash |
mysql 命令
1 | mysql -u root -p 回车 输入密码 123456 |
什么是数据库
数据库Database
- 将大量数据保存起来,通过计算机加工而成的可以运行高效访问的数据集合称为数据库
- 根据保存格式不同,数据库一般分为
- 关系型数据库 使用最广泛
- 面向对象数据库、xml数据库、键值对数据库、层次数据库
数据库管理系统 DBMS
- 用来管理数据库的系统称之为数据库管理系统
- 如 MySQL 、PostgreSQL、SQL Server、DB2、Oracle
mysql 一个bug
- mysql不要使用 utf-8 记住永远不要再 mysql里使用 utf-8 而是用 utf-8mb4
Node.js 访问数据库
- mysqljs 里面是例子代码
- 新建目录 node-mysql
- yarn init -y
- 抄文档 yarn add mysql
1 | var mysql = require('mysql'); |
事务
1 | var mysql = require('mysql'); |
CRM学习法 搞定mysql
- 了解如何连接 mysql
- 如何创建 数据库
- 如何创建表
- 对表 CRUD
如果你是新手千万不要写update 和 delete语句
推荐你用这个解决sql语法
- devdocs.io 开启 postgresql 文档
- 菜鸟教程
mysql 数据类型
五大类
- 数字
- bit
- tinyint
- bool,boolean
- smallint
- int
- bigint
- decimal
- float
- double
- serial
- 太多了
- 字符串
- char(100) 固定占用100字符,即使你存一个 字符串1
- varchar(100) 变长存储 省空间
- binary(1024)
- varbinary(1024)
- blob
- text 存博客这种
- enum(‘v1’,’v2’)
- set(‘v1’,’v2’)
- 具体看文档
- 时间和日期类型
- date 年月日
- time 某事某分某秒
- datetime 年月日 时分秒
- timestamp 时间戳
- year 只存年
- 关注一下 ISO 8601
- 很多程序员处理不好日期数据,就是因为不了解它
- 如何把日期处理为 ISO 8601格式
- JSON类型 5.7.8以上
- 其他特殊类型
参考文档
- dev.mysql.com
- 菜鸟教程