node与mysql的相互使用————node+mysql

node与mysql的相互使用————node+mysql

为什么选node???因为我是个前端。

为什么选mysql???因为成熟,稳定,听说容易学。

一.mysql数据库:

mysql下载和使用我这里不细说。东西挺多的。

先下个Navicat premium用于直观的操作数据库,让数据库看得见,摸得着。

建立链接(localhost:3306):

新建个数据库,命名为test1。(这名字有用的!)

数据库代码(点查询,可以编写代码):

//创建一个表,表定义的数据包括:Id,name,url,alexa,country。(后面跟着的是数据类型)
create table websites (Id varchar(10),name varchar(20),url varchar(20),alexa varchar(20),country varchar(20));
//增加一组数据,上面是定义有什么数据,下面才是真正的放数据进去!!!
insert into websites (Id,name,url,alexa,country) values ('1','华哥工具','https://baidu.com','23234','USA');
//查看表格,可以把他当成保存数据,来看。
select * from websites;

运行后。就会有一个叫websites的表格出现!

二.node服务器:

安装:npm i mysql

有个mysql依赖,才可以调用mysql呀。

新建test.js

//链接数据库!!!
var mysql = require('mysql');
//把数据库的密码,账号,地址,端口,表格都连接上!!
var connection = mysql.createConnection({
  host: 'localhost',
  user: 'root',
  password: 'root',
  port: '3306',
  database: 'test1'//上文说的名字
});
connection.connect(); //启动连接!!!!
//这中间的是操作!!↓(增删查改,随你开心!!!)
// 需要学数据库的代码

//这中间的是操作!!↑
connection.end(); //结束连接!!!不能一直连着!!

这就是数据库的链接,当然还没有操作。只是链接数据库而已↑

//这中间的是操作!!↓(增删查改,随你开心!!!)
// 需要学数据库的代码
// 这是增数据,顺序执行!!!!!
var addSql = 'INSERT INTO websites(Id,name,url,alexa,country) VALUES(3,?,?,?,?)';
var addSqlParams = ['菜鸟', 'https://c.xxrunoob.com', '45643', 'CN']; //这是想增加的数据
//增
connection.query(addSql, addSqlParams, function (err, res) { //询问访问数据库,也就是去嫩那个数据库
  if (err) { //失败就报个错
    console.log('[INSERT ERROR] - ', err.message);
    return;
  }
  console.log("数据库增的结果:");
  console.log(res);
});

// 这是删除数据。
var delSql = 'DELETE FROM websites where id=6'; //数据库代码,websites表中删除id为6的那一行。
//删
connection.query(delSql, function (err, res) { //询问访问数据库,也就是去嫩那个数据库
  if (err) {
    console.log('[DELETE ERROR] - ', err.message);
    return;
  }
  console.log("数据库删的结果:");
  console.log(res);
});

//这是改数据。
var modSql = 'UPDATE websites SET  Id= ?,url = ? WHERE name = ?';//改name为菜鸟移动站的数据!把其id和url改掉!
var modSqlParams = [11, 'https://huage.com', '菜鸟移动站'];
//改
connection.query(modSql, modSqlParams, function (err, res) {
  if (err) {
    console.log('[UPDATE ERROR] - ', err.message);
    return;
  }
  console.log("数据库删的结果:");
  console.log(res);
});

//查,数据库代码
var sql = 'SELECT * FROM websites';
connection.query(sql, function (err, res) { //询问访问数据库,也就是去嫩那个数据库
  if (err) { //失败就报个错。
    console.log('[SELECT ERROR] - ', err.message);
    return;
  }
  console.log("数据库查的结果:");
  console.log(res); //成功就输出下结果
});

//这中间的是操作!!↑

基本就这些,简单的node使用数据库。

原文地址:https://www.cnblogs.com/cth0/p/11680134.html

时间: 2024-08-29 06:51:02

node与mysql的相互使用————node+mysql的相关文章

Node+Express+node-mysql 实战于演习 全套mysql(增删改查)

最近这段时间研究Node感觉不错,自己做了一个增删改查,虽然有些简陋,但是思想是想通的,其实所有项目都是增删改查,有助于初学者快速掌握Node 首先 本实例展示的是基于Node+Express+node-mysql快速搭建的一套增删改查,视图模板是jade,基本上都是现在能用的到的技术,市面上的实例也特别少,有用的又不新,所以自己写一个 基本工作 首先我们准备一些基本的,因为我是用mysql麻烦可以自己装一下mysql,去官网可以下各种操作系统的安装包. 实例就一张表,下面是这张表的建表语句 S

