原生 SQL 常用核心语句基础语法

原生 SQL 语句虽然看起来很多,但其实只要按照功能划分,核心语法非常好记。我们可以把它们分为四大类(常说的 CRUD),外加一个控制权限的类别。

为了让你更直观地掌握,我为你整理了一份最常用的核心语句速查表:

分类 核心关键字 作用说明
DQL (数据查询) SELECT 从数据库中提取你需要的数据
DML (数据操作) INSERT, UPDATE, DELETE 对表里的数据进行增、改、删
DDL (数据定义) CREATE, ALTER, DROP 搭建或修改数据库和表的"骨架"结构
DCL (数据控制) GRANT, REVOKE 管理数据库的用户账号和操作权限

下面为你详细介绍每一类的常用基础语法:

🔍 DQL:数据查询语言 (Data Query Language)

这是日常开发中使用频率最高的部分,核心就是 SELECT 语句。

1. 基础查询

  • 查询表中所有字段(生产环境慎用):SELECT * FROM 表名;
  • 查询指定字段:SELECT 字段1, 字段2 FROM 表名;
  • 给字段起别名(方便阅读):SELECT 字段1 AS 别名 FROM 表名;
  • 去重查询:SELECT DISTINCT 字段名 FROM 表名;

2. 条件过滤与排序

  • 带条件的查询:SELECT * FROM 表名 WHERE 字段 = 值;
  • 模糊查询(比如查名字带"张"的):WHERE 姓名 LIKE '张%';%代表任意字符)
  • 范围查询:WHERE 年龄 BETWEEN 18 AND 25;WHERE id IN (1, 2, 3);
  • 排序:ORDER BY 字段名 DESC; (DESC为降序,ASC或不写默认为升序)
  • 分页限制:LIMIT 10; (只返回前10条数据)

3. 聚合统计

  • 配合 COUNTSUMAVG 等函数使用:SELECT COUNT(*) FROM 表名;
  • 分组统计:SELECT 部门, COUNT(*) FROM 员工表 GROUP BY 部门;

🛠️ DML:数据操作语言 (Data Manipulation Language)

用来对表里的具体记录进行"增删改"。

1. 插入数据 (INSERT)

  • 插入单条:INSERT INTO 表名 (字段1, 字段2) VALUES (值1, 值2);
  • 插入多条:INSERT INTO 表名 (字段1, 字段2) VALUES (值1, 值2), (值3, 值4);

2. 更新数据 (UPDATE)

  • 基础语法:**一定要带 WHERE 条件!**否则会把整张表的数据都改掉。
    UPDATE 表名 SET 字段1 = 新值 WHERE 条件;

3. 删除数据 (DELETE)

  • 基础语法:同样必须带 WHERE 条件
    DELETE FROM 表名 WHERE 条件;

🏗️ DDL:数据定义语言 (Data Definition Language)

用来搭建和修改数据库的"容器"结构。

1. 操作库和表

  • 创建数据库:CREATE DATABASE 数据库名;
  • 创建表:CREATE TABLE 表名 (字段1 类型, 字段2 类型);
  • 删除表/库:DROP TABLE 表名; / DROP DATABASE 数据库名;

2. 修改表结构 (ALTER)

  • 添加字段:ALTER TABLE 表名 ADD COLUMN 新字段 类型;
  • 修改字段类型:ALTER TABLE 表名 MODIFY COLUMN 字段 新类型;
  • 删除字段:ALTER TABLE 表名 DROP COLUMN 字段名;

🔐 DCL:数据控制语言 (Data Control Language)

主要用于运维场景,管理谁能访问数据库。

  • 创建用户:CREATE USER '用户名'@'localhost' IDENTIFIED BY '密码';
  • 授权:GRANT SELECT, INSERT ON 数据库名.* TO '用户名'@'localhost'; (赋予查询和插入权限)
  • 回收权限:REVOKE INSERT ON 数据库名.* FROM '用户名'@'localhost';

💡 新手避坑小贴士

  1. 标点符号 :SQL 语句通常以英文分号 ; 结尾。
  2. 高危操作 :执行 UPDATEDELETE 之前,建议先用同样的条件写个 SELECT 查一下,看看筛选出来的数据是不是你想操作的,确认无误后再执行修改或删除。
  3. 大小写 :SQL 关键字不区分大小写(写 selectSELECT 都可以),但为了代码可读性,行业惯例是将关键字全部大写。
相关推荐
聚美智数12 分钟前
图片水印-图片剪裁-图片缩放API接口介绍
java·服务器·数据库
JavaPub-rodert19 分钟前
Go 后台如何同时兼容 MySQL、PostgreSQL、SQLite 和 SQL Server?从 ShiyuAdmin 看 GORM 多数据库适配
数据库·mysql·postgresql·golang·javapub·王仕宇
瀚高PG实验室41 分钟前
SQL优化案例:存储过程、复杂SQL拆成简单SQL提升整体性能
数据库·sql·postgresql·瀚高数据库
Wang's Blog1 小时前
PostgreSQL笔记36:执行计划基础解读与优化器成本模型
数据库·笔记·postgresql
Wang's Blog1 小时前
PostgreSQL笔记35:索引常见问题诊断与解决方案全景解析
数据库·笔记·postgresql
LayZhangStrive1 小时前
后端通识 - 后端开发职位接触的开发流程
数据库·prd·技术方案·库表设计·后端开发流程
爱吃火鸡面呀2 小时前
MySQL 查询与函数详解:从基础条件筛选到高级字符处理
数据库·mysql
奥莱维2 小时前
KNX酒店方案_KNX专用线与高端酒店技术逻辑
java·服务器·前端·数据库
牛大兵2 小时前
机顶盒获取局域网已经使用IP,开放的端口号,扫描摄像头,NAS,共享主机等开机自启局域网全量扫描工具
数据库·网络协议·tcp/ip
知行产研2 小时前
中国矿山无人驾驶出海的三重门
数据库·mysql·php