• NodeJS初探之二——与Mysql的交互


    引言: 继前面的NodeJS的Hello,World!我们还可以看到其他强大之处,NodeJS现在社区的火热,以及大批工程师对它的支持之下,现在已经陆续的引出了大量的module出来了。


    内容: 下面这个所演示的是NodeJS与Mysql 的交互。

    这时需要为NodeJS加入Mysql 的Module了,这时前一章说到的npm(Node package manager)启到作用了。


        把Mysql Module装到NodeJS中

    Js代码  收藏代码
    1. $npm install Mysql   

     

      JS脚本 mysqlTest.js

    Js代码  收藏代码
    1. // mysqlTest.js  
    2. //加载mysql Module  
    3. var Client = require('mysql').Client,  
    4.     client = new Client(),  
    5.     
    6.   //要创建的数据库名  
    7.     TEST_DATABASE = 'nodejs_mysql_test',  
    8.     //要创建的表名  
    9.     TEST_TABLE = 'test';  
    10.   
    11. //用户名  
    12. client.user = 'root';  
    13. //密码  
    14. client.password = 'root';  
    15. //创建连接  
    16. client.connect();  
    17.   
    18. client.query('CREATE DATABASE '+TEST_DATABASE, function(err) {  
    19.   if (err && err.number != Client.ERROR_DB_CREATE_EXISTS) {  
    20.     throw err;  
    21.   }  
    22. });  
    23.   
    24. // If no callback is provided, any errors will be emitted as `'error'`  
    25. // events by the client  
    26. client.query('USE '+TEST_DATABASE);  
    27. client.query(  
    28.   'CREATE TABLE '+TEST_TABLE+  
    29.   '(id INT(11) AUTO_INCREMENT, '+  
    30.   'title VARCHAR(255), '+  
    31.   'text TEXT, '+  
    32.   'created DATETIME, '+  
    33.   'PRIMARY KEY (id))'  
    34. );  
    35.   
    36. client.query(  
    37.   'INSERT INTO '+TEST_TABLE+' '+  
    38.   'SET title = ?, text = ?, created = ?',  
    39.   ['super cool''this is a nice text''2010-08-16 10:00:23']  
    40. );  
    41.   
    42. var query = client.query(  
    43.   'INSERT INTO '+TEST_TABLE+' '+  
    44.   'SET title = ?, text = ?, created = ?',  
    45.   ['another entry''because 2 entries make a better test''2010-08-16 12:42:15']  
    46. );  
    47.   
    48. client.query(  
    49.   'SELECT * FROM '+TEST_TABLE,  
    50.   function selectCb(err, results, fields) {  
    51.     if (err) {  
    52.       throw err;  
    53.     }  
    54.   
    55.     console.log(results);  
    56.     console.log(fields);  
    57.     client.end();  
    58.   }  
    59. );  

     

      执行脚本

    Js代码  收藏代码
    1. root@sammor-desktop:/var/iapps/nodejs/work# node mysqlTest.js   

     

        这时,Mysql数据库结果 显示:

        


  • 相关阅读:
    laydate 时间框弹窗点击弹出后立马消失的问题解决
    万字长文:ELK(V7)部署与架构分析
    人声消除的原理算法源码及方案实现
    主动降噪技术(ANC)的前生今世–行业分析
    主动降噪技术(ANC)的前生今世--原理仿真
    主动降噪技术(ANC)的前生今世--概念历史
    音频人生
    解决 Flask-sqlalchemy 中文乱码
    使用 key 登录时分开记录操作历史记录
    OpenSSH 使用技巧
  • 原文地址:https://www.cnblogs.com/liangle/p/2512642.html
Copyright © 2020-2023  润新知