《mysql视频2》语句类型,单表查询

本文详细介绍了SQL中的数据操纵语言(DML),包括SELECT、INSERT、UPDATE和DELETE语句,用于查询和修改数据库中的数据。同时讲解了AS别名、四则运算、CONCAT函数、DISTINCT、ORDER BY、WHERE条件过滤、BETWEEN、ISNULL和LIKE等高级查询技巧,为数据库操作提供了全面的指导。
摘要由CSDN通过智能技术生成

语句类型

DDL数据定义语言
创建、删除数据库和表等对象

  • CREATE 创建数据库和表等对象
  • DROP 删除数据库和表等对象
  • ALTER 修改数据库和表等对象的结构

DML数据操纵语言:
查询、变更表中的记录:

  • SELECT 查询表中数据
  • INSERT 插入新数据
  • UPDATE 更新表中数据
  • DELETE 删除表中数据

DCL数据控制语言:
确认、取消对数据库中数据的更改

  • COMMIT 将SQL语句的执行结果写入数据库表中
  • ROLLBACK 撤销SQL语句的执行结果

重点是DML数据操纵语言。

单表查询

从一个数据表中,查询出一列或多列数据:

  • SELECT [列名] FROM [表名];
  • SELECT [列名1],[列名2],[列名3] FROM [表名];
  • SELECT * FROM [表名];

可以使用[表名].[列名]的方式代替列名,比较方便。


  • AS 别名设置:
    SELECT [列名1],[列名2] AS [别名],[列名3] AS [别名]… FROM [表名];

  • 常数添加:
    SELECT ‘常数’ AS [别名] FROM [表名];

  • 四则运算:
    SELECT [四则运算表达式] FROM [表名];

sale_price - in_price AS profit
  • CONCAT 字符拼接:
    SELECT CONCAT([列名1],[列名2],…) FROM [表名];
    不仅可以拼接列,还可以拼接文本。

  • CONCAT_WS 指定拼接符:
    SELECT CONCAT_WS(‘拼接符’,[列名1],[列名2],…) FROM [表名];
    多字段拼接,字段间使用同样的拼接符
    会自动跳过NULL

  • DISTINCT 取出不重复的列值:
    SELECT DISTINCT[列名] FROM [表名];

  • ORDER BY 结果排序:(非必须语句)
    应该写在查询语句的最末尾,列名可以用索引代替;
    ORDER BY [列名1],[列名2],…;

    在列名后面加上关键字ASC 或者 DESC 可以指定排序方式

    DESC只对紧跟着的关键字起作用

    如果要被指定为排序的列是文本类型,需要使用 CONVERT([列名] USING gbk)语句。

SELECT * FROM [表名] ORDER BY CONVERT([列名] USING gbk);

  • WHERE 数据过滤
    SELECT [列名] FROM [表名] WHERE [条件];

  • IFNULL 函数,如果是空值,则替换成一个值
    IFNULL([列名],替换值)
    SELECT [列名] FROM [表名] WHERE IFNULL([列名],0) != 15 ;

  • BETWEENAND…选出两个值之间的行,包含两端
    WHERE [列] BETWEEN [前端值] AND [后端值] ;

  • IS NULL 空值过滤
    WHERE [列] IS NULL;

  • IS NOT NULL 过滤非空值
    WHERE [列] IS NOT NULL;


  • LIKE 模糊查询
    • 通配符 _ ,一个代表一个字符
      知道字符位置数目
      WHERE [列] LIKE ‘…_…’;

    • 通配符 %
      知道字符位置,不知道数目,%可以代表任意个
      WHERE [列] LIKE ‘…%…’;

以通配符开头,查询效率比较低
转义字符为\

过滤条件可以有多个,用ANDOR连接,可以加括号防止优先级混淆
WHERE [条件1] AND [条件2] OR [条件3]…;

  • IN 明确而不连续的取值
    WHERE [字段] IN (值1, 值2, …);

  • NOT 否定条件
    WHERE NOT [条件1];
    只否定紧跟着的条件
    SELECT * FROM milk_tea WHERE NOT prod_name IN (‘奶茶’,‘薯片’); 表示除了奶茶和薯片

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值