当前位置: 首页 > news >正文

MySQL基础操作(2)

目录

1. CONCAT()

2. =

3. != 或 <>

4. IS NULL

5. IS NOT NULL

6. BETWEEN ... AND ...

7. LIKE

8. ORDER BY

9. LIMIT

10. LENGTH()

11. SUBSTR()

12. UPPER()

13. LOWER()

14. CONCAT_WS()

15. REPLACE()

16. INSTR()

17. TRIM()

18. IFNULL()

19. SYSDATE()

20. FLOOR()

21. CEIL()

22. ROUND()

23. ABS()

24. LOG()

25. JOIN

26. HAVING


1. CONCAT()

  • 作用:将多个字符串连接成一个字符串。

  • 语法CONCAT(str1, str2, ...)

  • 示例

    SELECT CONCAT('Hello', ' ', 'World') AS result;
    -- 输出:Hello World
  • 拓展

    • CONCAT() 可以连接多个字段,常用于生成组合字段。

    • 如果其中一个参数为 NULL,结果将为 NULL

    • 示例:

      SELECT CONCAT(first_name, ' ', last_name) AS full_name FROM users;

2. =

  • 作用:用于比较两个值是否相等。

  • 语法column = value

  • 示例

    SELECT * FROM users WHERE age = 25;
  • 拓展

    • = 也可以用于比较字符串、日期等类型。

    • 示例:

      SELECT * FROM users WHERE created_at = '2023-10-01';

3. != 或 <>

  • 作用:用于比较两个值是否不相等。

  • 语法column != value 或 column <> value

  • 示例

    SELECT * FROM users WHERE age != 25;
  • 拓展

    • != 和 <> 是等价的,选择其中一个即可。

    • 示例:

      SELECT * FROM users WHERE email <> 'admin@example.com';

4. IS NULL

  • 作用:检查某个字段是否为 NULL

  • 语法column IS NULL

  • 示例

    SELECT * FROM users WHERE email IS NULL;
  • 拓展

    • IS NULL 不能用 = 代替,因为 NULL 不等于任何值。

    • 示例:

      SELECT * FROM users WHERE phone IS NULL;

5. IS NOT NULL

  • 作用:检查某个字段是否不为 NULL

  • 语法column IS NOT NULL

  • 示例

    SELECT * FROM users WHERE email IS NOT NULL;
  • 拓展

    • 常用于过滤非空数据。

    • 示例:

      SELECT * FROM users WHERE phone IS NOT NULL;

6. BETWEEN ... AND ...

  • 作用:检查某个值是否在指定的范围内。

  • 语法column BETWEEN value1 AND value2

  • 示例

    SELECT * FROM users WHERE age BETWEEN 20 AND 30;
  • 拓展

    • BETWEEN 包含边界值。

    • 示例:

      SELECT * FROM orders WHERE order_date BETWEEN '2023-01-01' AND '2023-12-31';

7. LIKE

  • 作用:用于模糊匹配字符串。

  • 语法column LIKE pattern

  • 示例

    SELECT * FROM users WHERE name LIKE 'J%';
  • 拓展

    • % 表示任意字符序列,_ 表示单个字符。

    • 示例:

      SELECT * FROM users WHERE name LIKE 'J_n';

8. ORDER BY

  • 作用:对查询结果进行排序。

  • 语法ORDER BY column ASC|DESC

  • 示例

    SELECT * FROM users ORDER BY age DESC;
  • 拓展

    • 可以按多个字段排序。

    • 示例:

      SELECT * FROM users ORDER BY age DESC, name ASC;

9. LIMIT

  • 作用:限制查询结果的行数。

  • 语法LIMIT n 或 LIMIT offset, n

  • 示例

    SELECT * FROM users LIMIT 10;
  • 拓展

    • LIMIT 常用于分页查询。

    • 示例:

      SELECT * FROM users LIMIT 10 OFFSET 20;

10. LENGTH()

  • 作用:返回字符串的长度。

  • 语法LENGTH(str)

  • 示例

    SELECT LENGTH('Hello World') AS length;
    -- 输出:11
  • 拓展

    • 常用于统计字符串长度。

    • 示例:

      SELECT name, LENGTH(name) AS name_length FROM users;

