基本原生操作

SQL语句对于前端来说,看这个就足够了:

https://www.runoob.com/sql/sql-tutorial.html

安装 mysql 模块

在 node 项目中安装 mysql 模块:npm install mysql —save

mysql 模块基本使用

引入 mysql 模块

  1. const mysql = require('mysql');

链接数据库

  1. // 连接配置
  2. const config = {
  3. host: "localhost",
  4. user: "root",
  5. passward: "admin", // 修改为你的密码
  6. database: "mydatabase", // 请确保数据库存在
  7. }
  8. // 创建连接对象
  9. const conn = mysql.createConnection(config);
  10. // 连接数据库
  11. conn.connect(err => {
  12. if (err) {
  13. throw err;
  14. } else {
  15. console.log("连接成功!")
  16. }
  17. })

创建表

  1. // 创建表
  2. const CREATE_SQL = `CREATE TABLE IF NOT EXISTS test (
  3. id INT NOT NULL AUTO_INCREMENT,
  4. message VARCHAR(45) NULL,
  5. PRIMARY KEY (id))`;
  6. const INSERT_SQL = `INSERT INTO test(message) VALUES(?)`;
  7. const SELECT_SQL = `SELECT * FROM test`;
  8. conn.query(CREATE_SQL, err => {
  9. if (err) {
  10. throw err;
  11. }
  12. // 插入数据
  13. conn.query(INSERT_SQL, "hello,world", (err, result) => {
  14. if (err) {
  15. throw err;
  16. }
  17. console.log(result);
  18. conn.query(SELECT_SQL, (err, results) => {
  19. console.log(JSON.stringify(results));
  20. conn.end(); // 若query语句有嵌套,则end需在此执行
  21. })
  22. });
  23. });

mysql ES7写法

安装 mysql2: npm install mysql2 —save

连接数据库

  1. (async () => {
  2. // 引入 mysql
  3. const mysql = require('mysql2/promise')
  4. // 连接配置
  5. const config = {
  6. host: "localhost",
  7. user: "root",
  8. password: "admin", // 修改为你的密码
  9. database: "test" // 请确保数据库存在
  10. }
  11. // 连接数据库
  12. const connection = await mysql.createConnection(config)
  13. })()

新建表

  1. // sql语句
  2. const CREATE_SQL = `CREATE TABLE IF NOT EXISTS test (
  3. id INT NOT NULL AUTO_INCREMENT,
  4. message VARCHAR(45) NULL,
  5. PRIMARY KEY (id))`;
  6. // 新建表
  7. let ret = await connection.execute(CREATE_SQL);
  8. console.log('create',ret)

插入一条数据

  1. const INSERT_SQL = `INSERT INTO test(message) VALUES(?)`;
  2. const ret = await connection.execute(INSERT_SQL,['hello']);
  3. console.log('insert',ret);

查询数据

  1. const SELECT_SQL = `SELECT * FROM test`;
  2. const [rows,fileds] = await connection.execute(SELECT_SQL);
  3. console.log('select',rows);

修改数据

  1. const UPDATE_SQL=`UPDATE test SET message='hi' WHERE id=1`
  2. await connection.execute(UPDATE_SQL)

上面的语句把 id 为 1 的 message 改为了 hi

删除数据

  1. const DEL_SQL=`DELETE FROM test WHERE message='hello'`;
  2. await connection.execute(DEL_SQL);

上面的语句把所有的 hello 都删除了