当前位置:网站首页>软考 --- 数据库(4)SQL语句
软考 --- 数据库(4)SQL语句
2022-07-28 22:34:00 【想写程序的毛毛虫】
SQL 语言
1.1 定义
SQL 是结构化查询语言( Structured Query Language )的缩写,其功能包括数据查询、数据操控、数据定义和数据控制四个部分;
- SQL 语言简洁、方便实用、功能齐全,已成为目前应用最广的关系数据库语言;
- SQL 既是自含式语言( 联机交互 ),又是嵌入式语言( 宿主语言 );
1.2 两个基本概念
基本表:
是独立存在的表,不是由其它的表导出的表,一个关系对应一个基本表,一个或多个基本表对应一个存储文件;
视图:
视图是一个虚拟的表,是一个或几个基本表导出的表,数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中,当基本表中的数据发生变化时,从视图中查询出来的数据也随之改变;
1.3 数据定义
SQL 语言使用数据定义语言( DDL )实现其数据定义功能,可对数据库用户、基本表、视图、索引进行定义和撤销;
1.3.1 定义基本表
CREATE TABLE < 表名 >( < 列名 > < 数据类型 > < 列级完整性约束条件 > )
< 表名 > 合法标识符,最多 128 个字符,如 S , SC , C ,不允许重名;
1.3.2 修改基本表
ALTER TABLE < 表名 >
[ ADD < 新列名 > < 数据类型 > [ 完整性约束 ] ]
[ ALTER COLUMN < 列名 > < 数据类型 > ]
[ DROP < COLUMN 列名 > | < 完整性约束名 > ]
- ADD 子句:增加新列和新的完整性约束条件;
- ALTER COLUMN 子句:用于修改列;
- DROP 子句:删除指定列或完整性约束条件;
1.3.3 删除表
DROP TABLE < 表名 >
基本表删除后,其中的数据和表上建立的索引都被删除,而建立在该表上的视图不会删除,系统将继续保留其定义,但已无法使用;
1.3.4 定义视图
CREATE VIEW < 视图名 > [ ( < 列名 > [ <列名> ] …… ) ]
AS
< 子查询 >
[ with check option ]
1.3.5 删除视图
DROP VIEW < 视图名 >
1.4 查询语句
1.4.1 SELECT 语句一般格式
SELECT [ ALL | DISTINCT ] < 目标列表达式 > [ , < 目标列表达式 > ]
FROM < 表名或视图名 > [ , < 表名或视图名 > ] …… | ( SELECT 语句 )
[ AS ]< 别名 >
[ WHERE < 条件表达式 > ]
[ GROUP BY < 列名1 > [ HAVING < 条件表达式 > ] ]
[ ORDER BY < 列名2 > [ ASC | DESC ]];
1.4.2 SELECT 的执行过程
- 根据 WHERE 子句的检索条件,从 FROM 子句指定的基本表或视图中选取满足条件的元组,再按照 SELECT 子句中指定的列投影得到结果表;
- 如果有 GROUP 子句。则将查询结果按照 < 列名1 > 相同的值进行分组;
- 如果 DROUP 子句后有 HAVING 短语,则只输出满足 HAVING 条件的元组;
- 如果有 ORDER 子句,查询结果还要按照 < 列名2 > 的值进行排列;
1.4.3 连接查询
表的连接方式有两种:
- 表之间满足一定的条件的行进行连接,此时 FROM 子句中指明进行连接的表名, WHERE 子句指明连接的列名及其连接条件;
- 利用关键字 JOIN 进行连接;
边栏推荐
- IDEA2021.2安装与配置(持续更新)
- 动态规划问题(六)
- Laravel8 middleware realizes simple permission control
- Sword finger offer 41. median in data flow
- Basic knowledge of PHP language (super detailed)
- Multimodal model sketch (1)
- Feign call fails. JSON parse error illegal character ((ctrl-char, code 31)) only regular white space (R
- pnpm的安装与使用
- 2022网络安全学习路线 非常详细 推荐学习
- Dynamic programming problem (2)
猜你喜欢

CV instance segmentation model sketch (1)

Software designer - intermediate, exam summary

【小程序项目开发 -- 京东商城】uni-app 商品分类页面(上)

Geth installation

Laravel permission control

MySQL事务(transaction) (有这篇就足够了..)

Kali installs burpsuite professional

17.机器学习系统的设计

MySQL transaction (this is enough...)

Sword finger offer 41. median in data flow
随机推荐
MySQL 分库分表及其平滑扩容方案
Everything you have learned will come in handy at some point in your life (turn)
Cause analysis of 12 MySQL slow queries
2022网络安全学习路线 非常详细 推荐学习
vulnhub:Sar
MySQL的存储过程
动态规划问题(八)
Laravel8 middleware realizes simple permission control
还在写大量 if 来判断?一个规则执行器干掉项目中所有的 if 判断...
Feign call fails. JSON parse error illegal character ((ctrl-char, code 31)) only regular white space (R
@PostConstruct注解详解
AutoCAD -- import excel tables into CAD and merge CAD
Plato farm is expected to further expand its ecosystem through elephant swap
Basic knowledge of PHP language (super detailed)
12个MySQL慢查询的原因分析
“Method Not Allowed“,405问题分析及解决
Using recursion and chain header interpolation to realize the group turnover of linked lists -- leetcode25 K group turnover linked lists
Erc20 Standard Code
Attack and defense world web master advanced area web_ php_ unserialize
[microservice] Nacos cluster building and loading file configuration