菜鸟科技网

SQL数据库命令大全有哪些常用命令?

SQL(结构化查询语言)是管理关系型数据库的标准语言,其命令涵盖数据定义、数据操作、数据查询和数据控制等多个方面,以下是对常用SQL数据库命令的详细梳理,帮助用户全面掌握其功能与应用。

SQL数据库命令大全有哪些常用命令?-图1
(图片来源网络,侵删)

数据定义语言(DDL)

DDL用于定义和管理数据库结构,核心命令包括:

  • CREATE:创建数据库对象,如数据库、表、索引等。
    CREATE DATABASE mydb;  -- 创建数据库
    CREATE TABLE users (id INT PRIMARY KEY, name VARCHAR(50));  -- 创建表
    CREATE INDEX idx_name ON users(name);  -- 创建索引
  • ALTER:修改现有数据库对象的结构。
    ALTER TABLE users ADD COLUMN age INT;  -- 添加列
    ALTER TABLE users MODIFY name VARCHAR(100);  -- 修改列定义
  • DROP:删除数据库对象。
    DROP TABLE users;  -- 删除表
    DROP INDEX idx_name;  -- 删除索引
  • TRUNCATE:清空表数据(保留表结构)。
    TRUNCATE TABLE users;  -- 快速删除所有行

数据操作语言(DML)

DML用于操作数据库中的数据,核心命令包括:

  • INSERT:向表中插入数据。
    INSERT INTO users (id, name, age) VALUES (1, 'Alice', 25);
  • UPDATE:更新表中的数据。
    UPDATE users SET age = 26 WHERE name = 'Alice';
  • DELETE:删除表中的数据。
    DELETE FROM users WHERE age < 18;  -- 删除符合条件的行

数据查询语言(DQL)

DQL主要用于检索数据,核心命令是SELECT

SELECT * FROM users WHERE age > 20 ORDER BY name DESC LIMIT 10;  -- 查询年龄大于20的用户,按姓名降序排序,返回前10条

常用子句包括:

SQL数据库命令大全有哪些常用命令?-图2
(图片来源网络,侵删)
  • WHERE:过滤条件(如 age = 25)。
  • GROUP BY:分组(如 GROUP BY department)。
  • HAVING:分组后过滤(如 HAVING COUNT(*) > 5)。
  • ORDER BY:排序(如 ORDER BY salary ASC)。
  • JOIN:多表关联(如 JOIN orders ON users.id = orders.user_id)。

数据控制语言(DCL)

DCL用于管理数据库权限和事务,核心命令包括:

  • GRANT:授予权限。
    GRANT SELECT ON users TO 'user1'@'localhost';  -- 授予查询权限
  • REVOKE:撤销权限。
    REVOKE DELETE ON users FROM 'user1'@'localhost';
  • COMMIT/ROLLBACK:事务控制(需配合START TRANSACTION使用)。
    START TRANSACTION;
    UPDATE accounts SET balance = balance - 100 WHERE id = 1;
    UPDATE accounts SET balance = balance + 100 WHERE id = 2;
    COMMIT;  -- 提交事务
    -- ROLLBACK;  -- 回滚事务

其他实用命令

  • SHOW:显示数据库对象信息。
    SHOW TABLES;  -- 列出所有表
    SHOW DATABASES;  -- 列出所有数据库
  • USE:选择当前数据库。
    USE mydb;

常用函数示例

函数类型 示例 说明
聚合函数 COUNT(*), SUM(salary) 统计行数、求和
字符串函数 CONCAT(name, ' ', surname) 拼接字符串
日期函数 CURDATE(), DATEDIFF(date1, date2) 获取当前日期、计算日期差

相关问答FAQs

Q1: SQL中DELETETRUNCATE有什么区别?
A: DELETE是DML命令,可删除表中特定行(需配合WHERE条件),操作会记录日志,支持事务回滚;TRUNCATE是DDL命令,删除表中所有数据且不记录日志,执行速度更快,但不可回滚,且会重置自增ID。

Q2: 如何优化复杂查询的性能?
A: 可通过以下方式优化:1)使用索引加速过滤和排序;2)避免SELECT *,只查询必要列;3)对大表分页查询(如LIMIT offset, size);4)拆分复杂子查询为临时表;5)定期执行ANALYZE TABLE更新统计信息。

SQL数据库命令大全有哪些常用命令?-图3
(图片来源网络,侵删)
分享:
扫描分享到社交APP
上一篇
下一篇