美文网首页数据库小计
数据库基础<五>

数据库基础<五>

作者: 祁小彬 | 来源:发表于2022-03-10 01:57 被阅读0次

常用SQL语句

1、SQL语句主要分为哪几类

数据定义语言DDL(Data Ddefinition Language)CREATE,DROP,ALTER

主要为以上操作 即对逻辑结构等有操作的,其中包括表结构,视图和索引。

数据查询语言DQL(Data Query Language)SELECT

这个较为好理解 即查询操作,以select关键字。各种简单查询,连接查询等 都属于DQL。

数据操纵语言DML(Data Manipulation Language)INSERT,UPDATE,DELETE

主要为以上操作 即对数据进行操作的,对应上面所说的查询操作 DQL与DML共同构建了多数初级程序员常用的增删改查操作。而查询是较为特殊的一种 被划分到DQL中。

数据控制功能DCL(Data Control Language)GRANT,REVOKE,COMMIT,ROLLBACK

主要为以上操作 即对数据库安全性完整性等有操作的,可以简单的理解为权限控制等。

2、超键、候选键、主键、外键分别是什么?

超键:在关系中能唯一标识元组的属性集称为关系模式的超键。一个属性可以为作为一个超键,多个属性组合在一起也可以作为一个超键。超键包含候选键和主键。
候选键:是最小超键,即没有冗余元素的超键。
主键:数据库表中对储存数据对象予以唯一和完整标识的数据列或属性的组合。一个数据列只能有一个主键,且主键的取值不能缺失,即不能为空值(Null)。
外键:在一个表中存在的另一个表的主键称此表的外键。

3、SQL 约束有哪几种?

NOT NULL: 用于控制字段的内容一定不能为空(NULL)。
UNIQUE: 控件字段内容不能重复,一个表允许有多个 Unique 约束。
PRIMARY KEY: 也是用于控件字段内容不能重复,但它在一个表只允许出现一个。
FOREIGN KEY: 用于预防破坏表之间连接的动作,也能防止非法数据插入外键列,因为它必须是它指向的那个表中的值之一。
CHECK: 用于控制字段的值范围。

4、六种关联查询

交叉连接(CROSS JOIN)
内连接(INNER JOIN)
外连接(LEFT JOIN/RIGHT JOIN)
联合查询(UNION与UNION ALL)
全连接(FULL JOIN)
交叉连接(CROSS JOIN)
SELECT * FROM A,B(,C)或者SELECT * FROM A CROSS JOIN B (CROSS JOIN C)#没有任何关联条件,结果是笛卡尔积,结果集会很大,没有意义,很少使用内连接(INNER JOIN)SELECT * FROM A,B WHERE A.id=B.id或者SELECT * FROM A INNER JOIN B ON A.id=B.id多表中同时符合某种条件的数据记录的集合,INNER JOIN可以缩写为JOIN

  • 4.1 内连接分为三类

等值连接:ON A.id=B.id
不等值连接:ON A.id > B.id
自连接:SELECT * FROM A T1 INNER JOIN A T2 ON T1.id=T2.pid

  • 4.2 外连接(LEFT JOIN/RIGHT JOIN)
    左外连接:LEFT OUTER JOIN, 以左表为主,先查询出左表,按照ON后的关联条件匹配右表,没有匹配到的用NULL填充,可以简写成LEFT JOIN
    右外连接:RIGHT OUTER JOIN, 以右表为主,先查询出右表,按照ON后的关联条件匹配左表,没有匹配到的用NULL填充,可以简写成RIGHT JOIN

  • 4.3 联合查询(UNION与UNION ALL)

SELECT * FROM A UNION SELECT * FROM B UNION ...
就是把多个结果集集中在一起,UNION前的结果为基准,需要注意的是联合查询的列数要相等,相同的记录行会合并
如果使用UNION ALL,不会合并重复的记录行
效率 UNION 高于 UNION ALL

  • 4.4 全连接(FULL JOIN)

MySQL不支持全连接
可以使用LEFT JOIN 和UNION和RIGHT JOIN联合使用

相关文章

  • Flask基础

    目录一、Flask基础二、数据库连接配置三、模板四、表单五、数据库 Flask框架 一、Flask基础 1.初始化...

  • 数据库基础<五>

    常用SQL语句 1、SQL语句主要分为哪几类 数据定义语言DDL(Data Ddefinition Languag...

  • 2018-10-25day9数据库基础

    数据库基础 day9数据库基础

  • 林文波-java目录

    一、java基础 二、spring 三、数据库 四、消息队列中间件 五、

  • Java知识点整理

    目录 一:Java基础 二:框架 三:数据库 四:页面 五:优化 一:Java基础 1.面向对象的特征有哪些? 抽...

  • Redis持久化、Redis删除策略、Redis淘汰策略、Red

    基于c语言开发高性能key-value存储非关系形数据库数据库。 一 基础知识 1.1 五种类型操作 1.1.1 ...

  • 2019-08-01

    学习笔记 基础知识 第1章 基础知识 1.1 数据库基础 1.1.1 什么是数据库 数据库用于存储有组织的数据的容...

  • 数据库基础、FMDB

    数据库基础

  • 数据库优化学习笔记(二)

    数据库基础不是很牢固,补充下基础。 常见的数据库 阶层型数据库:用树型结构保存的数据库。 关系型数据库:见下图 主...

  • 数据库基础和SQL基础总结

    本文会总结下数据库知识,SQL基础,常用SQL语句总结; 一、数据库基础相关概念 二、数据库重点知识点 三、数据库...

网友评论

    本文标题:数据库基础<五>

    本文链接:https://www.haomeiwen.com/subject/gadzlrtx.html