SQL杂记
理论篇
-
什么是SQL?
SQL(结构化查询语言)是一种设计用于检索和操作数据的数据库。它属于美国国家标准协会(ANSI)的一种标准,可用于执行Select(选择)、Update(更新)、Delete(删除)和Insert(插入)等数据任务。 -
数据库中的表和字段是什么?
数据库是有序形式的一组信息,用于访问、存储和检索数据,表是在具有列和行的模型中设计的数据集合。在表中,指定了列数称为字段,但未定义行数称为记录。 -
DBMS的类型是什么?
DBMS是一个控制数据维护和使用的程序,它被认为是管理数据的文件管理器。有四种类型的DBMS:关系DBMS、 分层DBMS、网络DBMS、面向对象的关系DBMS,最有用的DBMS是Relational DBMS。它为数据提供了一个关系运算符。 -
SQL中的视图是什么?
它包含来自一个或多个表的行和列,可以定义为虚拟表。它消耗的内存较少。
CREATE VIEW view_name AS
SELECT column_name1, column_name2
FROM table_name
WHERE CONDITION;
-
什么是SQL中的Joins(连接)?
Join用于从相关的行和列中检索数据。它在两个或多个表之间工作,并且它从两个表返回至少一个匹配
Joins类型是:
Right Join (右连接)
Left Join(左连接)
Inner Join(内连接)
Outer Join(外连接)
Self-Join (自连接)
Cross Join(交叉连接)
·Full Join(全连接 -
SQL中的Constraints(约束)是什么?
它可用于设置表中数据类型的限制。在创建或更新表语句时,可以使用约束。一些限制是:
NOT NULL
PRIMARY KEY
FOREIGN KEY
UNIQUE
CHECK
DEFAULT -
SQL中有多少Key(键),它们如何工作?
SQL中有不同类型的键:
SuperKey(超级密钥)——一个或多个密钥的集合被定义为超级密钥,它用于唯一地标识表中的记录。主键,唯一键和备用键是超级键的子集。
PrimaryKey(主键)——它是表中的一个或多个字段的集合。它们不接受空值和重复值。并且表中只存在一个主键。
ForeignKey(外键)——在一个表中定义主键并在另一个表中定义字段的键被标识为外键。
UniqueKey(唯一键)——除了主键之外,表中还有更多键,它们只标识记录,但唯一的区别是它们只接受一个空值但不接受重复值。
·CandidateKey(候选密钥)——在任何情况下,如果需要,任何候选密钥都可以作为主键。
CompoundKey(复合键)——此键是候选键和主键的组合。
· AlternateKey(备用密钥)——在任何情况下,如果需要,任何备用密钥都可以作为主键或候选键。 -
什么是Index(索引)?
索引用于加速查询的性能。它可以更快地从表中检索数据。可以在一组列上创建索引。
Clustered(群集)和Non-Clustered Index(非群集)索引之间有什么区别?
聚集索引——有助于轻松检索数据,并且只有一个聚集索引与一个表一起分配。它会更改记录在数据库中的保存方式。
非聚集索引——与聚集索引相比,非聚集索引很慢。并且在非集群索引的情况下,该表可以具有多个索引,为表创建一个对象,该表是搜索后指向表的一个点。 -
什么是Aggregate Functions(聚合函数)?
它是一个返回单个值的数学函数。SQL中的聚合函数是:
AVG()——返回平均值
COUNT()——返回行数
MAX()——返回最大值
MIN()——返回最小值
ROUND()——基于十进制规范,此函数对数字字段进行舍入
SUM()——返回总和 -
什么是String Functions(字符串函数)?
为了操作字符串,我们使用字符串函数。其中一些是:
LEN()——返回值的长度。
LOWER()——将字符数据转换为小写。
UPPER()——将字符数据转换为大写。
SUBSTRING()——提取字符。
LTRIM()——从头开始删除字符串的所有空格。
RTRIM()——删除结尾处字符串的所有空格。
CONCAT()——连接函数。
REPLACE()——更新内容。 -
SQL中有哪些Operators(运算符)?
运算符是一个保留字,主要用于SQL语句的WHERE子句中以进行操作。
算术运算
逻辑运算
比较运算符()
复合算子() -
如何定义NULL值,Blank Space(空格)和ZERO(0)?
Null值是没有值的字段。它与0不同。假设有一个表,并且在表中有一个字段,可以在不添加值的情况下将记录插入字段,然后该字段将以NULL值保存。
空格是我们提供的值,0只是一个数字。 -
如何确一个带有名