11. SUBSTR()

  • 作用:截取字符串的一部分。

  • 语法SUBSTR(str, start, length)

  • 示例

    SELECT SUBSTR('Hello World', 7, 5) AS result;
    -- 输出:World
  • 拓展

    • start 从 1 开始计数。

    • 示例:

      SELECT SUBSTR(email, 1, INSTR(email, '@') - 1) AS username FROM users;

12. UPPER()

  • 作用:将字符串转换为大写。

  • 语法UPPER(str)

  • 示例

    SELECT UPPER('hello') AS result;
    -- 输出:HELLO
  • 拓展

    • 常用于数据标准化。

    • 示例:

      SELECT UPPER(name) AS upper_name FROM users;

13. LOWER()

  • 作用:将字符串转换为小写。

  • 语法LOWER(str)

  • 示例

    SELECT LOWER('HELLO') AS result;
    -- 输出:hello
  • 拓展

    • 常用于数据标准化。

    • 示例:

      SELECT LOWER(name) AS lower_name FROM users;


14. CONCAT_WS()

  • 作用:使用指定的分隔符连接多个字符串。

  • 语法CONCAT_WS(separator, str1, str2, ...)

  • 示例

    SELECT CONCAT_WS('-', '2023', '10', '01') AS result;
    -- 输出:2023-10-01
  • 拓展

    • 如果分隔符为 NULL,结果将为 NULL

    • 示例:

      SELECT CONCAT_WS(',', 'Apple', 'Banana', 'Cherry') AS result;

15. REPLACE()

  • 作用:替换字符串中的指定内容。

  • 语法REPLACE(str, old_str, new_str)

  • 示例

    SELECT REPLACE('Hello World', 'World', 'MySQL') AS result;
    -- 输出:Hello MySQL
  • 拓展

    • 常用于数据清洗。

    • 示例:

      SELECT REPLACE(email, '@example.com', '@newdomain.com') AS new_email FROM users;

16. INSTR()

  • 作用:返回子字符串在字符串中的位置。

  • 语法INSTR(str, substr)

  • 示例

    SELECT INSTR('Hello World', 'World') AS position;
    -- 输出:7
  • 拓展

    • 如果子字符串不存在,返回 0。

    • 示例:

      SELECT INSTR(email, '@') AS at_position FROM users;


17. TRIM()

  • 作用:去除字符串两端的空格。

  • 语法TRIM(str)

  • 示例

    SELECT TRIM('  Hello World  ') AS result;
    -- 输出:Hello World
  • 拓展

    • 可以去除指定字符。

    • 示例:

      SELECT TRIM('x' FROM 'xxxHello Worldxxx') AS result;

18. IFNULL()

  • 作用:如果第一个参数为 NULL,则返回第二个参数。

  • 语法IFNULL(expr1, expr2)

  • 示例

    SELECT IFNULL(NULL, 'Default') AS result;
    -- 输出:Default
  • 拓展

    • 常用于处理空值。

    • 示例:

      SELECT IFNULL(phone, 'No Phone') AS contact FROM users;

19. SYSDATE()

  • 作用:返回当前日期和时间。

  • 语法SYSDATE()

  • 示例

    SELECT SYSDATE() AS current_time;
    -- 输出:2023-10-01 12:34:56
  • 拓展

    • 常用于记录时间戳。

    • 示例:

      INSERT INTO logs (message, created_at) VALUES ('New Log', SYSDATE());

20. FLOOR()

  • 作用:返回小于或等于指定值的最大整数。

  • 语法FLOOR(number)

  • 示例

    SELECT FLOOR(3.7) AS result;
    -- 输出:3
  • 拓展

    • 常用于向下取整。

    • 示例:

      SELECT FLOOR(price) AS floor_price FROM products;

21. CEIL()

  • 作用:返回大于或等于指定值的最小整数。

  • 语法CEIL(number)

  • 示例

    SELECT CEIL(3.2) AS result;
    -- 输出:4
  • 拓展

    • 常用于向上取整。

    • 示例:

      SELECT CEIL(price) AS ceil_price FROM products;


