node操作数据库
2022-02-10 本文已影响0人
kzc爱吃梨
DBMS
Docker安装MySQL
·步骤
- 进入Docker上面MySQL的主页
- 选择版本,如5.7.27或者8.0.18
- 使用 docker run命令启动容器
-
name
是容器的名字 -
MYSQL_ROOT_PASSWORD
是密码
3.tag
是版本号,我们选用5.7.27 - 再加一个端口映射
-p
3306:3306 - 最终命令
docker run --name mysql1 -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql:5.7.27
一些有用的 Docker命令
-
命令
运行docker ps
查看容器
运行状态运行docker kill mysql1
关掉容器
运行docker container start mysal1
开启刚关掉的容器
运行docker rm mysql1
删掉容器,必要时可加-f选项
运行docker run
启动新容器(详细看上面) -
注意
用 Docker 运行的容器,默认不会持久化
也就是说如果容器被删掉了,那么数据也没了
如果需要持久化,自行搜索「docker mysql数据目录」学习阶段不需要持久化
如何用命令行连接
-
mysql Docker exec 命令
docker exec -it mysql1 bash
这句命令会进入容器,容器里有一个Linux系统
然后你就可以在这个系统里运行 mysql -
mysql命令
mysql -u root -p
回车,然后输入密码 123456
命令show databases;
可查看数据库列表
如果你手抖忘了写分号就回车了,按 Ctrl+C 重来吧
命令use xxx;
可选择使用 xxx 数据库
命令use sys;
我们试试默认的 sys 数据库命令show tables;
查看所有表
命令select * from CHARACTER SETS;
查看表内容
Node.js 连接数据库
安装mysql
yarn add mysql
代码
var mysql = require('mysql');
var connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: '123456',
});
connection.connect();
// 如果存在kong的数据库就不创建,如果没有就创建名字为kong的数据库,编码方式为utf8mb4
connection.query('CREATE DATABASE IF NOT EXISTS kong DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_520_ci;', function (error, results, fields) {
if (error) throw error;
console.log('创建数据库');
console.log(results);
});
connection.query('use kong;') // 选中kong数据库
// 如果没有user的表就进行创建
connection.query(`CREATE TABLE IF NOT EXISTS user(
name text,
age int
)`, function (error, results, fields) {
if (error) throw error;
console.log('创建表');
console.log(results);
});
connection.end();
对表的增删改查
删除名为kong的数据库
DROP database kong;
删除名为user的表
DROP table user;
了解如何添加记录
给user表添加一条记录
insert into user (name, age) values ('kong', 18);
效果
给user表增加一列id的数据
alter table user add id serial;
效果
删除go go
的记录
delete from user where name = 'go go';
修改kong
记录的年龄改为70
update user set age=70 where name='kong';
效果
如果修改记录不指定位置,则所有记录的age都改为18
update user set age=18;
效果
查看user表age
和name
的数据的前十条
select name,age from user limit 10;
效果
查看user表中name的个数
select count(name) from user;
效果
推荐文档
devdocs.io开启PostgreSQL
菜鸟文档