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

SQL简介

SQL(Structured  Query Language)是一种用于管理和操作关系型数据库的标准语言。它最初由IBM在1970年代开发,并逐渐成为关系型数据库系统的标准。SQL允许用户进行以下操作:Structured:\ˈstrʌktʃəd\ 有结构的

  1. 数据查询:通过SELECT语句可以从数据库中检索数据。

  2. 数据插入:使用INSERT语句将新的数据添加到数据库中。

  3. 数据更新:使用UPDATE语句修改数据库中的现有数据。

  4. 数据删除:通过DELETE语句可以从数据库中移除数据。

  5. 数据定义:使用CREATE和ALTER语句可以定义或修改数据库结构,如表和索引。

  6. 数据访问控制:通过GRANT和REVOKE语句控制用户对数据库的访问权限。

SQL具有很强的灵活性和功能性,可以用于各种复杂的查询。在使用SQL时,可以采用不同的数据库管理系统(DBMS),如MySQL、PostgreSQL、Microsoft SQL Server、Oracle等,每种系统都有一些特定的扩展和功能,但基本的SQL语法在各系统之间是相对一致的。

SQL 基本概念

  1. 数据库:数据的集合,通常是表的集合。

  2. 表:数据库中的数据存储单元,由行和列组成。

  3. 列:表中的一个字段,每列代表数据的一种属性。

  4. 行:表中的一个数据记录,每行包含一组相关的数据。

SQL 基本操作

// 1.查询

SELECT column1, column2 FROM table_name;

// 2.向数据库表中插入新的数据行。

INSERT INTO table_name (column1, column2) VALUES (value1, value2)

// 3.用于修改现有数据。

UPDATE table_name SET column1 = value1 WHERE condition;

// 4.用于删除数据行。

DELETE FROM table_name WHERE condition;

// 5.用于创建一个新的数据库表

CREATE TABLE table_name (
    column1 datatype,
    column2 datatype
);
// 6.用于删除一个数据库表

DROP TABLE table_name;
// 7.用于修改表的结构,比如添加或删除列

ALTER TABLE table_name ADD column_name datatype;

SQL 条件查询

  • WHERE:用于指定条件。

    SELECT column1 FROM table_name WHERE condition;

  • AND/OR:用于组合多个条件。

  • SELECT column1 FROM table_name WHERE condition1 AND condition2; SELECT column1 FROM table_name WHERE condition1 OR condition2;

  • LIKE:用于模式匹配查询。

    SELECT column1 FROM table_name WHERE column2 LIKE 'pattern';

  • BETWEEN:用于选取范围内的数据。

    SELECT column1 FROM table_name WHERE column2 BETWEEN value1 AND value2;

  • IN:用于匹配一个集合中的值。

    SELECT column1 FROM table_name WHERE column2 IN (value1, value2, value3);

SQL 常用函数

  • COUNT: 计数。

    SELECT COUNT(column1) FROM table_name;

  • SUM: 求和。

    SELECT SUM(column1) FROM table_name;

  • AVG: 平均值。

    SELECT AVG(column1) FROM table_name;

  • MAX/MIN: 最大值/最小值。

    SELECT MAX(column1) FROM table_name; SELECT MIN(column1) FROM table_name;

http://www.xdnf.cn/news/1035.html

相关文章:

  • SystemV-消息队列与责任链模式
  • 神经网络的 “成长密码”:正向传播与反向传播深度解析(四)
  • 联邦元学习实现个性化物联网的框架
  • 【开关电源】关于GaN反激电源开关噪声
  • 微信小程序拖拽排序有效果图
  • C++学习之类与对象
  • Redis的数据持久化是怎么做的?
  • 【无人机】问题分析。查看电机转速时,四个电机转速不一致,QGC中检测到电机转速不均衡
  • webpack详细打包配置,包含性能优化、资源处理...
  • 简述大疆无人机对接
  • Python爬虫从入门到实战详细版教程
  • 【AI提示词】投资策略专家
  • 蓝耘平台介绍:算力赋能AI创新的智算云平台
  • Android RecyclerView 多布局场景下的设计思考:SRP 与 OCP 的权衡与优化
  • 服务网格在DevOps中的落地:如何让微服务更智能、更稳定?
  • 597页PPT丨流程合集:流程梳理方法、流程现状分析,流程管理规范及应用,流程绩效的管理,流程实施与优化,流程责任人的角色认知等
  • Python+区块链:如何打造智能化资产管理系统?
  • [预备知识]3. 自动求导机制
  • 探秘 SenseGlove Nova 2力反馈手套,解锁 VR 键盘交互新方式
  • WebGis与WebGL是什么,两者之间的关系?
  • DeepSeek系列(5):助力数据分析
  • ClickHouse 设计与细节
  • linux sysfs使用cat无显示的原因:返回值未赋值
  • 一图掌握 C++ 核心要点
  • android Stagefright框架
  • 模数转换【1】AD7699
  • 【C++篇】string类的终章:深浅拷贝 + 模拟实现string类的深度解析(附源码)
  • 使用tabs组件搭建UI框架
  • SPI通信
  • 7. 深入Spring AI:刨析 Advisors 机制