node笔记_连接mysql编写js脚本的crud

文章目录

    • ⭐前言
    • ⭐mysql的api依赖库
      • ⭐建立数据库连接
      • ⭐query执行sql语句
        • create 新增table数据库表
        • insert 插入表数据
          • 插入单条数据
          • 插入多条数据
        • select 查询数据
        • delete 删除表数据
          • 删除单条数据
          • 删除多条数据
    • ⭐ 结束

⭐前言

大家好,我是yma16,本期分享node连接mysql实现crud。
往期文章
node_windows环境变量配置
node_npm发布包
linux_配置node
node_nvm安装配置
node笔记_http服务搭建(渲染html、json)
node笔记_读文件
node笔记_写文件

小知识
热加载node,可以使用nodemon,保存后不用重启可以自动更新项目

$ npm install -g nodemon

调整项目的package.json的入口运行替换node为 nodemon

"scripts": {
    "dev": "nodemon ./main/index.js",
    "test": "echo \"Error: no test specified\" && exit 1"
  }

⭐mysql的api依赖库

安装mysql模块

$ npm install mysql

⭐建立数据库连接

连接mysql需要ip,port,username,password和database
示例:

var mysql= require('mysql');
# 创建连接
var connection = mysql.createConnection({
  host     : 'localhost',
  user     : 'root',
  password : '123456',
  database : 'csdn_demo'
});
console.log('connection',connection)
# 关闭连接
connection.end()

连接我笔记本的mysql成功截图
本地数据库的csdn_demo
node笔记_连接mysql编写js脚本的crud_第1张图片

连接成功!
node笔记_连接mysql编写js脚本的crud_第2张图片

⭐query执行sql语句

sql能实现数据增删改查,所以query可以实现crud的功能

create 新增table数据库表

传递sql建表语句

var mysql      = require('mysql');
var connection = mysql.createConnection({
  host     : 'localhost',
  user     : 'root',
  password : '123456',
  database : 'csdn_demo'
});
const createTableSql=`
CREATE TABLE table_by_node(id int AUTO_INCREMENT,title VARCHAR(255),body VARCHAR(255),PRIMARY KEY(id))
`
connection.query(createTableSql, function (error, results) {
  if (error) throw error;
  console.log('The solution is: ', results);
});

connection.end()

建表成功!
node笔记_连接mysql编写js脚本的crud_第3张图片

insert 插入表数据

插入单条数据

生成1条语句插入sql里面的table_by_node里面

var mysql      = require('mysql');
var connection = mysql.createConnection({
  host     : 'localhost',
  user     : 'root',
  password : '123456',
  database : 'csdn_demo'
});
let insertDataSql=""
for(let i=0;i<1;++i){
	baseInsertSql=`INSERT INTO table_by_node(id,title,body) VALUES (${i}, 'node', 'study${i}');`
	insertDataSql+=baseInsertSql
}

connection.query(insertDataSql, function (error, results) {
  if (error) throw error;
  console.log('The solution is: ', results);
});

connection.end()

插入数据成功!
node笔记_连接mysql编写js脚本的crud_第4张图片

插入多条数据

动态生成99条语句插入sql里面的node_by_table里面

var mysql      = require('mysql');
var connection = mysql.createConnection({
  host     : 'localhost',
  user     : 'root',
  password : '123456',
  database : 'csdn_demo'
});
let values=[]
for(let i=1;i<100;++i){
	values.push([i,'node插入数据动态','第'+i+'条数据'])
}

connection.query('INSERT INTO table_by_node(id,title,body) VALUES ?',[values], function (error, results) {
  if (error) throw error;
  console.log('The solution is: ', results);
});
connection.end()

node笔记_连接mysql编写js脚本的crud_第5张图片

node笔记_连接mysql编写js脚本的crud_第6张图片

select 查询数据

写一个select 语句查询刚刚插入的数据表table_by_node

var mysql      = require('mysql');
var connection = mysql.createConnection({
  host     : 'localhost',
  user     : 'root',
  password : '123456',
  database : 'csdn_demo'
});
connection.query('select * from table_by_node;', function (error, results) {
  if (error) throw error;
  console.log('The solution is: ', results);
});

connection.end()

node笔记_连接mysql编写js脚本的crud_第7张图片

delete 删除表数据

delete from table

删除单条数据

where条件约束id删除一条

var mysql      = require('mysql');
var connection = mysql.createConnection({
  host     : 'localhost',
  user     : 'root',
  password : '123456',
  database : 'csdn_demo'
});

let deleteSql=`delete from  table_by_node where id=1;`
connection.query(deleteSql, function (error, results) {
  if (error) throw error;
  console.log('The solution is: ', results);
});

connection.end()

node笔记_连接mysql编写js脚本的crud_第8张图片

删除多条数据

delete之前使用sql的in子查询,查出多条数据再删除

var mysql      = require('mysql');
var connection = mysql.createConnection({
  host     : 'localhost',
  user     : 'root',
  password : '123456',
  database : 'csdn_demo'
});
let values=[]
for(let i=2;i<100;++i){
	values.push(i)
}
let deleteSql=`delete from  table_by_node where id in (${values.join(',')})`
connection.query(deleteSql, function (error, results) {
  if (error) throw error;
  console.log('The solution is: ', results);
});

connection.end()

node笔记_连接mysql编写js脚本的crud_第9张图片

⭐ 结束

感谢阅读,如有不足欢迎指出!

你可能感兴趣的:(学习笔记,mysql,javascript,node)