当前位置: 首页 > article >正文

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 语句,并注意数据的安全性和一致性。 


http://www.kler.cn/a/282754.html

相关文章:

  • c#————委托Action使用例子
  • SpringBoot开发——整合AJ-Captcha实现安全高效的滑动验证码
  • 【WPF】Prism学习(二)
  • 计算机网络(11)和流量控制补充
  • 离线 快速搭建 docker docker-compose k8s 环境
  • [宁波24届]平方数
  • cesium 实现克里金生成矢量等值面,使用worker浏览器线程
  • 速盾:如何选择适合企业的高防 IP 和 CDN?
  • Nginx负载均衡实现:深入配置与最佳实践
  • 提交保存,要做重复请求拦截,避免出现重复保存的问题
  • 数据结构与算法——深度优先搜索(DFS)和广度优先搜索(BFS)
  • j9、vue、uni-app、小程序的页面传参方式
  • css-functions-属性函数
  • 数盟IOS端可信ID
  • 【前缀和】--- 初阶题目赏析
  • 详解前端cookie知识
  • fastapi接口里日志重复写,用metaclass 单例模式解决了
  • 使用python创建kafka的topic
  • 2010年
  • golang 多版本管理工具
  • 聊聊负电压芯片
  • web尝试---信箱
  • 揭秘!浮毛会进肺是不是智商税?必备浮毛空气净化器使用体验分享
  • 基于STM32开发的智能农业监测与控制系统
  • C++系列-STL容器之deque
  • Spring Boot中处理JSON日期格式