初识SQL

news/2025/3/4 8:17:08/
SQL

定义:SQL(Structured Query Language,结构化查询语言)是一种标准化的数据库操作语言,广泛用于关系数据库管理系统(RDBMS),如 MySQL、PostgreSQL 等。它支持数据的定义(DDL)、操作(DML)和控制(DCL)。

作用

  • DDL(Data Definition Language):定义和管理数据库结构(如 CREATE TABLE)。
  • DML(Data Manipulation Language):操作数据(如 SELECTINSERT)。
  • DCL(Data Control Language):控制访问权限(如 GRANTREVOKE)。

优点
  1. 描述性强:SQL 使用声明式语句,用户只需指定“想要什么”,无需关心底层实现。例如:SELECT name FROM students WHERE age > 18;
  2. 非过程化语言:SQL 不支持循环或条件分支(如 if-else),但可以通过子查询和连接实现复杂逻辑。
  3. 跨平台性(补充):SQL 是 ANSI/ISO 标准,大多数 RDBMS 支持核心语法,具有良好的可移植性。

SQL 的五种主要用途
  1. 更新数据(Update)
    • 示例:UPDATE employees SET salary = salary * 1.1 WHERE dept_id = 3;
    • 含义:将部门 3 的员工薪资提高 10%。
  2. 读取数据(Read)
    • 示例:SELECT name, age FROM students WHERE age BETWEEN 18 AND 25 ORDER BY age;
    • 含义:查询 18-25 岁学生的姓名和年龄,并按年龄排序。
  3. 写入数据(Write)
    • 示例:INSERT INTO orders (order_id, customer_id, date) VALUES (1001, 5, '2025-03-01');
    • 含义:插入一条订单记录。
  4. 删除数据
    • 示例:DELETE FROM users WHERE last_login < '2024-01-01';
    • 含义:删除超过一年的未登录用户。
  5. 结构管理
    • 示例:CREATE TABLE products (id INT PRIMARY KEY, name VARCHAR(50), price DECIMAL(10,2));
    • 含义:创建商品表。

工作中会使用 SQL 的职业
  • 通用职业
    • 后端开发人员:编写 API 时使用 SQL 查询数据库,如 SELECT * FROM orders WHERE status = 'pending';
    • 数据科学家:结合 SQL 和 Python(如 pandas)分析数据,例如:SELECT AVG(salary) FROM employees GROUP BY dept_id;
  • 数据管理员(DBA)
    1. 性能优化:创建索引,如 CREATE INDEX idx_name ON employees(name);
    2. 备份与恢复:使用 BACKUP DATABASE db_name TO DISK = 'path';(SQL Server 示例)。
    3. 权限管理GRANT SELECT ON customers TO analyst_role;

流行的 SQL 数据库系统
  1. SQL Server:支持 T-SQL(扩展 SQL),适用于企业级高可用性场景。
    • 示例:SELECT TOP 5 * FROM sales ORDER BY amount DESC;(查询销售额前 5)。
  2. PostgreSQL:支持 JSON 和高级索引,适合复杂查询。
    • 示例:SELECT * FROM users WHERE data->>'age' > '25';(查询 JSON 字段)。
  3. MySQL:优化了高并发读写,常见于 Web 应用。
    • 示例:SELECT COUNT(*) FROM logs WHERE date = CURDATE();(统计今日日志)。
  4. SQLite:无服务器架构,适合嵌入式系统。
    • 示例:SELECT * FROM contacts LIMIT 10;(查询前 10 条记录)。

深入内容:SQL 查询示例
  1. 连接查询
    sql">SELECT e.name, d.dept_name
    FROM employees e
    INNER JOIN departments d ON e.dept_id = d.id
    WHERE e.salary > 50000;
    
    • 含义:查询薪资超过 5 万的员工及其部门名称。
  2. 子查询
    sql">SELECT name
    FROM students
    WHERE class_id IN (SELECT id FROM classes WHERE teacher = 'Smith');
    
    • 含义:查询 Smith 老师班级的学生。
  3. 聚合函数
    sql">SELECT dept_id, AVG(salary) as avg_salary
    FROM employees
    GROUP BY dept_id
    HAVING AVG(salary) > 60000;
    
    • 含义:查询平均薪资超过 6 万的部门。

http://www.ppmy.cn/news/1576496.html

相关文章

Android双屏异显副屏实现PIP效果小窗口同步显示主屏播放画面

在KTV应用开发中一个常见的场景需求就是一台设备要接多个显示屏&#xff0c;其中一个主屏一般都是触摸屏&#xff0c;通过VGA线连接&#xff0c;支持手点击操作点歌切歌等。另外还会有多个副屏&#xff0c;一般都是电视机&#xff0c;通过HDMI线连接。 有一个特点就是所有电视…

校园订餐微信小程序(全套)

网络技术的快速发展给各行各业带来了很大的突破&#xff0c;也给各行各业提供了一种新的管理模块和校园订餐模块&#xff0c;对于校园订餐小程序将是又一个传统管理到智能化信息管理的改革&#xff0c;对于传统的校园订餐管理&#xff0c;所包括的信息内容比较多&#xff0c;对…

Nginx+PHP+MYSQL-Ubuntu在线安装

在 Ubuntu 上配置 Nginx、PHP 和 MySQL 的步骤如下&#xff1a; 1. 更新系统包 首先&#xff0c;确保系统包是最新的&#xff1a; sudo apt update sudo apt upgrade2. 安装 Nginx 安装 Nginx&#xff1a; sudo apt install nginx启动并启用 Nginx 服务&#xff1a; sudo…

家政一城一店融合小程序怎么开通,需要哪些资质?

手把手教你开通洗衣洗鞋团购上门融合小程序&#xff01; ⚠️ 抖音新规重大调整&#xff01;2025年起家政洗护必须"一城一店" &#xff08;全国仅限365家连锁资质&#xff0c;地级市单店垄断&#xff01;&#xff09; &#x1f4a1; 开通秘籍三步走&#xff1a; ✅…

DeepSeek实操教程(清华、北大)

文末清华大学及北京大学DeepSeek下载地址 1. 地址 2. 提示词 模板&#xff1a;我要&#xff08;做&#xff09;xxx&#xff0c;要给xxx用&#xff0c;希望达到xxx效果&#xff0c;但担心xxx问题 3. 软件联动 基本原则&#xff1a;Deepseek生成内容&#xff0c;以其它软件…

仿12306购票系统(3)

前面完成了乘车人登录功能的实现&#xff0c;本篇主要是控制台方面的管理 对于整体的控制台的设计&#xff0c;为了能够快速的检验&#xff0c;不进行登录拦截&#xff0c;在控制台的这个模块的controller层增加admin&#xff0c;以及在登录界面的拦截器排除掉admin. 车站 即…

正式页面开发-登录注册页面

整体路由设计&#xff1a; 登录和注册的切换是切换组件或者是切换内容&#xff08;v-if和 v-else)&#xff0c;因为点击两个之间路径是没有变化的。也就是登录和注册共用同一个路由。登录是独立的一级路由。登录之后进到首页&#xff0c;有三个大模块&#xff1a;文章分类&…

无人机研发企业内容卷严重,如何突破困境?

无人机研发企业面临内容卷&#xff08;即行业内竞争激烈、同质化严重&#xff09;的困境时&#xff0c;可以从以下几个方面寻求突破&#xff1a; 一、明确市场定位与差异化竞争 1. 市场细分&#xff1a;深入研究无人机市场&#xff0c;明确目标客户群体和应用场景&#xff0c;…