MySQL的简单语法

一、连接mysql数据库


在这里插入图片描述

  • mysql -uroot -p
    在这里插入图片描述
  • show databases;
    在这里插入图片描述
  • use course;
    在这里插入图片描述

二、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");

在这里插入图片描述

2. delete(删除语句)

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

在这里插入图片描述

  • 注意:一般在删除接口不使用这个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;

在这里插入图片描述
在这里插入图片描述

4. select(查询语句)

  • 语法
select * from 表名;
//查询user表的所有数据
select * from user;//查询对应的字段
select name,pwd from user;

在这里插入图片描述
在这里插入图片描述

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 语句
    在这里插入图片描述

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 表中所有的数据:

在这里插入图片描述

2. 插入数据

  • 向 users 表中新增数据, 其中username 为 Spider-Manpassword 为 pcc321
    在这里插入图片描述

3. 插入数据的便捷方式

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

4. 更新数据

在这里插入图片描述

5. 更新数据的便捷方式

  • 更新表数据时,如果数据对象的每个属性数据表的字段一一对应
    在这里插入图片描述

6. 删除数据

  • 在删除数据时,推荐根据 id 这样的唯一标识,来删除对应的数据。
    在这里插入图片描述

7. 标记删除

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

猜你喜欢

转载自blog.csdn.net/m0_58190023/article/details/129756704