一、连接mysql数据库


mysql 语法 菜鸟 mysql简单语法_mysql

  • mysql -uroot -p
  • mysql 语法 菜鸟 mysql简单语法_数据_02


  • show databases;
  • mysql 语法 菜鸟 mysql简单语法_数据_03


  • use course;
  • mysql 语法 菜鸟 mysql简单语法_mysql_04


二、sql语句的使用


1. insert into(插入语句)

  • 语法
insert into 表名 (字段1,字段2) value (值1,值2)
  • sql语句
//插入名字,密码,头像进user表
 insert into user (name,pwd,head_img) value ("易只烊","yizhiyang","https://file.xdclass.net/xdclass/2020-11/WechatIMG1137.png");

mysql 语法 菜鸟 mysql简单语法_数据库_05

2. delete(删除语句)

  • 语法
delete from 表名 where id=?
  • sql语句
//删除id=1的user表的row
delete from user where id=1

mysql 语法 菜鸟 mysql简单语法_mysql_06

  • 注意:一般在删除接口不使用这个delete sql语句,而是使用update语句更新一个字段,比如:isdelete

3. update(更新语句)

  • 语法
update 表名 set 字段1='值1',字段2='值2' where id=?
  • sql语句
//更新id=2的名字
update user set name="冰冰" where id=3

//更新id=2的名字和密码
update user set name="冰冰",pwd="111" where id=3;

mysql 语法 菜鸟 mysql简单语法_mysql 语法 菜鸟_07


mysql 语法 菜鸟 mysql简单语法_mysql 语法 菜鸟_08

4. select(查询语句)

  • 语法
select * from 表名;
//查询user表的所有数据
select * from user;

//查询对应的字段
select name,pwd from user;

mysql 语法 菜鸟 mysql简单语法_数据库_09


mysql 语法 菜鸟 mysql简单语法_javascript_10

5. where语法和and、or运算符

//查询id大于3和del等于1的数据     del 是否删除   <  !=
select * from user where id>3 and del=1;   

//查询id大于3或者del等于1的数据
select * from user where id>3 or del=1;

6. 排序 order by

//以id的升序排序 默认就是升序 asc可以不加
select * from user order by id s

//以id的降序排序
select * from user order by id desc

7. 统计count(*)

//查询user表中del字段为0的总条数
select count(*) from user where del=0
             
//通过as给总数设置别名
select count(*) as total from user where del=0

8. 分页limit(查询大量数据时必须要使用的分页查询)

//从索引为i开始查询,查询n条
select * from user limit i,n;

//实现分页                                                     
select * from user limit (i-1)*n,n

三、在项目中操作 MySQL


1. 在项目中操作数据库的步骤

  • 安装操作 MySQL 数据库的第三方模块(mysql
  • 通过 mysql 模块连接到 MySQL 数据库
  • 通过 mysql 模块执行 SQL 语句
  • mysql 语法 菜鸟 mysql简单语法_mysql_11


2. node连接mysql

  • 安装 mysql 模块
npm install mysql
  • 配置 mysql 模块
// 1. 导入 mysql 模块
const mysql = require('mysql')
// 2. 建立与mysql数据库的连接关系
const db = mysql.createPool({
  host: '127.0.0.1',    // 数据库的IP地址
  user: 'root',         // 登录数据库的账号
  password: 'root',     // 登录数据库的密码
  database: 'course',   // 指定要操作哪个数据库
})
  • 测试 mysql 模块能否正常工作
// 1. 导入 mysql 模块
const mysql = require('mysql')
// 2. 建立与mysql数据库的连接关系
const db = mysql.createPool({
  host: '127.0.0.1',    // 数据库的IP地址
  user: 'root',         // 登录数据库的账号
  password: 'root',     // 登录数据库的密码
  database: 'course',   // 指定要操作哪个数据库
})

// 测试mysql模块能否正常工作
db.query('select 1', (err, results) => {
  if(err) return console.log(err.message)
  // [ RowDataPacket { '1': 1 } ]  连接成功
  console.log(results)  
})

四、node中操作mysql


  • 前提条件
// 1. 导入 mysql 模块
const mysql = require('mysql')
// 2. 建立与mysql数据库的连接关系
const db = mysql.createPool({
  host: '127.0.0.1',    // 数据库的IP地址
  user: 'root',         // 登录数据库的账号
  password: 'root',     // 登录数据库的密码
  database: 'course',   // 指定要操作哪个数据库
})

1. 查询数据

  • 查询 users 表中所有的数据:

mysql 语法 菜鸟 mysql简单语法_数据库_12

2. 插入数据

  • 向 users 表中新增数据, 其中username 为 Spider-Manpassword 为 pcc321

3. 插入数据的便捷方式

  • 向表中新增数据时,如果数据对象的每个属性数据表的字段一一对应,则可以通过如下方式快速插入数据:

4. 更新数据

mysql 语法 菜鸟 mysql简单语法_mysql_13

5. 更新数据的便捷方式

  • 更新表数据时,如果数据对象的每个属性数据表的字段一一对应
  • mysql 语法 菜鸟 mysql简单语法_数据库_14


6. 删除数据

  • 在删除数据时,推荐根据 id 这样的唯一标识,来删除对应的数据。

7. 标记删除

  • 使用 DELETE 语句,会把真正的把数据从表中删除掉。为了保险起见,推荐使用标记删除的形式,来模拟删除的动作
  • 所谓的标记删除,就是在表中设置类似于status这样的状态字段,来标记当前这条数据是否被删除。
  • 当用户执行了删除的动作时,我们并没有执行 DELETE 语句把数据删除掉,而是执行了 UPDATE 语句,将这条数据对应的 status 字段标记为删除即可。