安装
- mysql.js文档 https://github.com/mysqljs/mysql
- $ npm install mysql
- $ yarn add mysql //我使用的是yarn
使用
创建数据库fang
test.js
var mysql = require('mysql');
var connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: '123456'
});
connection.connect();
// 因为utf8在mysql里面有bug 所以要改用utf8mb4
// IF NOT EXISTS 为了防止多次创建 如果不存在才创建
// CREATE TABLE IF NOT EXISTS user CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
connection.query('CREATE DATABASE IF NOT EXISTS fang DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_520_ci;', function (error, results, fields) {
if (error) throw error;
console.log(results);
});
connection.end();
命令行: node test.js
没有报错 但是不知道是什么意思,到底创建成功没有。 我们可以通过命令行去查数据确认一下:
docker exec -it mysql bash ->
mysql -u root -p ->
show databases;
看到fang,那么就是创建成功了
创建表user
test.js
新增:19-31行
var mysql = require('mysql');
var connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: '123456'
});
connection.connect();
// 因为utf8在mysql里面有bug 所以要改用utf8mb4
// IF NOT EXISTS 为了防止多次创建 如果不存在才创建
// CREATE TABLE IF NOT EXISTS user CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
connection.query('CREATE DATABASE IF NOT EXISTS fang DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_520_ci;', function (error, results, fields) {
if (error) throw error;
console.log('创建数据库')
console.log(results);
});
// 创建完成后使用数据库fang
connection.query('use fang')
// 现在已经是使用fang了,所以这个表是在fang里面创建的
connection.query(`CREATE TABLE IF NOT EXISTS user(
name text,
age int
)`, function (error, results, fields) {
if (error) throw error;
console.log('创建表')
console.log(results);
});
connection.end();
修改完成后:运行test.js
总结
现在的话,用nodejs像用命令行去操作数据库一样了。
所以不管你用什么客户端,原理上都是一样的:
就是发送一个sql语句给server,他就会把数据的结果返回给你
检查一下结果。
输入语句之后不要忘了加 ; 分号
describe user 就是描述一下user表,字面意思