Node.js 连接 MySQL
(1)安装 mysql 包:
$ npm install mysql
(2)引入 mysql 包:
const mysql = require("mysql");
(3)建立连接:
![be38c8fdbcf169483ca3ac0ec371faa7.png](https://img-blog.csdnimg.cn/img_convert/be38c8fdbcf169483ca3ac0ec371faa7.png)
正常来说,运行程序后,应该会提示数据库连接成功
。
如果在运行时提示错误Client does not support authentication protocol requested by server
,解决办法如下:(在终端进入 sql 之后,输入如下命令)
![a6484e6d60d1600f7cf46848841d359a.png](https://img-blog.csdnimg.cn/img_convert/a6484e6d60d1600f7cf46848841d359a.png)
Node.js 增删改查 MySQL
针对下面这张表:
通过 Node.js可以对其进行一些增删改查操作。代码举例如下。
1、查询表
![7e4f875347fc11ca7047183a54cb9cfb.png](https://img-blog.csdnimg.cn/img_convert/7e4f875347fc11ca7047183a54cb9cfb.png)
打印结果如下:
![d0ae8c524385fb9e785c646388746e4c.png](https://img-blog.csdnimg.cn/img_convert/d0ae8c524385fb9e785c646388746e4c.png)
删除表
![e0c9738de78f06c4adcfec866c01d6d0.png](https://img-blog.csdnimg.cn/img_convert/e0c9738de78f06c4adcfec866c01d6d0.png)
删除数据库
将上方的sql语句换一下即可:
let strSql3 = 'drop database qiangu_database';
2、新建数据库
![e8347d6c0a032b59ad6eb5601060c1bc.png](https://img-blog.csdnimg.cn/img_convert/e8347d6c0a032b59ad6eb5601060c1bc.png)
打印结果:
![ff7232964332e0d3039d7ba72fe54650.png](https://img-blog.csdnimg.cn/img_convert/ff7232964332e0d3039d7ba72fe54650.png)
3、新建表
新建表的sql语句举例:
![463f628e0ddc9af47ed1f60cc1ebce43.png](https://img-blog.csdnimg.cn/img_convert/463f628e0ddc9af47ed1f60cc1ebce43.png)
如果是在 js 代码中执行上面这样命令的话,要记得把 sql 语句存放在字符串里的同一行。
代码举例如下:
![c94f675cf6f92311d5f996a540ad52a1.png](https://img-blog.csdnimg.cn/img_convert/c94f675cf6f92311d5f996a540ad52a1.png)
打印结果:
![03597a9ceb10e77968fb4a9f911c41ce.png](https://img-blog.csdnimg.cn/img_convert/03597a9ceb10e77968fb4a9f911c41ce.png)
在指定的表中插入数据
![24a650673903d921cc17093b55e7d236.png](https://img-blog.csdnimg.cn/img_convert/24a650673903d921cc17093b55e7d236.png)
打印结果:
![fb8bb9c4950a6258312d8b4e4eba0088.png](https://img-blog.csdnimg.cn/img_convert/fb8bb9c4950a6258312d8b4e4eba0088.png)
如果插入的数据是变量(比如是用户提交上来的数据),那么,sql 语句可以这样写:
![2b819f7e68cf82fc0eae2e7a3eff8283.png](https://img-blog.csdnimg.cn/img_convert/2b819f7e68cf82fc0eae2e7a3eff8283.png)