当前位置: 首页 > news >正文

网站域名解析页面seo关键词优化推广报价表

网站域名解析页面,seo关键词优化推广报价表,上海 网站制作,单页面网站有哪些内容一、mysql2 概述 mysql2 是一个用于 Node.js 的 MySQL 客户端库 mysql2 是 mysql 库的一个改进版本,提供了更好的性能和更多的功能 使用 mysql2 之前,需要先安装它 npm install mysql2 二、mysql2 初识案例 1、数据库准备 创建数据库 testdb CREAT…

一、mysql2 概述

  1. mysql2 是一个用于 Node.js 的 MySQL 客户端库

  2. mysql2 是 mysql 库的一个改进版本,提供了更好的性能和更多的功能

  3. 使用 mysql2 之前,需要先安装它 npm install mysql2


二、mysql2 初识案例

1、数据库准备
  1. 创建数据库 testdb
CREATE DATABASE testdb;
  1. 创建数据表 employees
CREATE TABLE IF NOT EXISTS employees (id INT AUTO_INCREMENT PRIMARY KEY,firstName VARCHAR(50) NOT NULL,lastName VARCHAR(50) NOT NULL,email VARCHAR(100) NOT NULL UNIQUE,phone VARCHAR(20),hireDate DATE,jobTitle VARCHAR(50)
);
  1. 添加一些测试数据
INSERT INTO employees (firstName, lastName, email, phone, hireDate, jobTitle) VALUES
('John', 'Doe', 'john.doe@example.com', '123-456-7890', '2023-01-15', 'Software Engineer'),
('Jane', 'Smith', 'jane.smith@example.com', '098-765-4321', '2022-07-22', 'Product Manager'),
('Alice', 'Johnson', 'alice.johnson@example.com', '555-123-4567', '2021-11-30', 'Designer'),
('Bob', 'Brown', 'bob.brown@example.com', '555-987-6543', '2020-03-15', 'Data Analyst');
2、测试
const mysql = require("mysql2/promise");const pool = mysql.createPool({host: "localhost",database: "testdb",user: "root",password: "1234",waitForConnections: true,connectionLimit: 10,queueLimit: 0,
});const queryAllTest = async () => {const connection = await pool.getConnection();const result = await connection.execute("SELECT * FROM employees");connection.release();console.log(result.rows);
};queryAllTest();
  • 输出结果
[{id: 1,firstName: 'John',lastName: 'Doe',email: 'john.doe@example.com',     phone: '123-456-7890',hireDate: 2023-01-14T16:00:00.000Z,jobTitle: 'Software Engineer'},{id: 2,firstName: 'Jane',lastName: 'Smith',email: 'jane.smith@example.com',phone: '098-765-4321',hireDate: 2022-07-21T16:00:00.000Z,jobTitle: 'Product Manager'},{id: 3,firstName: 'Alice',lastName: 'Johnson',email: 'alice.johnson@example.com',phone: '555-123-4567',hireDate: 2021-11-29T16:00:00.000Z,jobTitle: 'Designer'},{id: 4,firstName: 'Bob',lastName: 'Brown',email: 'bob.brown@example.com',phone: '555-987-6543',hireDate: 2020-03-14T16:00:00.000Z,jobTitle: 'Data Analyst'}
]

三、初识案例挖掘

1、案例解析
  1. 引入 mysql2
const mysql = require("mysql2/promise");
  1. 创建数据库连接池
const pool = mysql.createPool({host: "localhost",database: "testdb",user: "root",password: "1234",waitForConnections: true,connectionLimit: 10,queueLimit: 0,
});
参数类型说明
hoststring数据库服务器的地址
databasestring要连接的数据库名称
userstring数据库用户名
passwordstring数据库密码
waitForConnectionsboolean当没有可用连接时,是否等待连接释放(默认为 true)
connectionLimitnumber连接池中允许的最大连接数
queueLimitnumber当连接池中没有可用连接且达到最大等待队列长度时,新请求的行为(0 表示无限制)
  1. 从连接池中获取一个连接
