MySQL|青训营笔记

70 阅读2分钟

这是我参与「第四届青训营 」笔记创作活动的的第9天

理解

  1. 数据库就是组织,存储,管理的仓库
  2. MySQL Oracle SQL Server(关系型数据库或SQL数据库)
  3. Mongodb(非关系型数据库或NOSQL数据库)
  4. 数据库->数据表->数据行->字段
  5. MySQL是数据库,SQL是一个用来操作数据库的编程语言

SQL

1.查询

-- 这是注释符号
--关键字是大小写不敏感的
SELECT * FROM 表名称 --查询所有列数据
SELECT 列名称 FROM 表名称  --查询指定列数据

2.插入

INSERT INTO table_name(列1,列2,...)VALUE(值1,值2,...)
insert users (usename,password) value('tom','411123')
  1. 修改
UPDATA 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
update users set password='88888',status=1 where id=4
  1. 删除
DEKETE FROM users WHERE 列名称=delete FROM users where id=4;

5.WHERE子句

  1. select 列名称 from 表名称 where 列 运算符 值;
  2. delete FROM 表名称 where 列 运算符 值;
  3. update 表名称 set password='88888',status=1 where 列 运算符 值
  4. 运算符类型

image.png

  1. AND和OR可以在WHERE子句中将条件复合起来 6.ORDER BY子句
  • select * from users oeder by status (ASC)按照status进行升序排序
  • select * from users oeder by id DESC按照id进行降序排序
  • select * from users oeder by status DESC,username ASC多重排序 7.COUNT(*)
  • select count( * ) from 表名称返回查询结果的总数据条数
  • select count(*) from users where status=0返回status=0的个数
  1. AS给列设置别名
  • select count(*) AS total from users where status=0
  • 在下面显示即是别名显示
  1. 如何在项目中操作数据库

    1. 安装MySQL数据库的第三方模块mysql
    2. 通过mysql连接到MySQL数据库
    const mysql=require('mysql')
    const db=mysql.createPool({
        host:'127.0.0.1',
        user:'root',
        password:'admin123',
        database:'my_db_01'
    })
    
    db.query('SELECT',(err,results)=>{
        if(err)return console.log(err.message)
        console.log(result)
    }) //测试mysql是否能正常工作
    

    3. 通过mysql模块执行SQL语句
    1.基本格式
    db.query("select * form users",(err,result)=>{ if(err)console.log(err); console.log(result)//result是一个对象数组 }) 2.插入数据 ``` const user={username:'Spider-Man',password:'pcc123'}

    const sqlStr='insert into users (usename,password) value (?,?)' //?为占位符,后面参数自动插入 db.query(sqlStr,[user.username,user.password],(err,result)=>{ if(err)console.log(err); if(result.affectedRows===1){ console.log("插入数据成功") } }) ``` 简便方式

    ![image.png](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/3220704cc6b143a48d2825721a4a2bf3~tplv-k3u1fbpfcp-watermark.image?)
     3.更新数据
     
    ![image.png](https://p9-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/72f2c06ce59b481a81883b8e45f25bb9~tplv-k3u1fbpfcp-watermark.image?)
     简便方式
     
    ![image.png](https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/7cf4f75664704feab42471b5b1bbb2c1~tplv-k3u1fbpfcp-watermark.image?)
    4.删除数据
     
    ![image.png](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/ae4d19b3a2ee4cfe8b57f8d9e12c03e7~tplv-k3u1fbpfcp-watermark.image?)
    一般来说不要直接删除,而是采用标记删除,就是更新status状态来标记是否删除
    ![image.png](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/b7fac73e1c22419da75ad34751821470~tplv-k3u1fbpfcp-watermark.image?)
    4.本质就是通过mysql来在vscode上运行SQL语句