原生 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 都可以),但为了代码可读性,行业惯例是将关键字全部大写。
相关推荐
我是一颗柠檬1 小时前
【Redis】事务与Lua脚本Day7(2026年)
数据库·redis·后端·lua·database
流星白龙1 小时前
【MySQL高阶】14.MySQL存储结构
android·数据库·mysql
一只fish1 小时前
Oracle官方文档翻译《Database Concepts 26ai》第18章-进程架构
数据库·oracle
流星白龙2 小时前
【MySQL高阶】17.InnoDB 内存结构
数据库·mysql·adb
刘欣的博客2 小时前
LiteNetLib WinForm Demo
数据库·microsoft·c#
Lyyaoo.2 小时前
【MySQL】索引
数据库·mysql
i220818 Faiz Ul2 小时前
民谣网站|基于Springboot的民谣网站管理系统(源码+数据库+文档)
java·数据库·spring boot·后端·论文·毕设·民谣网站
摇滚侠2 小时前
JDBC 基础到高级一套通关!基础篇 00-15
java·开发语言·数据库
Amnesia0_02 小时前
MYSQL操作
数据库·mysql