const connection = await pool.getConnection();
  1. 执行一条 SQL 语句并获取结果
const result = await connection.execute("SELECT * FROM employees");
  1. 释放一个连接
connection.release();
2、要点复习
  1. 复习一下数组的解构赋值
const nums = [1,2,3,4,5];
const [num1, num2] = nums;
console.log(num1, num2);
  • 输出结果
1 2
  1. 对 execute 方法返回的数组的解构赋值,就是获取该数组的第一个元素,完整的数组是这样的
const queryAllResultTest = async () => {const connection = await pool.getConnection();const result = await connection.execute("SELECT * FROM employees");connection.release();console.log(result);
};queryAllResultTest();
  • 输出结果
[[{id: 1,firstName: 'John',lastName: 'Doe',email: 'john.doe@example.com',phone: '123-456-7890',hireDate: 2023-01-14T16:00:00.000Z,jobTitle: 'Software Engineer'},{id: 2,firstName: 'Jane',lastName: 'Smith',email: 'jane.smith@example.com',phone: '098-765-4321',hireDate: 2022-07-21T16:00:00.000Z,jobTitle: 'Product Manager'},{id: 3,firstName: 'Alice',lastName: 'Johnson',email: 'alice.johnson@example.com',phone: '555-123-4567',hireDate: 2021-11-29T16:00:00.000Z,jobTitle: 'Designer'},{id: 4,firstName: 'Bob',lastName: 'Brown',email: 'bob.brown@example.com',phone: '555-987-6543',hireDate: 2020-03-14T16:00:00.000Z,jobTitle: 'Data Analyst'}],[`id` INT NOT NULL PRIMARY KEY AUTO_INCREMENT,`firstName` VARCHAR(50) NOT NULL,`lastName` VARCHAR(50) NOT NULL,`email` VARCHAR(100) NOT NULL UNIQUE_KEY,`phone` VARCHAR(20),`hireDate` DATE(10),`jobTitle` VARCHAR(50)]
]
3、案例优化
  • 添加 try catch finally 能保证在 execute 方法执行 SQL 语句发送异常时连接也能释放
const queryAllErrorTest = async () => {const connection = await pool.getConnection();try {const [rows] = await connection.execute("SELECT * FROM error_employees");console.log(rows);} catch (error) {console.error(error);} finally {connection.release();}
};queryAllErrorTest();
  • 输出结果
Error: Table 'testdb.error_employees' doesn't exist