在Node.js使用Promise的方式操作Mysql

最近在学习Node.js,虽然早就听说了回调地狱结果过了一周就遇到了.所以花时间学习了了一下Promise.虽然还有Async/await.co.生成器等选择,但是因为本人基础较差,以及时间问题所以决定先用好Promise. 你可以选择用原生的,当然最好还是用BlueBird,听说性能比官方的好很多,而且有额外的特性:promisifyAll.Promisify 官方案例: var fs = Promise.promisifyAll(require("fs")); fs.readFil

vue+express+mysql项目总结(node项目部署阿里云通用)

原文发布于我的个人博客上:原文点这里 ??前面经历千辛万苦,终于把博客的所有东西都准备好了,现在就只等部署了.下面我介绍下我的部署过程: 一.购买服务器和域名 ??如果需要域名(不用域名通过ip也可以访问,虽然不方便,但可以节约一年几十块钱的域名费用,哈哈),建议提前购买,因为域名备案的时间比较长. ??我是在阿里云上购买的服务器和域名,服务器是在阿里云手机端上购买的活动产品,半年¥9.9(半年后续费好像就是原价了!!!下面是购买的截图),域名是¥55一年(.com比较贵),点这里去挑选合适你的

MySQL监控模板说明-Percona MySQL Monitoring Template for Cacti

http://blog.chinaunix.net/uid-16844903-id-3535535.html https://www.percona.com/doc/percona-monitoring-plugins/1.1/zabbix/index.html InnoDB Adaptive Hash Index InnoDB Buffer Pool Activity InnoDB Buffer Pool InnoDB Checkpoint Age InnoDB Current Lock Wa

MySQL复习(一)Mysql简介

1.1 MySQL简介 1.1.1MySQL是一个真正意义上的多用户.多线程SQL数据库 1.2关系数据库管理系统 在过去的许多年里,有关于 "数据库"这个名词定义.是一服务在过去的 许多年里,有关于 "数据库"这个名词定义.是一服务在过去的许多年里,有 关于 "数据库"这个名词定义.是一服务在过去的许多年里,有关于 "数据库 "这个名词定义.是一服务一个核心目标的数据有组织集合.库中是,从某种意 义上说据库中存储的数采用一种

Mysql系列(三)—— Mysql主从复制配置

一.前言 主从复制是Mysql知识体系中非常重的要一个模块.学习主从复制和后续的读写分离是完善只是知识体系的重要环节.且主从复制读写分离的思想并不仅仅局限于Mysql,在很多存储系统中都有该方案,如:redis. 从应用的角度思考,主从复制有如下优点: 可以备份数据,容灾 可以做读写分离,分担单机Mysql节点的压力.master只做write,slave做read 数据归类进行分析计算很耗性能时,可以只在slave节点上进行 一定程度保证可用性,master write节点发生宕机,可以快速切

MySQL之MySQL:prompt 设置 -登陆MySQL显示用户名和主机以及当前数据库

是开始但愿不是结束,是起点但愿不是终点 今天在做MySQL练习过程中,突然发现,登陆mysql后,命令行不能显示用户名和主机信息,同时呢,想查看数据库信息还需要查看select datebase()命令查看,特别不方便,因此特别查看了mysql的相关资料,每次通过客户端登陆怎么才能显示这些信息呢?其实MySQL的相关设置都在配置文件my.cnf中可以设置.因此就去看my.cnf文件,之前就使用下,没有细心看.my.cnf配置文件中两大部分:[client]和[mysqld],前者是客户端的配置参

MYSQL添加新用户 MYSQL为用户创建数据库 MYSQL为新用户分配权限

1.新建用户 //登录MYSQL@>mysql -u root -p@>密码//创建用户mysql> insert into mysql.user(Host,User,Password) values('localhost','jeecn',password('jeecn'));//刷新系统权限表mysql>flush privileges;这样就创建了一个名为:jeecn  密码为:jeecn  的用户. //退出后登录一下mysql>exit;@>mysql -u

ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var mysql 启动不了

ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var mysql 启动不了 ps -A | grep -i mysql kill 列出来的进程 service mysql start 我的问题就解决了 ---------------------------------------------- Fedora8启动mysql 报错:ERROR 2002 (HY000): Can’t connect