什么是 SQL?

SQL(结构化查询语言)是一种标准化的编程语言,专为管理和操作关系数据库而设计。它用于查询、插入、更新和删除数据,以及创建和修改数据库结构。

快速了解

全称结构化查询语言
创建时间1974 年由 IBM(Donald Chamberlin 和 Raymond Boyce)开发
规范文档官方规范

SQL 工作原理

SQL 于 20 世纪 70 年代初在 IBM 开发,并于 1986 年成为 ANSI 标准。它提供了一种声明式的数据库操作方法,用户指定想要什么数据,而不是如何检索它。SQL 由几个子语言组成:DDL(数据定义语言)用于模式、DML(数据操作语言)用于数据、DCL(数据控制语言)用于权限、TCL(事务控制语言)用于事务。虽然核心语法是标准化的,但不同的数据库系统(MySQL、PostgreSQL、SQL Server、Oracle)有自己的扩展和变体。

主要特点

  • 声明式语言 - 指定要什么,而不是如何做
  • ANSI/ISO 标准化,带有供应商扩展
  • 支持 CRUD 操作(创建、读取、更新、删除)
  • 包括 DDL、DML、DCL 和 TCL 子语言
  • 基于集合论的关系模型
  • 支持具有 ACID 属性的事务

常见用途

  1. 数据库查询和报告
  2. 数据操作和转换
  3. 数据库模式设计和管理
  4. 后端应用数据访问
  5. 数据分析和商业智能

示例

-- DDL: 创建表
CREATE TABLE users (
    id INT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(100) NOT NULL,
    email VARCHAR(255) UNIQUE,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

-- DML: 插入数据
INSERT INTO users (name, email) VALUES ('张三', 'zhangsan@example.com');

-- DML: 查询数据
SELECT name, email FROM users WHERE id = 1;

-- DML: 更新数据
UPDATE users SET name = '张三丰' WHERE id = 1;

-- DML: 删除数据
DELETE FROM users WHERE id = 1;

-- 连接示例
SELECT u.name, o.total
FROM users u
JOIN orders o ON u.id = o.user_id
WHERE o.created_at > '2024-01-01';

QubitTool 相关工具

相关概念