1 安装mysql依赖包

1
yarn add mysql

2 创建mysql连接

创建连接前,确保容器是开启状态。新建test.js文件。

  • 引入mysql模块
1
const mysql = require('mysql')
  • 创建连接
1
2
3
4
5
6
const connection = mysql.createConnection({
    host: 'localhost', // 老版本的docker需要填ip
    user: 'root',
    password: '12345'
})
connection.connect();
  • 创建数据库
1
2
3
4
5
// 创建数据库
connection.query('CREATE DATABASE IF NOT EXISTS gsq DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_520_ci;', (error, results, fields) => {
    if (error) throw error;
    console.log(results)
})

创建名为gsq的数据库(数据库不存在的情况下),并指定默认字符集为utf8mb4(mysql对于utf-8字符集支持不佳)

  • 创建数据表
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
// 选择数据库
connection.query('use gsq;')
// 创建表
connection.query(`CREATE TABLE IF NOT EXISTS user(
    name text,
    age int
);`, (error, results, fields) => {
    if (error) throw error
    console.log(results)
})

connection.end()

使用模板字符串实现换行输入。

执行node test.js,如有报错,参考如下网站尝试修改密码加密规则:

navicat 连接不上虚拟机上的mysql容器 client does not support authentication protocol requested by server; consid_yubin1285570923的博客-CSDN博客

3 常用SQL语句

drop database gsq; 删除gsq数据库

drop table user; 删除user表

insert into user (name,age) values ('gsq',25); 添加一条数据

delete from user where name='gsq'; 删除name为gsq的数据

updata user set age='70' where name = 'gsq'; 修改name为gsq数据的age为70

select name from user; 显示user中全部name字段信息

select count(name) from user; 显示name字段数据条数

一般不会自己直接运用SQL语句操作数据库,而是利用封装好的ORM库(MyBatis、Hibernate)来操作数据库。