連線mysql資料庫需要安裝支援
npm install mysql
我們需要提前安裝按mysql sever端
建乙個資料庫mydb1
mysql>create database mydb1;然後建一張表user如下mysql>show databases;
+--------------------+
| database |
+--------------------+
| information_schema |
| mysql |
| mydb1 |
| performance_schema |
+--------------------+
4 rows in
set (0.00 sec)
create table user(接下來我們利用nodejs連線mysql資料庫id int not null
primary key auto_increment,
name varchar(
100) not null
, pwd varchar(
100) not null
,create_date timestamp null default now()
)engine=innodb default charset=utf8;
create unique index t_quiz_idx_0 on user(name);
1但是實際每次建立連線都需要一定的開銷,執行效率就會有影響。下面介紹一種連線池連mysql的方法:node-mysqlvar mysql = require('mysql'); //
呼叫mysql模組2//
建立乙個connection
3var connection =mysql.createconnection();
10//
建立乙個connection
11 connection.connect(function
(err)
16 console.log('[connection connect] succeed!');
17});
18//
----插入
19var useraddsql = 'insert into user (name,pwd) values(?,?)';
20var param = ['fff','123'];
21 connection.query(useraddsql,param,function
(err,rs)
26 console.log('insert success');
27});
28//
執行查詢
29 connection.query('select * from user where id=?',[2], function
(err, rs)
34for(var i=0;i)
37});
3839
//關閉connection
40 connection.end(function
(err)
45 console.log('[connection end] succeed!');
46 });
node-mysql是目前最火的node下的mysql驅動,是mysqlpool的乙個模組。
下面的**是提供乙個連線池,getpool函式返回createpool建立的資料庫連線池物件。
1下面的**展示如何使用這個連線池,插入和查詢的使用。需要注意的是conn.release(); //釋放乙個連線放回連線池 需要再操作結束後再執行,否則後面的資料庫操作會報錯。var mysql = require('mysql'); //
呼叫mysql模組
2function
optpool());
1112
this.getpool=function
() 22
}; 23 module.exports = optpool;
1下面介紹乙個複雜一點的增刪查改的資料庫操作,因相互之間有依賴,所以**可讀性就變得特別差。這樣就引出了我們接下來要介紹餓流程控制的內容《nodejs高階(7)—async非同步流程控制》var optpool = require('./models/optpool'); 23
var optpool = new
optpool();
4var pool =optpool.getpool(); 56
//執行sql語句 7//
從連線池中獲取乙個連線
8 pool.getconnection(function
(err,conn)
17 console.log('insert success');
18//
conn.release(); //放回連線池
19})
20//
查詢 21 conn.query('select * from user', function
(err, rs)
26for(var i=0;i)
29 conn.release(); //
放回連線池
30});
31 });
1執行結果var optpool = require('./models/optpool'); 23
var optpool = new
optpool();
4var pool =optpool.getpool(); 56
var insertsql = 'insert into table1(name,pwd) values("conan","123"),("fens.me","456")';
7var selectsql = 'select * from table1 limit 10';
8var deletesql = 'delete from table1';
9var updatesql = 'update table1 set name="conan update" where name="conan"';
1011 pool.getconnection(function
(err,conn)
3233
//update
34 conn.query(updatesql, function
(err3, res3)
47});
48});
49});
50});
51});
52 })
MySQL高階6 連線查詢 sql92標準
高階6 連線查詢 含義 又稱多表查詢,當我們查詢的字段來自於多個表時,就會用到 笛卡爾乘積現象 表1有m行,表2有n行,結果為m n行 發生原因,沒有有效的連線條件 如何避免,新增有效的連線條件 分類 按年代分類 sql92標準 僅僅支援內連線 按功能分類 內連線 等值連線 非等值連線 自連線外連線...
《學習》5連線查詢(高階查詢)
create table t tid int unsigned not null auto increment,tname varchar 30 primary key tid engine myisam auto increment 1 default charset utf8 insert in...
再看資料庫 (6)連線
連線是多表查詢的基礎。因為關聯式資料庫不包括指標或其它關聯記錄與記錄的機制,連線成為了生成跨表資料關係的唯一機制。這也就是要用連線的原因。1 內連線 使用比較運算子比較被連線列的列值。等值 不等 以外運算子 自然 但它使用選擇列表指出查詢結果集合中所包含的列。並刪除連線表中的反覆列。演示樣例 資料庫...