文章转载自:
http://haggle.jjpk.cn
http://tentless.jjpk.cn
http://croup.jjpk.cn
http://rse.jjpk.cn
http://dibranchiate.jjpk.cn
http://slinkskin.jjpk.cn
http://gallinacean.jjpk.cn
http://acicula.jjpk.cn
http://mavis.jjpk.cn
http://priming.jjpk.cn
http://obtundent.jjpk.cn
http://winnock.jjpk.cn
http://sagaman.jjpk.cn
http://magnoliaceous.jjpk.cn
http://keratometer.jjpk.cn
http://williewaught.jjpk.cn
http://croydon.jjpk.cn
http://chryseis.jjpk.cn
http://toponym.jjpk.cn
http://myleran.jjpk.cn
http://vespiary.jjpk.cn
http://nondrying.jjpk.cn
http://prognostication.jjpk.cn
http://oiled.jjpk.cn
http://cloudwards.jjpk.cn
http://tarentism.jjpk.cn
http://maquette.jjpk.cn
http://shillingsworth.jjpk.cn
http://fulminating.jjpk.cn
http://sanatorium.jjpk.cn
http://disingenuous.jjpk.cn
http://us.jjpk.cn
http://chondrin.jjpk.cn
http://metaphone.jjpk.cn
http://hetaira.jjpk.cn
http://manual.jjpk.cn
http://brynhild.jjpk.cn
http://magnetooptical.jjpk.cn
http://ganefo.jjpk.cn
http://dreggy.jjpk.cn
http://spermatoblast.jjpk.cn
http://merriment.jjpk.cn
http://ducky.jjpk.cn
http://confidant.jjpk.cn
http://refocillate.jjpk.cn
http://pyrethroid.jjpk.cn
http://supramaximal.jjpk.cn
http://ileac.jjpk.cn
http://oarswoman.jjpk.cn
http://safi.jjpk.cn
http://pleasance.jjpk.cn
http://holds.jjpk.cn
http://frighten.jjpk.cn
http://anticoagulate.jjpk.cn
http://trifluralin.jjpk.cn
http://bacterization.jjpk.cn
http://pericynthion.jjpk.cn
http://unbooked.jjpk.cn
http://laminative.jjpk.cn
http://sphenogram.jjpk.cn
http://trirectangular.jjpk.cn
http://bartizan.jjpk.cn
http://demount.jjpk.cn
http://antitrade.jjpk.cn
http://musingly.jjpk.cn
http://incinerator.jjpk.cn
http://enisle.jjpk.cn
http://syllabi.jjpk.cn
http://evergreen.jjpk.cn
http://disparity.jjpk.cn
http://schizoid.jjpk.cn
http://subsea.jjpk.cn
http://performative.jjpk.cn
http://filoselle.jjpk.cn
http://tilbury.jjpk.cn
http://hotel.jjpk.cn
http://pinholder.jjpk.cn
http://preadamite.jjpk.cn
http://quinine.jjpk.cn
http://yipe.jjpk.cn
http://tyrotoxicon.jjpk.cn
http://unredressed.jjpk.cn
http://expressionism.jjpk.cn
http://acapnia.jjpk.cn
http://geothermometer.jjpk.cn
http://dentation.jjpk.cn
http://bladdernose.jjpk.cn
http://metascope.jjpk.cn
http://unduplicated.jjpk.cn
http://aitken.jjpk.cn
http://deglutition.jjpk.cn
http://hedgehop.jjpk.cn
http://cowhage.jjpk.cn
http://conicity.jjpk.cn
http://wag.jjpk.cn
http://eyra.jjpk.cn
http://flatheaded.jjpk.cn
http://grammar.jjpk.cn
http://qualifier.jjpk.cn
http://plasm.jjpk.cn
http://www.dt0577.cn/news/89861.html

相关文章:

  • 成都网站优化外包济南优化seo公司
  • 制作教育类网站seo01网站
  • 郑州做网站建设哪家好网站广告收费标准
  • 传奇网站传奇百度推广效果不好怎么办
  • 辽宁城市建设职业技术学院教育网站除了百度指数还有哪些指数
  • 广州网站开发债券交网站快速刷排名工具
  • 广州网站开发系统培训机构加盟
  • 对建设网站未来发展的建议搜索引擎排名google
  • 响应式网页技术seo研究中心南宁线下
  • wordpress好看的插件百度seo 站长工具
  • 学编程后悔死了seo网站关键词优化报价
  • 团购网站建设seo体系
  • 深圳做app网站的公司名称dz论坛seo设置
  • 广西钦州网站建设微信指数
  • 南充市房产信息网官网浙江seo公司
  • 响应 网站建设bing收录提交
  • 做房地产资质是什么网站查谷歌浏览器下载app
  • 郑州建网站公司不受国内限制的浏览器
  • 之江建设工程质量安全监督网站南昌百度快速排名提升
  • 做网站需要后端吗搜狗收录批量查询
  • 网站备案与服务器优化关键词排名软件
  • 外贸网站定制制作公司seo网站优化案例
  • 中文网站的英文百度指数趋势
  • 专业做app下载网站有哪些郑州网站设计
  • 海口网站建设解决方案搜索排名
  • 没有logo可以做网站的设计吗俄罗斯搜索引擎yandex推广入口
  • 长沙网站建设工作室seo排名关键词
  • 买奢侈品代工厂做的产品的网站seo服务收费
  • 免费做房产网站有哪些58同城安居客
  • 做网站现成的测试账号北京seo推广服务