npm install mysql
var client = require('mysql').createClient({'host':'localhost','port':3306,'user':'root','password':'root'}); TEST_DATABASE = 'nodejs_mysql_test', TEST_TABLE = 'test'; client.query('CREATE DATABASE '+TEST_DATABASE, function(err) { if (err && err.number != Client.ERROR_DB_CREATE_EXISTS) { throw err; } }); // If no callback is provided, any errors will be emitted as `'error'` // events by the client client.query('USE '+TEST_DATABASE); client.query( 'CREATE TABLE '+TEST_TABLE+ '(id INT(11) AUTO_INCREMENT, '+ 'title VARCHAR(255), '+ 'text TEXT, '+ 'created DATETIME, '+ 'PRIMARY KEY (id))' ); client.query( 'INSERT INTO '+TEST_TABLE+' '+ 'SET title = ?, text = ?, created = ?', ['super cool', 'this is a nice text', '2010-08-16 10:00:23'] ); var query = client.query( 'INSERT INTO '+TEST_TABLE+' '+ 'SET title = ?, text = ?, created = ?', ['another entry', 'because 2 entries make a better test', '2010-08-16 12:42:15'] ); client.query( 'SELECT * FROM '+TEST_TABLE, function selectCb(err, results, fields) { if (err) { throw err; } console.log(results); console.log(fields); client.end(); } );
结果:
[ { id: 1, title: 'super cool', text: 'this is a nice text', created: Mon, 16 Aug 2010 02:00:23 GMT }, { id: 2, title: 'another entry', text: 'because 2 entries make a better test', created: Mon, 16 Aug 2010 04:42:15 GMT } ] { id: { length: 51, received: 51, number: 2, type: 4, catalog: 'def', db: 'nodejs_mysql_test', table: 'test', originalTable: 'test', name: 'id', originalName: 'id', charsetNumber: 63, fieldLength: 11, fieldType: 3, flags: 16899, decimals: 0 }, title: { length: 57, received: 57, number: 3, type: 4, catalog: 'def', db: 'nodejs_mysql_test', table: 'test', originalTable: 'test', name: 'title', originalName: 'title', charsetNumber: 192, fieldLength: 765, fieldType: 253, flags: 0, decimals: 0 }, text: { length: 55, received: 55, number: 4, type: 4, catalog: 'def', db: 'nodejs_mysql_test', table: 'test', originalTable: 'test', name: 'text', originalName: 'text', charsetNumber: 192, fieldLength: 196605, fieldType: 252, flags: 16, decimals: 0 }, created: { length: 61, received: 61, number: 5, type: 4, catalog: 'def', db: 'nodejs_mysql_test', table: 'test', originalTable: 'test', name: 'created', originalName: 'created', charsetNumber: 63, fieldLength: 19, fieldType: 12, flags: 128, decimals: 0 } }