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使用数据库。
node与mysql的相互使用————node+mysql的更多相关文章
- 在Node.js使用Promise的方式操作Mysql
最近在学习Node.js,虽然早就听说了回调地狱结果过了一周就遇到了.所以花时间学习了了一下Promise.虽然还有Async/await.co.生成器等选择,但是因为本人基础较差,以及时间问题所以决 ...
- vue+express+mysql项目总结(node项目部署阿里云通用)
原文发布于我的个人博客上:原文点这里 前面经历千辛万苦,终于把博客的所有东西都准备好了,现在就只等部署了.下面我介绍下我的部署过程: 一.购买服务器和域名 如果需要域名(不用域名通过ip也可以 ...
- 性能追击:万字长文30+图揭秘8大主流服务器程序线程模型 | Node.js,Apache,Nginx,Netty,Redis,Tomcat,MySQL,Zuul
本文为<高性能网络编程游记>的第六篇"性能追击:万字长文30+图揭秘8大主流服务器程序线程模型". 最近拍的照片比较少,不知道配什么图好,于是自己画了一个,凑合着用,让 ...
- mysql类似to_char()to_date()函数mysql日期和字符相互转换方法date_f
mysql 类似to_char() to_date()函数mysql日期和字符相互转换方法 date_format(date,'%Y-%m-%d') -------------->oracle中 ...
- MySql(十一):MySQL性能调优——常用存储引擎优化
一.前言 MySQL 提供的非常丰富的存储引擎种类供大家选择,有多种选择固然是好事,但是需要我们理解掌握的知识也会增加很多.本章将介绍最为常用的两种存储引擎进行针对性的优化建议. 二.MyISAM存储 ...
- MySQL监控模板说明-Percona MySQL Monitoring Template for Cacti
http://blog.chinaunix.net/uid-16844903-id-3535535.html https://www.percona.com/doc/percona-monitorin ...
- debian系列下c++调用mysql, linux下面安装mysql.h文件
mysql.h的报错还没有解决,你们不用看了,等我解决了吧还不知道什么时候 先用c吧 #include <stdio.h> #include <stdlib.h> #inclu ...
- node的重点学习笔记(1)————node
node的重点学习笔记(1)----node 提到node就必须提一下他的npm了,npm是世界上最大的开放源代码的生态系统.通俗来说这就如同亚马逊丛林,要啥物种有啥物种,一个巨大的生态圈,里面有一堆 ...
- MySQL(十三)之MySQL事务
前言 这段时间自己会把之前学的东西都总结一遍,希望对自己以后的工作中有帮助.其实现在每天的状态都是很累的,但是我要坚持! 进入我们今天的正题: 为什么MySQL要 有事务呢?事务到底是用来干什么的?我 ...
随机推荐
- SpringAop应用
1. 引言 为什么要使用Aop?贴一下较为官方的术语: 在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方 式和运行期动态代理实现程序功能 ...
- python实现去掉空行
# coding = utf-8def clearBlankLine(): file1 = open('text1.txt', 'r', encoding='utf-8') # 要去掉空行的文件 fi ...
- SpringBoot+SpringMVC+MyBatis快速整合搭建
作为开发人员,大家都知道,SpringBoot是基于Spring4.0设计的,不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程.另外Spr ...
- Python 70行代码实现简单算式计算器
描述:用户输入一系列算式字符串,程序返回计算结果. 要求:不使用eval.exec函数. 实现思路:找到当前字符串优先级最高的表达式,在算术运算中,()优先级最高,则取出算式最底层的(),再进行加减乘 ...
- Python入门基础:七段数码管绘制
1.在学习Python的过程中,运用所学的一些基础知识,进行一些简单的编程,可以收获很多乐趣.在生活中,LED灯无处不在,荧幕显示的广告词,给我们呈现出动态的视觉效果.下面,则以最简单的显示日期为例, ...
- Container容器crontab错误问题
问题描述 容器中的cron定时计划任务不执行 问题分析 排查一:检查Container容器是否安装cron # rpm -qa | grep cron # ls /etc/init.d/ 若没有安装, ...
- Vue2.x-社交网络程序项目的总结
最近几天一直在学习Vue的课程,通过这个项目进行进一步的学习Vue方面的知识.掌握如何使用Vue搭建前端,如何请求Node.js写好的后端接口. 一.实现前后端连载 首先在后端的文件中 vue i ...
- Swift从入门到精通第十五篇 - 类型转换 初识
类型转换(学习笔记) 环境Xcode 11.0 beta4 swift 5.1 类型转换 类型转换是检查实例类型的一种方法,或者检查来自类层级不同的父类或子类一个实例,用 is 和 as 操作符 为类 ...
- LeetCode 把二叉搜索树转换为累加树
第538题 给定一个二叉搜索树(Binary Search Tree),把它转换成为累加树(Greater Tree),使得每个节点的值是原来的节点值加上所有大于它的节点值之和. 例如: 输入: 二叉 ...
- vscode主题安装
安装主题 快捷键Ctrl+Shift+X打开安装插件 搜索Monokai ST3 切换主题 显示效果 安装文件图标 扩展插件vscode-icon 鼠标滚轮设置字体大小 打开setting.json文 ...