菜鸟科技网

SQL语句常用命令有哪些核心语法?

SQL语句是关系型数据库管理系统的核心工具,用于管理、查询和操作数据,以下是SQL语句中常用的命令分类及详细说明,涵盖数据定义语言(DDL)、数据操作语言(DML)、数据查询语言(DQL)、数据控制语言(DCL)等核心功能。

SQL语句常用命令有哪些核心语法?-图1
(图片来源网络,侵删)

数据定义语言(DDL)

DDL用于定义和管理数据库的结构,包括创建、修改和删除数据库对象。

  1. CREATE:创建数据库或对象。

    • 创建数据库:CREATE DATABASE database_name;
    • 创建表:CREATE TABLE table_name (column1 datatype, column2 datatype, ...);
    • 示例:CREATE TABLE users (id INT PRIMARY KEY, name VARCHAR(50), email VARCHAR(100));
  2. ALTER:修改现有数据库对象的结构。

    • 添加列:ALTER TABLE table_name ADD column_name datatype;
    • 修改列:ALTER TABLE table_name MODIFY column_name new_datatype;
    • 删除列:ALTER TABLE table_name DROP COLUMN column_name;
  3. DROP:删除数据库或对象。

    SQL语句常用命令有哪些核心语法?-图2
    (图片来源网络,侵删)
    • 删除表:DROP TABLE table_name;
    • 删除数据库:DROP DATABASE database_name;
  4. TRUNCATE:清空表数据(保留表结构)。

    • 示例:TRUNCATE TABLE table_name;

数据操作语言(DML)

DML用于操作数据库中的数据,包括插入、更新和删除记录。

  1. INSERT:向表中插入新数据。

    • 基本语法:INSERT INTO table_name (column1, column2) VALUES (value1, value2);
    • 插入多行:INSERT INTO table_name VALUES (value1, value2), (value3, value4);
  2. UPDATE:更新表中的现有数据。

    SQL语句常用命令有哪些核心语法?-图3
    (图片来源网络,侵删)
    • 基本语法:UPDATE table_name SET column1 = value1 WHERE condition;
    • 示例:UPDATE users SET email = 'new@example.com' WHERE id = 1;
  3. DELETE:删除表中的数据。

    • 基本语法:DELETE FROM table_name WHERE condition;
    • 注意:不加WHERE会删除所有数据,需谨慎使用。

数据查询语言(DQL)

DQL用于从数据库中检索数据,核心命令是SELECT

  1. 基本查询

    • SELECT column1, column2 FROM table_name;(查询指定列)
    • SELECT * FROM table_name;(查询所有列)
  2. 条件过滤(WHERE)

    • 示例:SELECT * FROM users WHERE age > 18 AND gender = 'Male';
  3. 排序(ORDER BY)

    • 升序:SELECT * FROM users ORDER BY age ASC;
    • 降序:SELECT * FROM users ORDER BY age DESC;
  4. 聚合函数

    • 常用函数:COUNT(), SUM(), AVG(), MAX(), MIN()
    • 示例:SELECT COUNT(*) FROM users;
  5. 分组(GROUP BY)

    • 示例:SELECT department, COUNT(*) FROM employees GROUP BY department;
  6. 限制结果(LIMIT)

    • 示例:SELECT * FROM users LIMIT 10;(返回前10条记录)

数据控制语言(DCL)

DCL用于控制数据库的访问权限和安全。

  1. GRANT:授予用户权限。

    • 示例:GRANT SELECT, INSERT ON table_name TO 'user'@'localhost';
  2. REVOKE:撤销用户权限。

    • 示例:REVOKE DELETE ON table_name FROM 'user'@'localhost';

其他常用命令

  1. JOIN:用于多表查询。

    • 内连接:SELECT * FROM table1 INNER JOIN table2 ON table1.id = table2.id;
    • 左连接:SELECT * FROM table1 LEFT JOIN table2 ON table1.id = table2.id;
  2. UNION:合并多个查询结果。

    • 示例:SELECT column1 FROM table1 UNION SELECT column1 FROM table2;
  3. 索引(INDEX):提高查询效率。

    • 创建索引:CREATE INDEX idx_name ON table_name (column_name);
  4. 事务控制(Transaction Control)

    • BEGIN TRANSACTION:开始事务。
    • COMMIT:提交事务。
    • ROLLBACK:回滚事务。

SQL常用命令速查表

功能分类 命令 语法示例
DDL CREATE CREATE TABLE table_name (id INT);
DDL ALTER ALTER TABLE table_name ADD COLUMN name VARCHAR(50);
DDL DROP DROP TABLE table_name;
DML INSERT INSERT INTO table_name VALUES (1, 'John');
DML UPDATE UPDATE table_name SET name = 'Jane' WHERE id = 1;
DML DELETE DELETE FROM table_name WHERE id = 1;
DQL SELECT SELECT * FROM table_name;
DQL WHERE SELECT * FROM table_name WHERE age > 20;
DQL GROUP BY SELECT COUNT(*) FROM table_name GROUP BY column;
DCL GRANT GRANT SELECT ON table_name TO 'user';
DCL REVOKE REVOKE DELETE ON table_name FROM 'user';

相关问答FAQs

Q1: SQL中的JOINUNION有什么区别?
A1: JOIN用于基于共同字段合并两个或多个表的行,生成包含两表数据的复合结果集;而UNION用于合并两个或多个SELECT语句的结果集,要求列数和数据类型一致,结果集默认去重(使用UNION ALL可保留重复行)。JOIN适合关联查询(如用户与订单),UNION适合合并同类数据(如不同部门的员工列表)。

Q2: 如何优化包含WHERE子句的SQL查询性能?
A2: 优化方法包括:

  1. 索引优化:在WHERE子句频繁使用的列上创建索引(如CREATE INDEX idx_age ON users(age);)。
  2. 避免全表扫描:确保WHERE条件精确匹配(如用代替LIKE '%value%')。
  3. 限制返回数据:使用LIMIT减少数据传输量。
  4. 分析执行计划:通过EXPLAIN SELECT * FROM table_name WHERE condition;查看查询是否使用索引,调整SQL结构或索引策略。
分享:
扫描分享到社交APP
上一篇
下一篇