22. ROUND()

  • 作用:对数字进行四舍五入。

  • 语法ROUND(number, decimals)

  • 示例

    SELECT ROUND(3.65, 1) AS result;
    -- 输出:3.7
  • 拓展

    • 常用于格式化数字。

    • 示例:

      SELECT ROUND(price, 2) AS rounded_price FROM products;

23. ABS()

  • 作用:返回数字的绝对值。

  • 语法ABS(number)

  • 示例

    SELECT ABS(-10) AS result;
    -- 输出:10
  • 拓展

    • 常用于计算距离。

    • 示例:

      SELECT ABS(current_value - target_value) AS difference FROM metrics;

24. LOG()

  • 作用:返回数字的自然对数。

  • 语法LOG(number)

  • 示例

    SELECT LOG(10) AS result;
    -- 输出:2.302585
  • 拓展

    • 常用于数学计算。

    • 示例:

      SELECT LOG(price) AS log_price FROM products;

25. JOIN

  • 作用:用于连接两个或多个表。

  • 语法JOIN table ON condition

  • 示例

    SELECT users.name, orders.order_id
    FROM users
    JOIN orders ON users.id = orders.user_id;
  • 拓展

    • 支持 INNER JOINLEFT JOINRIGHT JOIN 和 FULL JOIN

    • 示例:

      SELECT users.name, orders.order_id
      FROM users
      LEFT JOIN orders ON users.id = orders.user_id;

26. HAVING

  • 作用:用于对分组后的数据进行过滤。

  • 语法HAVING condition

  • 示例

    SELECT user_id, COUNT(*) AS order_count
    FROM orders
    GROUP BY user_id
    HAVING order_count > 5;
  • 拓展

    • HAVING 常用于聚合函数后的过滤。

    • 示例:

      SELECT category, AVG(price) AS avg_price
      FROM products
      GROUP BY category
      HAVING avg_price > 50;
http://www.lryc.cn/news/505359.html

相关文章:

  • Windows环境 (Ubuntu 24.04.1 LTS ) 国内镜像,用apt-get命令安装RabbitMQ
  • web网页前后端交互方式
  • LN61C 高精度 低功耗 小封装 电压检测芯片
  • 自动驾驶控制与规划——Project 2: 车辆横向控制
  • Bootstrap-HTML(五)图像基础样式
  • bain.js(十二):RNN神经网络实战教程 - 音乐乐谱生成 -人人都是作曲家~
  • Endnote | 查看文献所在分组
  • DateRangePickerDialog组件的用法
  • 数据库合并操作:深入理解 MERGE INTO 语句
  • 联发科MTK8788_MT8788安卓核心板安兔兔跑分_安卓主板方案商
  • 计算机网络技术基础:6.数据传输方式
  • 免费开源了一个图床工具 github-spring-boot-starter
  • Mysql之YUM安装时GPG 密钥报错问题处理
  • Hw亮度省电
  • 【信息系统项目管理师-论文真题】2015下半年论文详解
  • django的model中定义【记录修改次数】的这个字段该用什么类型
  • windows openssl编译x64版libssl.lib,编译x64版本libcurl.lib,支持https,vs2015编译器
  • 搭建 Elasticsearch 集群:完整教程
  • 如何实现序列化和反序列化?如何处理对象的生命周期管理?
  • WPF+MVVM案例实战与特效(三十八)- 封装一个自定义的数字滚动显示控件
  • docker安装Redis、docker使用Redis、docker离线安装redis、Redis离线安装
  • 单目动态新视角合成
  • STM32--IO引脚复用
  • Python字符串及正则表达式(十):字符串常用操作、字符串编码转换
  • 前端的Python入门指南(完):错误和异常处理策略及最佳实践
  • LeetCode 2475 数组中不等三元组的数目
  • 【和春笋一起学C++】字符串比较
  • HTTP 协议报文结构 | 返回状态码详解
  • .net winform 实现CSS3.0 泼墨画效果
  • LearnOpenGL学习(高级OpenGL - - 实例化,抗锯齿)