您的位置:首页 > 新闻 > 会展 > 中文网址_上海建筑公司_百度一下你就知道啦_收录好的网站有哪些

中文网址_上海建筑公司_百度一下你就知道啦_收录好的网站有哪些

2025/4/18 10:23:02 来源:https://blog.csdn.net/qq_38614074/article/details/144439273  浏览:    关键词:中文网址_上海建筑公司_百度一下你就知道啦_收录好的网站有哪些
中文网址_上海建筑公司_百度一下你就知道啦_收录好的网站有哪些
引言

SQL(Structured Query Language)是一种用于管理和操作关系数据库的标准编程语言。无论是数据科学家、数据分析师还是开发者,掌握SQL都是处理和分析数据的关键技能。本文将带你从SQL的基础知识开始,逐步了解各种常用关键词及其用法,并通过一个综合案例展示如何在实际中使用这些关键词。

SQL 介绍

SQL 主要用于执行以下操作:

  • 数据查询:从数据库中检索数据。
  • 数据更新:插入、更新或删除数据库中的数据。
  • 数据定义:创建或修改数据库结构。
  • 数据控制:设置用户权限,管理访问控制。
SQL 语法基础

SQL 语句通常以分号(;)结尾,并且不区分大小写,但习惯上关键词大写,以提高可读性。

常用关键词详解
  1. SELECT

    用于从数据库中检索数据。

    SELECT column1, column2 FROM table_name;
    
  2. SELECT DISTINCT

    返回唯一不同的值。

    SELECT DISTINCT column_name FROM table_name;
    
  3. WHERE

    用于过滤记录,只返回符合条件的记录。

    SELECT column_name FROM table_name WHERE condition;
    
  4. AND, OR, NOT

    逻辑运算符,用于组合多个条件。

    SELECT column_name FROM table_name WHERE condition1 AND condition2;
    SELECT column_name FROM table_name WHERE condition1 OR condition2;
    SELECT column_name FROM table_name WHERE NOT condition;
    
  5. ORDER BY

    对结果集进行排序。

    SELECT column_name FROM table_name ORDER BY column_name ASC|DESC;
    
  6. INSERT INTO

    向表中插入新记录。

    INSERT INTO table_name (column1, column2) VALUES (value1, value2);
    
  7. NULL VALUES

    NULL 表示缺失的值。

    INSERT INTO table_name (column1, column2) VALUES (value1, NULL);
    
  8. UPDATE

    修改表中已存在的记录。

    UPDATE table_name SET column1 = value1, column2 = value2 WHERE condition;
    
  9. DELETE

    删除表中的记录。

    DELETE FROM table_name WHERE condition;
    
  10. SELECT TOP/MIN 和 MAX

    返回记录集中的前几条记录或最大值/最小值。

    SELECT TOP number column_name FROM table_name;
    SELECT MAX(column_name) FROM table_name;
    SELECT MIN(column_name) FROM table_name;
    
  11. COUNT, AVG, SUM

    聚合函数,用于计算总数、平均值和总和。

    SELECT COUNT(column_name) FROM table_name;
    SELECT AVG(column_name) FROM table_name;
    SELECT SUM(column_name) FROM table_name;
    
  12. LIKE

    用于在 WHERE 子句中搜索列中的特定模式。

    SELECT column_name FROM table_name WHERE column_name LIKE pattern;
    
  13. 通配符

    与 LIKE 一起使用,用于定义搜索模式。

    • %:代表任意数量的字符(包括零个字符)。
    • _:代表单个字符。
    SELECT column_name FROM table_name WHERE column_name LIKE 'a%';
    SELECT column_name FROM table_name WHERE column_name LIKE 'a_c';
    
  14. IN

    允许在 WHERE 子句中指定多个可能的值。

    SELECT column_name FROM table_name WHERE column_name IN (value1, value2, ...);
    
  15. BETWEEN

    用于在两个值之间检索数据范围。

    SELECT column_name FROM table_name WHERE column_name BETWEEN value1 AND value2;
    
实战案例

假设我们有一个名为 students 的表,包含以下字段:student_id, name, age, grade, city

-- 创建表
CREATE TABLE students (student_id INT PRIMARY KEY,name VARCHAR(100),age INT,grade VARCHAR(10),city VARCHAR(100)
);-- 插入数据
INSERT INTO students (student_id, name, age, grade, city) VALUES
(1, 'Alice', 22, 'A', 'New York'),
(2, 'Bob', 23, 'B', 'Los Angeles'),
(3, 'Charlie', 21, 'A', 'Chicago'),
(4, 'David', 24, 'C', 'New York'),
(5, 'Eva', 22, 'B', 'Los Angeles');
  1. 查询所有学生

    SELECT * FROM students;
    
  2. 查询来自 New York 的学生

    SELECT * FROM students WHERE city = 'New York';
    
  3. 查询年龄大于22岁且成绩为A的学生

    SELECT * FROM students WHERE age > 22 AND grade = 'A';
    
  4. 按年龄排序查询所有学生

    SELECT * FROM students ORDER BY age ASC;
    
  5. 查询所有不同的城市

    SELECT DISTINCT city FROM students;
    
  6. 查询年龄最小的学生

    SELECT name, age FROM students ORDER BY age ASC LIMIT 1; -- MySQL 使用 LIMIT,SQL Server 使用 TOP 1
    
  7. 计算学生的平均年龄

    SELECT AVG(age) AS average_age FROM students;
    
  8. 查询名字以 ‘A’ 开头的学生

    SELECT * FROM students WHERE name LIKE 'A%';
    
  9. 查询来自 New York 或 Los Angeles 的学生

    SELECT * FROM students WHERE city IN ('New York', 'Los Angeles');
    
  10. 查询年龄在21到23之间的学生

    SELECT * FROM students WHERE age BETWEEN 21 AND 23;
    

通过这篇文章,希望你能对SQL有一个初步的了解,并能开始使用SQL进行数据查询和基本的数据库操作。实践是提高SQL技能的最佳方式,不妨动手尝试更多的SQL语句,加深理解和记忆。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com