Node操作MySql數據庫


 

  MySql數據庫是最常用的數據庫,node也提供了操作mysql數據庫的模塊:mysql。

  安裝mysql模塊:npm install mysql

  

 JavaScript Code 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
 
/* MySql模塊學習
    //創建數據庫
    Create DATABASE MYSQLDATA;

    //表操作
    Create Table MYTABLE (name VARCHAR(20), sex CHAR(1));
    Insert into MYTABLE Values('Michael', 'm');
    Update MYTABLE Set name = 'Michael Jordan' Where sex = 'm';
    Select * From MYTABLE
    Delete from MYTABLE;
    Drop Table MYTABLE;
    
    //刪除數據庫
    Drop DATABASE MYSQLDATA;
 */

// 引入Mysql
var  mysql      = require( 'mysql' );
var  connection = mysql.createConnection({
  host     : 
'localhost' ,
  user     : 
'root' ,
  password : 
'kingview' ,
  database : 
'test'
});
/* MySql數據庫連接參數說明:
參數                  描述
host                    主機地址 (默認:localhost)
user                    用戶名
password                密碼
port                    端口號 (默認:3306)
database                數據庫名
charset                 連接字符集(默認:'UTF8_GENERAL_CI',注意字符集的字母都要大寫)
localAddress            此IP用於TCP連接(可選)
socketPath              連接到unix域路徑,當使用 host 和 port 時會被忽略
timezone                時區(默認:'local')
connectTimeout          連接超時(默認:不限制;單位:毫秒)
stringifyObjects        是否序列化對象
typeCast                是否將列值轉化為本地JavaScript類型值 (默認:true)
queryFormat             自定義query語句格式化方法
supportBigNumbers       數據庫支持bigint或decimal類型列時,需要設此option為true (默認:false)
bigNumberStrings        supportBigNumbers和bigNumberStrings啟用 強制bigint或decimal列以JavaScript字符串類型返回(默認:false)
dateStrings             強制timestamp,datetime,data類型以字符串類型返回,而不是JavaScript Date類型(默認:false)
debug                   開啟調試(默認:false)
multipleStatements      是否許一個query中有多個MySQL語句 (默認:false)
flags                   用於修改連接標志
ssl                     使用ssl參數(與crypto.createCredenitals參數格式一至)或一個包含ssl配置文件名稱的字符串,目前只捆綁Amazon RDS的配置文件
 */


// 執行數據庫連接 
connection.connect();

var  sqlstring =  "" ;
 
// 創建表
sqlstring =  "Create Table MYTABLE (name VARCHAR(20), sex CHAR(1))"
connection.query(sqlstring, 
function  (err, results, fields) {
    
if  (err) {
         console.log(
'[UPDATE ERROR] - ' , err.message);
        
return ;
    }
    console.log(
'--------------------------CREATE----------------------------' );       
    console.log(
'CREATE TABLE:' , results);        
    console.log(
'------------------------------------------------------------\n\n' );  
});

// 插入數據
sqlstring =  "Insert into MYTABLE Values('Michael', 'm')" ;
connection.query(sqlstring, 
function  (err, result) {
    
if (err){
        console.log(
'[INSERT ERROR] - ' , err.message);
        
return ;
    }        
 
   console.log(
'--------------------------INSERT----------------------------' );       
   console.log(
'INSERT ID - ' , result);        
   console.log(
'------------------------------------------------------------\n\n' );  
});

// 更新數據
sqlstring =  "Update MYTABLE Set name = 'Michael Jordan' Where sex = 'm'" ;
connection.query(sqlstring, 
function  (err, result) {
    
if (err){
        console.log(
'[UPDATE ERROR] - ' , err.message);
        
return ;
    }        
    console.log(
'--------------------------UPDATE----------------------------' );
    console.log(
'UPDATE affectedRows - ' , result.affectedRows);
    console.log(
'------------------------------------------------------------\n\n' );  
});

// 查詢數據
sqlstring =  "Select * From MYTABLE" ;
connection.query(sqlstring, 
function  (err, result) {
    
if (err){
        console.log(
'[SELECT ERROR] - ' , err.message);
        
return ;
    }
 
    console.log(
'--------------------------SELECT---------------------------' );
    console.log(
'SELECT - ' , result);
    console.log(
'------------------------------------------------------------\n\n' );   
});

//刪除數據
sqlstring =  "Delete From MYTABLE" ;
connection.query(sqlstring, 
function  (err, result) {
    
if (err){
        console.log(
'[DELETE ERROR] - ' , err.message);
        
return ;
    }        
 
    console.log(
'--------------------------DELETE----------------------------' );
    console.log(
'DELETE affectedRows - ' , result.affectedRows);
    console.log(
'------------------------------------------------------------\n\n' );  
});

//刪除表格
sqlstring =  "Drop Table MYTABLE" ;
connection.query(sqlstring, 
function  (err, result) {
    
if (err){
        console.log(
'[DROP ERROR] - ' , err.message);
        
return ;
    }        
 
    console.log(
'--------------------------DROP-----------------------------' );
    console.log(
'DROP TABLE :' , result.affectedRows);
    console.log(
'------------------------------------------------------------\n\n' );    
});


// 斷開數據庫連接
connection.end();


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM