NodeJS开发博客(二) 接入数据库
1. mysql 数据库下载网址:https://dev.mysql.com/downloads/mysql/
账号是 root 密码是 a1************
网站账号是邮箱,密码是 Aa1********
2 mysql workbench。操作mysql的客户端,可视化操作。 下载地址是
https://dev.mysql.com/downloads/workbench


右击Tables-->createTable 创建表




alert table是继续编辑表; drop table是删除表
相关命令:
use myblog;
-- show tables; 注释
-- 增加内容
insert into users(username,`password`,realname) values('zhangsan','','张三');
-- password 是关键字 所以包起来
insert into users(username,`password`,realname) values('lisi','','李四');
-- 查询内容
select * from users;
select id,username from users;
select * from users where username='zhangsan';
select * from users where username='zhangsan' and password='';
select * from users where username='zhangsan' or password='';
-- 模糊查询
select * from users where username like '%zhang%';
-- 排序(查找password中包含1的数据,并且根据id排序,默认正顺序,desc是倒顺序)
select * from users where password like'%1%' order by id desc;
--
use myblog;
-- 直接执行update会报错,安全问题,所以先执行下面的命令
SET SQL_SAFE_UPDATES = 0;
update users set realname='李四2' where username='lisi';
select * from users; -- 删除
delete from users where username='lisi';
select * from users;
insert into users(username,`password`,realname) values('lisi','','李四');
select * from users;
-- 执行上述命令之后,可以发现 李四的id已经变成3了,因为之前id=2的时候已经被使用过了
-- 但一般用update去更新表格,新增 state,默认为1;
-- 1表示有效,0表示该行无效
select * from users;
select * from users where state='';
-- 一般不会用delete去删除一行,这样的话这一行就会空出来,用update,且软删除的好处是,可以恢复
update users set state='' where username='lisi';
select * from users where state='';
-- 查询 不等于0
select * from users where state <> '';
这里为了练习使用delete,所以采用 delete方法,故删掉state这一行:

中的 delete Selected;
附: select version(); 查看sql版本;
--------------------------
使用代码连接mysql数据库。
切换源:
安装nrm npm install -g nrm
出现permission denied的,自觉加sudo吧。sudo npm install -g nrm
然后切换到 taobao源。安装mysql: npm i mysql -S
const mysql = require('mysql');
//创建链接对象
const con = mysql.createConnection({
host:'localhost',
user:'root',
password:'a1*********',
prot:'3306',
database:'myblog'
})
//开始连接
con.connect();
//执行 sql 语句
const sql = 'select * from users;'
//const sql = `update users set realname='李四2' where username='lisi';`
con.query(sql,(err,result)=>{
if(err){
console.error(err);
return;
}
console.log(result);
})
//关闭连接
con.end();
NodeJS开发博客(二) 接入数据库的更多相关文章
- NodeJS开发博客(三) 数据的保存
什么是cookie 存储在浏览器的一段字符串(最大5k) 跨域不共享 格式如 k1=v1 k2=v2 因此可以存储结构化数据 每次发送http请求,会将请求域的cookie一起发送给server se ...
- NodeJS 开发博客(四) 日志及安全攻击
node 操作文件: const fs = require('fs'); const path = require('path'); const filename = path.resolve(__d ...
- NodeJS开发博客(一)
1 区分 ECMAScript/JS/NodeJs --ECMAScript.定义了语法,写JS和NodeJS都要遵守: 变量定义,循环/判断/函数: 原型和原形链/作用域和闭包/异步 不能操作DOM ...
- 基于 abp vNext 和 .NET Core 开发博客项目 - 接入GitHub,用JWT保护你的API
上一篇文章(https://www.cnblogs.com/meowv/p/12924859.html)再次把Swagger的使用进行了讲解,完成了对Swagger的分组.描述和开启小绿锁以进行身份的 ...
- NodeJS 开发博客(五) 使用express脚手架
1 安装脚手架 npm i express-generator -g 2 使用 express 命令 生成 项目 express-test express express-test 3. npm ...
- 基于 abp vNext 和 .NET Core 开发博客项目 - 博客接口实战篇(二)
系列文章 基于 abp vNext 和 .NET Core 开发博客项目 - 使用 abp cli 搭建项目 基于 abp vNext 和 .NET Core 开发博客项目 - 给项目瘦身,让它跑起来 ...
- 基于 abp vNext 和 .NET Core 开发博客项目 - Blazor 实战系列(二)
系列文章 基于 abp vNext 和 .NET Core 开发博客项目 - 使用 abp cli 搭建项目 基于 abp vNext 和 .NET Core 开发博客项目 - 给项目瘦身,让它跑起来 ...
- 基于 abp vNext 和 .NET Core 开发博客项目 - 博客接口实战篇(一)
系列文章 基于 abp vNext 和 .NET Core 开发博客项目 - 使用 abp cli 搭建项目 基于 abp vNext 和 .NET Core 开发博客项目 - 给项目瘦身,让它跑起来 ...
- 基于 abp vNext 和 .NET Core 开发博客项目 - 博客接口实战篇(三)
系列文章 基于 abp vNext 和 .NET Core 开发博客项目 - 使用 abp cli 搭建项目 基于 abp vNext 和 .NET Core 开发博客项目 - 给项目瘦身,让它跑起来 ...
随机推荐
- String类的构造函数,析构函数、拷贝构造函数和赋值函数
(1)构造函数 String::String(const char *str) { if(str==NULL) { m_data = new char[1]; *m_data = ‘\0’; } el ...
- springboot备份mysql后发送邮件并删除备份文件,支持win和Linux
首先加入springboot的邮箱依赖 <!--邮箱依赖--> <!-- https://mvnrepository.com/artifact/org.springframework ...
- python字符串/列表/元组/字典之间的相互转换(5)
一.字符串str与列表list 1.字符串转列表 字符串转为列表list,可以使用str.split()方法,split方法是在字符串中对指定字符进行切片,并返回一个列表,示例代码如下: # !usr ...
- Jenkins+maven+gitlab自动化部署之Jenkins部署(三)
本章开始正式搭建Jenkins: 公司现在使用的jenkins版本是2.150.3,但是本次实验安装的版本我们选择最新的 2.164.3(当然,当你阅读这篇文章时,此版本已经不是最新),jenkins ...
- Struts笔记3
struts标签 form表单标签 Action:请求地址.直接写动作名称,不用写contextPath <s:form action="/user/register.action&q ...
- 数据库基础理解学习-Mysql
1. 简介 数据库,现代化的数据存储存储手段,是一种特殊的文件,其中存储着需要的数据. 特点: 持久化存储 读写速度极高 保证数据的有效性 对程序支持性非常好,容易扩展 2. Mysql (1)具有数 ...
- linux 下搭建go开发环境
- Java 8 新特性--Lambda表达式作为方法参数
Lambda表达式的使用场景: 当方法的参数是一个函数式接口时,可以使用Lambda表达式进行简化—— 首先,前提是Runnable接口是一个函数式接口,经过查看源码得知,确实如此: 将Runnabl ...
- react组件懒加载
组件懒加载方式-:react新增的lazy const Alert = lazy(() => import('./components/alert')); export default func ...
- 启动 docker 容器时报错
错误信息: iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 9300 -j DNAT --to-dest ...