SQL 语句及其分类

SQL(Structured Query Language)即结构化查询语言,用于管理关系型数据库。

以下是对 SQL 语句分类的介绍及代码演示 :

一、数据查询语言(DQL)

主要用于从数据库中检索数据。

  1. SELECT语句:
    • 用于从一个或多个表中检索特定的列或所有列的数据。
    • 语法:SELECT column1, column2,... FROM table_name;SELECT * FROM table_name;
    • 代码演示:
      • 查询所有列:SELECT * FROM employees;(假设employees是表名)。
      • 查询特定列:SELECT name, age FROM employees;
    • 可以结合WHERE子句进行条件筛选,例如:SELECT * FROM employees WHERE age > 30;
    • 还可以使用ORDER BY进行排序,如:SELECT * FROM employees ORDER BY salary DESC;(按薪资降序排列)。

二、数据操作语言(DML)

用于操作数据库中的数据。

  1. INSERT语句:
    • 向表中插入新的数据行。
    • 语法:INSERT INTO table_name (column1, column2,...) VALUES (value1, value2,...);
    • 代码演示:
      • INSERT INTO employees (name, age, department) VALUES ('John', 35, 'Sales');
  2. UPDATE语句:
    • 更新表中已有的数据行。
    • 语法:UPDATE table_name SET column1 = value1, column2 = value2,... WHERE condition;
    • 代码演示:
      • UPDATE employees SET salary = salary + 1000 WHERE department = 'Engineering';(给工程部门的员工涨薪 1000)。
  3. DELETE语句:
    • 删除表中的数据行。
    • 语法:DELETE FROM table_name WHERE condition;
    • 代码演示:
      • DELETE FROM employees WHERE age < 25;(删除年龄小于 25 岁的员工数据)。

三、数据定义语言(DDL)

用于定义数据库的结构。

  1. CREATE语句:
    • 创建数据库对象,如表、索引、视图等。
    • 语法:
      • 创建表:CREATE TABLE table_name (column1 datatype1, column2 datatype2,...);
      • 创建索引:CREATE INDEX index_name ON table_name (column_name);
    • 代码演示:
      • 创建表:CREATE TABLE customers (id INT PRIMARY KEY, name VARCHAR(50), email VARCHAR(100));
      • 创建索引:CREATE INDEX idx_customers_name ON customers (name);
  2. ALTER语句:
    • 修改数据库对象的结构。
    • 语法:
      • 修改表结构:ALTER TABLE table_name ADD column_name datatype;ALTER TABLE table_name MODIFY column_name datatype;等。
    • 代码演示:
      • 添加列:ALTER TABLE customers ADD phone VARCHAR(20);
      • 修改列数据类型:ALTER TABLE customers MODIFY email VARCHAR(150);
  3. DROP语句:
    • 删除数据库对象。
    • 语法:DROP TABLE table_name;DROP INDEX index_name;等。
    • 代码演示:
      • 删除表:DROP TABLE customers;
      • 删除索引:DROP INDEX idx_customers_name;

四、数据控制语言(DCL)

用于控制数据库的访问权限和事务处理。

  1. GRANT语句:
    • 授予用户对数据库对象的特定权限。
    • 语法:GRANT privilege1, privilege2,... ON object_name TO user_name;
    • 代码演示:
      • GRANT SELECT, INSERT ON customers TO user1;(授予用户user1customers表的查询和插入权限)。
  2. REVOKE语句:
    • 撤销用户对数据库对象的特定权限。
    • 语法:REVOKE privilege1, privilege2,... ON object_name FROM user_name;
    • 代码演示:
      • REVOKE INSERT ON customers FROM user1;(撤销用户user1customers表的插入权限)。
  3. COMMITROLLBACK语句:
    • COMMIT用于提交事务,使对数据库的更改永久生效。
    • ROLLBACK用于回滚事务,撤销对数据库的更改。
    • 代码演示:
      • 开始事务:BEGIN TRANSACTION;
      • 执行一些数据库操作。
      • COMMIT;ROLLBACK;根据需要决定是提交还是回滚事务。

五、事务控制语言(TCL)

用于管理事务。

  1. BEGIN TRANSACTION语句:
    • 开始一个新事务。
    • 代码演示:BEGIN TRANSACTION;
  2. SAVEPOINT语句:
    • 在事务中创建一个保存点。
    • 语法:SAVEPOINT savepoint_name;
    • 代码演示:SAVEPOINT sp1;
  3. ROLLBACK TO语句:
    • 回滚到指定的保存点。
    • 语法:ROLLBACK TO savepoint_name;
    • 代码演示:ROLLBACK TO sp1;

SQL 语句是与关系型数据库交互的重要工具,不同类型的 SQL 语句分别用于不同的数据库操作任务。通过合理运用这些语句,可以实现对数据库的高效管理和数据处理。在实际使用中,需要根据具体的业务需求和数据库结构选择合适的 SQL 语句,并注意数据的安全性和一致性。

相关推荐
冉冰学姐11 分钟前
SSM在线影评网站平台82ap4(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·ssm框架·在线影评平台·影片分类
Exquisite.1 小时前
企业高性能web服务器(4)
运维·服务器·前端·网络·mysql
知识分享小能手1 小时前
SQL Server 2019入门学习教程,从入门到精通,SQL Server 2019数据库的操作(2)
数据库·学习·sqlserver
爬山算法2 小时前
Hibernate(84)如何在DevOps流程中使用Hibernate?
oracle·hibernate·devops
踩坑小念2 小时前
秒杀场景下如何处理redis扣除状态不一致问题
数据库·redis·分布式·缓存·秒杀
萧曵 丶3 小时前
MySQL 语句书写顺序与执行顺序对比速记表
数据库·mysql
Wiktok4 小时前
MySQL的常用数据类型
数据库·mysql
曹牧4 小时前
Oracle 表闪回(Flashback Table)
数据库·oracle
J_liaty4 小时前
Redis 超详细入门教程:从零基础到实战精通
数据库·redis·缓存
m0_706653234 小时前
用Python批量处理Excel和CSV文件
jvm·数据库·python