npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

node-mysql78

v2.0.4

Published

node-mysql78

Downloads

8

Readme

node-mysql78

  • 十八年ERP开发经验 十年云开发经验 十五年股票期货投资经验 十年投资分析平台开发经验
  • 18 years ERP development experience + 10 years cloud development experience +15 years stock futures investment experience + 10 years investment analysis platform development experience
  • 技术不高 了解业务 擅长解决生产经营实际问题
  • Good understanding of business and solid knowledge on Solving practical problems
  • 逐步把多年开发优化 并且在一直稳定运行中的项目开源
  • Step by Step Open Sources of steady running projects and consistently optimize them.
  • 合作 商务 问题 讨论 欢迎联系email:[email protected] qq群:323397913
  • Welcome to contact my email : [email protected] or join QQ group : 323397913 for further discuss and cooperations
  • 完整框架 开源改造中 未完成...
  • The open source transformation of the total framework has not yet been completed.

框架特色 Frame features

  • 稳定:运行数年 二台单核1G机器搞定数千并发
  • Stable: running for several years on two 1 core CPU 1G memory machines with thousands of concurrency
  • 开发快:几行代码搞定增删查改 线程池
  • Fast development:with just a few lines code,you can add, delete, check and change the thread pool
  • 效率高:有完善的低代码前后端框架 在框架下开发 1后端可轻松配合4前端以上
  • High efficiency: Perfect low code front and back end framework developed under the framework 1 back end can easily match 4 front end above
  • 易扩展:业务表与数据表对应 一个目录就是一套小功能 一个文件就是一个数据表
  • Easy to expand: business table is corresponding with data table , a directory is a set of small functions , a file is a data table
  • 适应强:同时运行在阿里云和腾迅云
  • Strong adaptability: running on Ali cloud and Tecent cloud.
  • 易调试:可设置追踪某几个用户或某表或某目录的所有调用
  • Easy to debug: can be set up to trace a few users or a table or a directory of all calls
  • 易学习:十行代码搞定 想装不会都难
  • Easy to learn: ten lines of code can be done.
  • 易运维:有完善的api调用计数和耗时统计 还有出错微信报警机制
  • Easy operation and maintenance: perfect API call count and time consuming statistics, also  alarm mechanism on wechat
  • 更新快:主要运营中的项目 如有bug或新功能 必然及时更新
  • Update quickly: as its main operation projects, will update in time If there is a new bug or new function
  • 易重构:一个目录一个小系统 一个版本一个路径 新旧api可长期共存 边开车边换胎
  • Easy to refactor: one directory --one system, one path --one version -- old and new APIs can coexist for a long time. you can Changing tires while driving.
  • SAAS:同表不同权 完善权限控制 用户只能查询到自己或自己帐套的资料
  • SAAS:Users with different rights in the same table can only query their own data or their own account sets.

安装 install

npm i node-mysql78

使用 use for testing, you can see ./test/test.js.

初始化 init

import Mysql from "node-mysql78";
let  config={host:"127.0.0.1",password:"test",database:"testdb"}
let mysql78 = new Mysql78(config);

create test table

CREATE TABLE `test` (
  `cid` varchar(36) NOT NULL,
  `kind` varchar(100) NOT NULL,
  `item` varchar(200) NOT NULL,
  `data` varchar(500) NOT NULL,
  `upby` varchar(50) NOT NULL,
  `uptime` datetime NOT NULL,
  `idpk` int(11) NOT NULL AUTO_INCREMENT,
  `id` varchar(36) NOT NULL,
  PRIMARY KEY (`idpk`),
  UNIQUE KEY `ix_id` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

add

let up = new UpInfo().getGuest();//Simulated guest upload
       
let sb = "insert into test(cid,kind,item,data,upby,uptime,id)SELECT ?,?,?,?,?,?,?"
let insertId=await mysql78.doMAdd(sb, ["cidval", "kindval", "itemval"
    , "dataval",   up.uname, up.utime, up.mid],up) 

select

let up = new UpInfo().getGuest();//Simulated user upload
   
let sb = "select * from test where id=?" 
let tb=await mysql78.doGet(sb, ["id"],up)

update

let up = new UpInfo().getGuest();//Simulated user upload
   
let sb = "update test set data=? where idpk=?"
let tmp=await mysql78.doM(sb, [up.mid,1], up)

The SQL transaction

let up = new UpInfo().getGuest();//Simulated user upload
let cmds = ["update test set data=? where idpk=?"
    , "update test set item=? where idpk=?"
]
let values = [[up.getNewid(), "1"]
    , [up.getNewid(), "2"]]
let errtexts = ["If the first command goes wrong, what do we want to see."
    , "What do we want to see if the second command fails."]
let logtext = "What do we want to write in the past journal. Just like a normal call's  cmdText.  "
let logvalues = ["Just like a normal call's  val1", "Just like a normal call's  val2"]

let tmp=await mysql78.doT(cmds, values, errtexts, logtext, logvalues, up)
//tmp="ok" or errtext

create system table

let up = new UpInfo().getGuest();//Simulated user upload
mysql78.creatTb(up ) 

Get a MySQL connection and do whatever you want and release the connection.

let con=await mysql78.getConnection( ) ;
//do something
await mysql78.releaseConnection(con);

Adding log information

 let up = new UpInfo().getGuest();//Simulated user upload
mysql78.isLog = true;
let back=await mysql78._addWarn("info info ", "kind", up) ;
//We can query the log by kind or apisys or apiobj or upid or upby...

框架简要说明

后端服务 后端代码示例 前端代码示例


以下为非必需内容

+read more...