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

SQL 基础知识

SQL(结构化查询语言)是一种用于管理和操作关系数据库的标准编程语言。以下是一些 SQL 的基础知识:

基本概念

  1. 数据库(Database)
    存储和管理数据的容器。一个数据库可以包含多个表。

  2. 表(Table)
    数据以行和列的形式存储在表中。表的结构包括列(字段),每列有特定的数据类型。

  3. 行(Row)
    表中的每条记录。

  4. 列(Column)
    表中的字段,每个字段存储特定类型的数据。

数据类型

常见的数据类型包括:

  • 整数类型INT, BIGINT, SMALLINT, TINYINT
  • 浮点数类型FLOAT, DOUBLE, DECIMAL
  • 字符类型CHAR, VARCHAR
  • 文本类型TEXT, BLOB
  • 日期和时间类型DATE, TIME, DATETIME, TIMESTAMP

SQL 操作

数据定义语言(DDL)

用于定义和管理数据库结构的命令。

  • 创建数据库

    CREATE DATABASE database_name;
    
  • 创建表

    CREATE TABLE table_name (column1 datatype,column2 datatype,...
    );
    
  • 删除数据库

    DROP DATABASE database_name;
    
  • 删除表

    DROP TABLE table_name;
    
  • 修改表

    ALTER TABLE table_name
    ADD column_name datatype;
    
数据操作语言(DML)

用于数据的查询、插入、更新和删除。

  • 插入数据

    INSERT INTO table_name (column1, column2, ...)
    VALUES (value1, value2, ...);
    
  • 查询数据

    SELECT column1, column2, ...
    FROM table_name
    WHERE condition;
    
  • 更新数据

    UPDATE table_name
    SET column1 = value1, column2 = value2, ...
    WHERE condition;
    
  • 删除数据

    DELETE FROM table_name
    WHERE condition;
    
数据控制语言(DCL)

用于控制对数据库的访问权限。

  • 授予权限

    GRANT ALL PRIVILEGES ON database_name.*
    TO 'username'@'host'
    IDENTIFIED BY 'password';
    
  • 撤销权限

    REVOKE ALL PRIVILEGES ON database_name.*
    FROM 'username'@'host';
    
事务控制语言(TCL)

用于管理事务,确保数据库操作的原子性、一致性、隔离性和持久性(ACID)。

  • 开始事务

    START TRANSACTION;
    
  • 提交事务

    COMMIT;
    
  • 回滚事务

    ROLLBACK;
    

查询示例

  • 简单查询

    SELECT * FROM employees;
    
  • 带条件的查询

    SELECT * FROM employees
    WHERE department = 'Sales';
    
  • 排序查询

    SELECT * FROM employees
    ORDER BY salary DESC;
    
  • 聚合函数

    SELECT COUNT(*), AVG(salary)
    FROM employees
    WHERE department = 'Sales';
    
  • 连接查询

    SELECT employees.name, departments.name
    FROM employees
    INNER JOIN departments
    ON employees.department_id = departments.id;
    
http://www.lryc.cn/news/407583.html

相关文章:

  • 【数据结构初阶】单链表经典算法题十二道——得道飞升(上篇)
  • Python爬虫技术 第16节 XPath
  • 本地部署,Whisper: 开源语音识别模型
  • history,hash缓存那些事
  • Spring Boot的Web开发
  • Spark 解析嵌套的 JSON 文件
  • VMware虚拟机中CentOS7自定义ip地址并且固定ip
  • CCS(Code Composer Studio 10.4.0)编译软件中文乱码怎么解决
  • Flutter 3 完全支持网页端
  • vue.js入门
  • API签名认证
  • C#进阶-基于.NET Framework 4.x框架实现ASP.NET WebForms项目IP拦截器
  • 前端(1)HTML
  • 【北京迅为】《i.MX8MM嵌入式Linux开发指南》-第三篇 嵌入式Linux驱动开发篇-第五十三章 设备树下的platform驱动
  • Java正则表达式判断有无特殊字符
  • 使用Java和Spring AMQP构建消息驱动应用
  • 【NLP】提升文本生成多样性的实用方法
  • 鸿蒙(HarmonyOS)下拉选择控件
  • Java类加载器实现机制详细笔记
  • Git之repo sync -l与repo forall -c git checkout用法区别(四十九)
  • 【公式解释】《系统论》《控制论》《信息论》的共同重构:探索核心公式与深度解析
  • 电脑格式化好还是恢复出厂设置好?
  • 使用 Windows 应用程序 SDK 构建下一代应用程序
  • 可消费的媒体类型和可生成的媒体类型
  • C++中指针与迭代器的区别
  • 若依框架 : 生成代码
  • RTMP协议解析
  • 禁忌搜索算法(Tabu Search,TS)及其Python和MATLAB实现
  • Meta发布Llama 3.1 405B模型:开源与闭源模型之争的新篇章
  • Linux网络协议深度解析:从IP到TCP/IP堆栈