SQL 速查表.pdf
1星 需积分: 0 181 浏览量
更新于2019-06-04
5
收藏 218KB PDF 举报
SQL(Structured Query Language,结构化查询语言)是一种专门用来与关系型数据库进行通信的标准编程语言。SQL语言广泛应用于数据库管理系统(DBMS),允许用户创建、修改、存储和提取数据库中的数据。本知识点围绕关系数据库的通用语言SQL的常用命令,重点介绍查询语句、数据操作语句(DML)以及数据定义语句(DDL)。
关系数据库是一种通过数据间关系来存储和访问数据的数据库模型。关系模型基于一组预定义的表(即关系),每张表由行(记录)和列(字段)组成,并定义了数据完整性约束以保证数据的准确性和一致性。常见关系数据库系统有Oracle、MySQL/MariaDB、SQLServer、PostgreSQL等。
SQL语言分为多个部分,包括数据查询语言(DQL)、数据操作语言(DML)、数据定义语言(DDL)、数据控制语言(DCL)等。本知识点主要涵盖DML和DDL的部分内容。
DML(Data Manipulation Language,数据操作语言)主要负责对数据库中的数据进行增删改查操作。DML语句包括:
- INSERT:插入数据到数据库表中。
- UPDATE:更新数据库表中的数据。
- DELETE:从数据库表中删除数据。
- SELECT:从数据库表中查询数据。
DDL(Data Definition Language,数据定义语言)用于创建、修改和删除数据库对象,比如数据库表。DDL语句包括:
- CREATE TABLE:创建新的数据库表。
- ALTER TABLE:修改已存在的数据库表结构。
- DROP TABLE:删除整个数据库表。
- TRUNCATE TABLE:删除表中的所有记录。
- CREATE VIEW:创建一个视图。
- DROP VIEW:删除视图。
- CREATE INDEX:创建索引以加速查询。
- DROP INDEX:删除索引。
SQL查询语句的核心是SELECT语句,它可以从一个或多个表中选择数据。基本的SELECT语句结构为:
SELECT 列名称 FROM 表名称 WHERE 条件;
例如,若要查询名为“students”的表中的所有数据,可以使用:
SELECT * FROM students;
使用WHERE子句可以过滤查询结果:
SELECT * FROM students WHERE age > 20;
ORDER BY子句用于对结果集进行排序:
SELECT * FROM students ORDER BY age DESC;
SQL支持集合运算,包括并集(UNION),交集(INTERSECT),差集(EXCEPT或MINUS),和多表连接操作。多表连接包括内连接(INNER JOIN)、左连接(LEFT JOIN)、右连接(RIGHT JOIN)、全连接(FULL JOIN)和交叉连接(CROSS JOIN)。
聚合函数是SQL中另一重要概念,用于对一组值执行计算并返回单个值,常见的聚合函数有COUNT, SUM, AVG, MAX, MIN等。使用GROUP BY子句可以对结果集进行分组。
子查询是嵌套在其他SQL语句内部的SELECT语句。子查询可用于WHERE子句、FROM子句和SELECT子句中。例如,在WHERE子句中:
SELECT * FROM students WHERE age = (SELECT AVG(age) FROM students);
SQL中的表别名(alias)和列别名(alias)可以简化SQL语句,并改善其可读性。例如:
SELECT s.name, s.age FROM students AS s;
此外,SQL语句中还可以使用事务控制语句(如COMMIT和ROLLBACK)来管理数据的更改。事务是一个或多个SQL语句序列,这些语句作为一个单元执行,并且只有全部执行成功,事务才算成功。
索引是数据库表中数据的物理排序方式,它通过快速查找数据来提高数据库性能。创建索引的语法如下:
CREATE INDEX idx_name ON table_name (column_name);
删除索引的语法如下:
DROP INDEX idx_name;
视图是基于SQL语句的结果集的虚拟表。视图只保存了SQL查询,而不保存任何数据。创建视图的语法如下:
CREATE VIEW view_name AS SELECT column1, column2 FROM table_name WHERE condition;
通过上述知识点,我们可以对关系型数据库的通用语言SQL有一个全面的认识。熟练掌握SQL中的查询语句、数据操作语句和数据定义语句对于管理和操作关系型数据库至关重要。
不剪发的Tony老师
- 粉丝: 9w+
- 资源: 8
最新资源
- 使用群晖NAS搭建虚拟机
- 基于minifly的学习源码-本人耗时五年完善的稳定源码移植于minifly上,不带操作系统,直接操作寄存器,代码简洁明了,算法基于数学公式,便于学习数学知识
- 基于motorcad设计的外转子发电机,磁钢采用FB6B铁氧体 ,不等匝绕组,输出功率2.3KW 定子外径156 3200RPM,18极27槽永磁同步发电机(PMSG)设计案例.
- 电力电子、电机驱动、数字滤波器matlab simulink仿真模型实现及相关算法的C代码实现 配置C2000 DSP ADC DAC PWM定时器 中断等模块,提供simulink与DSP的联合仿
- 视觉系统程序,新能源电池检测 1、支持4个相机 2、实现Profinet网卡通信 3、实现日志功能 4、实现图像存储功能 5、实现电芯有无判断、电芯和端板涂胶检测
- 基于51单片机的电子时钟设计
- 西门子smart200与汇川变频器 Modbus RTU控制程序 步科触摸屏程序 振捣控制系统 汇川变频器手册
- C#上位机与西门子plc通信,实现伺服控制与数字量控制 提供C#源代码,plc测试程序
- 45.<资源>番茄钟3.0 无代码 C#例子 WPF例子
- stm32f103的Bootloader IAP串口升级stm32f103的Bootloader IAP串口升级st m32固件的学习资料,成熟产品方案已经用在批量产品上,资料包括上位机(电脑端)运行
- 基于Spark的电商用户行为分析系统-源码+课设论文(本科期末课程设计).zip
- Qt C++pdf阅读器源码 上下翻页 精美工具栏 支持ofd格式 1. 仿WPS界面 2. 预览PDF文件 3. 支持PDF预览放大,缩小 4. 支持目录预览查看 5. 支持目录点击跳转页查
- RDM(radis桌面工具)
- 西门子s7 200smart与3台台达VFD-M变频器通讯目标:用触摸屏和西门子smart 控制3台台达变频器通讯 器件:西门子s7 200 smart PLC,3台台达VFD-M变频器,昆仑通态触摸
- 基于51单片机的电子密码锁设计
- Qt5工业上位机源码 工业电子称 无线扫码器 串口的使用 Qt5.14可运行 Qt5工业上位机应用! 一套完整工程! 工业电子称使用, 无线扫码枪的使用, 串口的使用 使用Qt5.14 用QtCrea