安装

test.js

  1. var mysql = require('mysql');
  2. var connection = mysql.createConnection({
  3. host: 'localhost',
  4. user: 'root',
  5. password: '123456'
  6. });
  7. connection.connect();
  8. // 因为utf8在mysql里面有bug 所以要改用utf8mb4
  9. // IF NOT EXISTS 为了防止多次创建 如果不存在才创建
  10. // CREATE TABLE IF NOT EXISTS user CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
  11. connection.query('CREATE DATABASE IF NOT EXISTS fang DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_520_ci;', function (error, results, fields) {
  12. if (error) throw error;
  13. console.log(results);
  14. });
  15. connection.end();

命令行: node test.js
image.png
没有报错 但是不知道是什么意思,到底创建成功没有。 我们可以通过命令行去查数据确认一下:
docker exec -it mysql bash ->
mysql -u root -p ->
show databases;
image.png
看到fang,那么就是创建成功了

创建表user

test.js
新增:19-31行

  1. var mysql = require('mysql');
  2. var connection = mysql.createConnection({
  3. host: 'localhost',
  4. user: 'root',
  5. password: '123456'
  6. });
  7. connection.connect();
  8. // 因为utf8在mysql里面有bug 所以要改用utf8mb4
  9. // IF NOT EXISTS 为了防止多次创建 如果不存在才创建
  10. // CREATE TABLE IF NOT EXISTS user CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
  11. connection.query('CREATE DATABASE IF NOT EXISTS fang DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_520_ci;', function (error, results, fields) {
  12. if (error) throw error;
  13. console.log('创建数据库')
  14. console.log(results);
  15. });
  16. // 创建完成后使用数据库fang
  17. connection.query('use fang')
  18. // 现在已经是使用fang了,所以这个表是在fang里面创建的
  19. connection.query(`CREATE TABLE IF NOT EXISTS user(
  20. name text,
  21. age int
  22. )`, function (error, results, fields) {
  23. if (error) throw error;
  24. console.log('创建表')
  25. console.log(results);
  26. });
  27. connection.end();

修改完成后:运行test.js
image.png

总结

现在的话,用nodejs像用命令行去操作数据库一样了。
所以不管你用什么客户端,原理上都是一样的:
就是发送一个sql语句给server,他就会把数据的结果返回给你

检查一下结果。
输入语句之后不要忘了加 ; 分号
image.png
image.png
describe user 就是描述一下user表,字面意思