数据库 MySQL 语句基本使用

639 阅读5分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第17天,点击查看活动详情

什么是 SQL

SQL (Structured Query Language) 是结构化查询语言,专门用来访问和处理数据库的编程语言。能够让开发以编程的形式,操作数据库里面的数据

  • SQL 是一门数据库编程语言
  • 使用 SQL 语言编写出来的代码,叫 SQL 语句
  • SQL 语言只能在关系型数据库中使用(例如:MySQL、Oracle、SQL Server)。非关系型数据库(例如:MongoDB)不支持 SQL 语言

SQL 的作用

  • 创建新的数据库
  • 在数据库中创建新表
  • 在数据库中创建存储过程
  • 在数据库中对数据进行增、删、改、查
  • 其他

SQL 语句

SQL 语句中的关键字对大小写不敏感。SELECT 等效于 selectFROM 等效于 from。但是对表名称、列名称、字段是敏感的

SQL 的 select 语句 (查)

  • select 语句用于从表中查询数据。执行的结果被存储在一个结果表中(称为结果集)

  • 语法

    • from 指定的表中查询出所有的数据,* 表示所有列

      select * from 表名称
      
    • from 指定的表中,查询出指定 列名称(字段)的数据,查询多列的数据,列与列字段之间使用英文的逗号隔开

      select 列名称 from 表名称
      
  • 示例

    • 通过 * 查询 users 表中所有的数据

      select * from users
      

      Snip20220417_17.png

      • 1、创建 SQL 语句的代码编辑器
      • 2、选择你要查询的数据库
      • 3、输入 SQL 语句
      • 4、执行 SQL 语句
      • 5、显示结果
    • 从 users 表中获取名为 usernamepassword 列的内容

      Snip20220417_19.png

SQL 的 insert into 语句 (增)

  • insert into 语句用于向数据表中插入新的数据行

  • 语法

    向指定的表中,插入几列数据,列的值通过 values 设置,列和值要一一对应,多个列和多个值之间,使用英文的逗号隔开

    insert into table_name (列1,列2, ...) values (值1,值2, ...)
    
  • 示例

    向 users 表中,插入一条 username 为 小白,password 为 abc123 的用户数据

    insert into users (username,password) values ('小白','abc123')
    

    Snip20220417_22.png

SQL 的 update 语句(改)

  • update 语句用于修改表中的数据

  • 语法

    • update 指定要更新哪个表中的数据
    • set 指定列对应的新值
    • where 指定更新的条件(如果忘记提供更新条件,会导致整张标的数据都被更新)
    update 表名称 set 列名称=新值 where 列名称=某值
    
  • 示例

    • 更新某一行中的一个列

      把 users 表中的 id 为 2 的用户密码更新为 888888

      update users set password='888888' where id=2
      

      Snip20220417_23.png

    • 更新某一行中的若干列

      更新 users 表中 id 为 1 的用户,把用户密码更新为 666666 ,同时把用户状态更新为 1

      update users set password='666666',status=1 where id = 1
      

      Snip20220417_24.png

SQL 的 delete 语句(删)

  • delete 语句用于删除表中的行

  • 语法

    从指定表中,根据 where 条件,删除对应的数据行

    delete from 表名称 where 列名称=值
    
  • 示例

    删除 users 表中,删除 id 为 3 的用户

    delete from users where id=3
    

    Snip20220417_25.png

SQL 的 where 语句

  • where 语句用于限定选择的标准。在 selectupdatedelete 语句中,都用 where 来做限定选择标准

  • 语法

    -- 查询语句中的 where 条件
    select 列名称 from 表名称 where 列 运算符 值
    
    -- 更新语句中的 where 条件
    update 表名称 set 列=新值 where 列 运算符 值
    
    -- 删除语句中的 where 条件
    delete from 表名称 where 列 运算符 值
    
  • 可以在 where 语句中使用的运算符

    操作符描述
    =等于
    <> 或 !=不等于
    大于
    <小于
    >=大于等于
    <=小于等于
    between在某个范围内
    like搜索某种模式
  • 示例

    查询 users 表中 id 不等于 3 的用户

    select * from users where id<>3
    

    Snip20220417_26.png

SQL 的 and 和 or 运算符

  • andor 可以在 where 中把俩个或多个条件结合起来

  • 语法

    and 表示必须同时满足多个条件,相当于 JavaScript 中国的 && 运算符

    or 表示只有满足其中一个条件,相当于 JavaScript 中国的 || 运算符

  • 示例

    • 使用 and 来显示所有 status 为 0 且 id 小于 3 的用户

      select * from users where status=0 and id<3
      

      Snip20220418_27.png

    • 使用 or 来显示所有 status 为 1 或者 password 为 111111 的用户

      select * from users where status=1 or password=111111
      

      Snip20220418_28.png

SQL 的 order by 排序

  • order by 语句用于根据指定的列对结果集进行排序。

  • 默认情况,order by 语句按照升序 (asc) 对记录进行排序

  • 如果希望按照降序排序,可以使用 desc 关键字

  • 示例

    • 升序排序

      对 users 表中数据,按照 status 字段进行升序排序

      select * from users order by status asc
      -- 等价
      select * from users order by status 
      

      Snip20220418_29.png

    • 降序排序

      对 users 表中的数据,按照 id 字段进行降序排序

      select * from users order by id desc 
      

      Snip20220418_30.png

    • 多重排序

      对 users 表中的数据,先按照 status 字段进行升序排序,再按照 id 字段进行降序排序

      select * from users order by status asc,  id desc
      

      Snip20220418_31.png

SQL 的 count(*) 函数

  • count(*) 函数用于返回查询结果的总条数

  • 语法

    select count(*) from 表名称
    
  • 示例

    • 查询总条数

      查询 users 表中 status 为 0 的数据的总条数

      select count(*) from users where status=0
      

      Snip20220418_32.png

    • 使用 as 为列设置别名

      希望给查询出来的列名称设置别名,可以使用 as 关键字。上述示例中,查询出的数据列名为 count(*),通过设置将列名更换为 total

      select count(*) as total from users where status=0
      

      Snip20220418_33.png