MySQL刷题

这篇具有很好参考价值的文章主要介绍了MySQL刷题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  1. DDL(Data Definition Language)用来定义数据库对象;
    DML(Data Manipulation Language)用来对数据库中的表进行增删改操作;
    DQL(Data Query Language)用来查询数据库中表的记录; DCL(Data Control Language)用来定义数据库的访问控制权限和安全级别;
  2. 位于用户和操作系统之间的一层数据管理软件指的是DBMS(数据库管理系统,database management system)
  3. 数据库系统DBS(database system)由操作系统数据库管理系统主语言系统应用开发工具软件应用系统数据库组成。
  4. DML和DQL完成对数据库数据的查询与更新。
  5. 数据库模糊查询的通配符:%_
  6. 聚集函数不能直接出现在WHERE子句中

SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL。

  1. 数据查询语言DQL
    数据查询语言DQL基本结构是由SELECT子句,FROM子句,WHERE子句组成的查询块:SELECT <字段名表>FROM <表或视图名>WHERE <查询条件>

  2. 数据操纵语言DML
    数据操纵语言DML主要有三种形式:

    1. 插入:INSERT
    2. 更新:UPDATE
    3. 删除:DELETE
  3. 数据定义语言DDL
    数据定义语言DDL用来创建数据库中的各种对象-----表、视图、索引、同义词、聚簇等如:CREATE TABLE / VIEW / INDEX / SYN / CLUSTER| 表 视图 索引 同义词 簇。DDL操作是隐性提交的!不能rollback

  4. 数据控制语言DCL
    数据控制语言DCL用来授予或回收访问数据库的某种特权,并控制数据库操纵事务发生的时间及效果,对数据库实行监视等。如:

    1. GRANT:授权。
    2. ROLLBACK [WORK] TO [SAVEPOINT]:回退到某一点。回滚—ROLLBACK回滚命令使数据库状态回到上次最后提交的状态。其格式为:SQL>ROLLBACK;
    3. COMMIT [WORK]:提交。在数据库的插入、删除和修改操作时,只有当事务在提交到数据库时才算完成。在事务提交前,只有操作数据库的这个人才能有权看到所做的事情,别人只有在最后提交完成后才可以看到。

触发器

  1. 不属于触发事件的是(AFTER

    AFTER触发器又称后触发器,在执行了INSERT、UPDATE、DELETE语句操作之后执行AFTER触发器。

存储

需查看stu表中索引的索引信息时,应使用的存储过程是(sp_helpindex
报告有关数据库对象的信息,语法及应用错误:sp_help
返回指定数据库或者全部数据库的信息:sp_helpdb
显示规则、默认、存储过程、触发器、视图等对象的未加密的文本定义信息:sp_helptext

窗口函数

  1. 写一段SQL,已知衬衫表SHIRTABLE,请你实现通过窗口函数实现,根据不同的衬衫种类shirt_type,按照销售单价shirt_price从低到高的顺序创建排序表()
SELECT shirt_name, shirt_type, shirt_price,

RANK() OVER (PARTITION BY shirt _type 
				ORDER BY shirt_price) AS ranking

FROM SHIRTABLE
  • 窗口函数:over()窗口函数中包括三个函数:分区partition by 列名排序order by 列名指定窗口范围rows between 开始位置 and 结束位置(可用\可以不用)
    若over()函数中不使用这三个函数,窗口大小是针对查询产生的所有数据,如果指定了分区,窗口大小是针对每个分区的数据。

    • partition by
      partition by可理解为group by 分组。over(partition by 列名)搭配分析函数时,分析函数按照每一组每一组的数据进行计算的。
    • rows between 开始位置 and 结束位置
      是指定窗口范围,比如第一行到当前行。而这个范围是随着数据变化的。over(rows between 开始位置 and 结束位置)搭配分析函数时,分析函数按照这个范围进行计算的。
  • 常与over()一起使用的分析函数:

    • 聚合类
      avg()、sum()、max()、min()

    • 排名类
      rank() 按照值排序时产生一个自增编号,值相等时会重复,会产生空位(如:1、3、3、6、9)
      dense_rank() 按照值排序时产生一个自增编号,值相等时会重复,不会产生空位(如:1、2、2、3、3、4)
      row_number() 按照值排序时产生一个自增编号,不会重复(如:1、2、3、4、5、6)

事务

  1. 事务是数据库操作的基本工作单位。如果一个事务执行成功,则全部更新提交;如果一个事务执行失败,则已做过的全部更新被恢复原状,好像整个事务从未有过这些更新。这样保持了数据库处于一致性状态。【即原子性

    事务的特性ACID:
    1.原子性(Atomicity):事务包含的操作全部成功或者全部失败。
    2.一致性(Consistency):数据库从一个一致性状态变到另一个一致性状态。
    (1)一系列操作后,所有的操作和更新全部提交成功,数据库只包含全部成功后的数据就是数据的一致性。
    (2)由于系统异常或数据库系统出现故障导致只有部分数据更新成功,但是这不是我们需要的最终数据,这就是数据的不一致。
    3.隔离性(Isolation):事务互相隔离互不干扰。
    (1)事务内部操作的数据对其它事务是隔离的,在一个事务执行完之前不会被其他事务影响和操作)
    事务的隔离级别:读未提交、读提交、可重复读、序列化(串行化)。
    4.持久性(Durability):事务提交后数据应该被永久的保存下来,出现宕机等故障后可以恢复数据

  2. 并发访问数据库时,各并发事务之间数据库是独立的。【隔离性】

  3. 事务是最小的执行单位,不允许分割。

  4. 执行事务前后,数据保持一致,对同一数据读取的结果相同。

  5. 一个事务被提交后对数据库中数据的改变是持久的

  1. 可以用于数据修改操作,确保不会同时对同一资源进行多重更新的是:排他锁
  2. 用于不更改或不更新数据的读取操作,如SELECT语句:共享锁
  3. 用于可更新的资源中,防止当多个会话在读取、锁定以及随后可能进行的资源更换时发生常见形式的死锁:更新锁
  4. 在执行依赖于表架构的操作时使用:架构锁

常识

  1. 某学院包含多个专业如计算机科学、信息管理、软件工程、网络工程。每个专业每年都招收一个班级的学生。在招生过程中就已明确规定,一个学生只能就读于该学院的一个班级,但是一个班级可以招收不超过60个学生。那么,班级和学生之间是____多对一____的关系。

    一个学生只能对应一个班级,但一个班级能对应多个学生。所以是多对一
    如果限定条件改变:一个学生可以读不同的班级,那么就是多对多

  2. @@ERROR:返回执行的上一个 Transact-SQLTransact-SQL 语句的错误号。
    @@IDENTITY:返回自增id。
    @@ROWCOUNT:返回受上一个SQL语句影响的行数。
    @@MAX_CONNECTIONS:返回最大用户连接数。

  3. 若系统在运行过程中,由于某种硬件故障使存储在外存上的数据部分损失或全部损失,这种情况称为介质故障

    常见的四种故障
    (1)事务内部的故障:事务内部故障可分为预期的和非预期的,其中大部分的故障都是非预期的。预期的事务内部故障是指可以通过事务程序本身发现的事务内部故障;非预期的事务内部故障是不能由事务程序处理的,如运算溢出故障、并发事务死锁故障、违反了某些完整性限制而导致的故障等。
    (2)系统故障:系统故障也称为软故障,是指数据库在运行过程中,由于硬件故障、数据库软件及操作系统的漏洞、突然停电灯情况,导致系统停止运转,所有正在运行的事务以非正常方式终止,需要系统重新启动的一类故障。这类事务不破坏数据库,但是影响正在运行的所有事务。
    (3)介质故障:介质故障也称为硬故障,主要指数据库在运行过程中,由于磁头碰撞、磁盘损坏、强磁干扰、天灾人祸等情况,使得数据库中的数据部分或全部丢失的一类故障。
    (4)计算机病毒故障:计算机病毒故障是一种恶意的计算机程序,它可以像病毒一样繁殖和传播,在对计算机系统造成破坏的同时也可能对数据库系统造成破坏(破坏方式以数据库文件为主)。
    区别系统故障还是介质故障就看有没有破坏数据库中的数据,题中破坏了数据库的数据,所以应是介质故障。

  4. 一个关系可以有多个主属性。

  5. 关系数据模型的逻辑结构是关系

  6. 数据的逻辑结构是二维表

  7. 层次模型的数据结构是

  8. 在关系数据库设计中,关系模式是用来记录用户数据的二维表

  9. 在数据库的非关系模型中,基本层次联系是两个记录型以及它们之间的一对多联系

  10. 候选关键字中的属性称为主属性

  11. 关系模型中,表示实体间n:m联系是通过增加一个关系实现

  12. 当B属性函数依赖于A属性时【B是主键】,属性A与B的联系是多对一

  13. 非关系型数据库:redismongoDB

  14. in与not in,exists与not exists的区别?

    exist会针对子查询的表使用索引
    not exist会对主子查询都会使用索引
    in与子查询一起使用的时候,只针对主查询使用索引
    not in则不会使用任何索引
    如果查询的两个表大小相当,那么用in和exists差别不大;如果两个表中一个较小一个较大,则子查询表大的用exists,子查询表小的用in,所以无论哪个表大,用not exists都比not in 要快
    SQL基础题|drop、delete 与 truncate 三者的区别?

    delete 用来删除表的全部或者一部分数据行,执行delete 之后,用户需要提交 (commmit) 或者回滚(rollback) 来执行删除或者撤销删除, delete 命令会触发这个表上所有delete 触发器
    truncate 删除表中的所有数据,这个操作不能回滚,也不会触发这个表上的触发器,truncate 比 delete 更快,占用的空间更小
    drop 命令从数据库中删除表,所有的数据行,索引和权限也会被删除,所有的 DML 触发器也不会被触发,这个命令也不能回滚。
    因此,在不再需要一张表的时候,用 drop。在想删除部分数据行时候,用 delete。在保留表而删除所有数据的时候用 truncate文章来源地址https://www.toymoban.com/news/detail-414071.html

到了这里,关于MySQL刷题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【MySQL】:DDL数据库定义与操作

    🎥 屿小夏 : 个人主页 🔥个人专栏 : MySQL从入门到进阶 🌄 莫道桑榆晚,为霞尚满天! SQL是一种强大的语言,根据其功能可以分为DDL、DML、DQL和DCL四类。其中,DDL用于定义数据库对象,如数据库、表和字段。本文将深入探讨DDL的数据库操作,包括查询数据库、创建数据库

    2024年02月01日
    浏览(53)
  • 【教程】MySQL数据库学习笔记(三)——数据定义语言DDL(持续更新)

    写在前面: 如果文章对你有帮助,记得点赞关注加收藏一波,利于以后需要的时候复习,多谢支持! 第一章 《认识与环境搭建》 第二章 《数据类型》 第三章 《数据定义语言DDL》 DDL(Data Definition Language,数据定义语言) 是用于定义和管理数据库对象(如表、视图、索引等

    2024年02月20日
    浏览(43)
  • 【SpringBoot】自定义工具类实现Excel数据新建表存入MySQL数据库

    🏡浩泽学编程 :个人主页  🔥 推荐专栏 :《深入浅出SpringBoot》《java对AI的调用开发》               《RabbitMQ》《Spring》《SpringMVC》《项目实战》 🛸学无止境,不骄不躁,知行合一 本文主要介绍使用EasyExcel读取Excel内数据并转换为csv格式数据(String字符串),然后

    2024年03月15日
    浏览(57)
  • 【milvus】向量数据库,用来做以图搜图+人脸识别的特征向量

    ref:https://milvus.io/docs 第一次装东西,要把遇到的问题和成功经验都记录下来。 1.Download the YAML file 看一下下载下来的是什么东西 Start Milvus In the same directory as the docker-compose.yml file, start up Milvus by running: 报错则需要安装docker-compose了 下载最新版的docker-compose 文件 添加可执行权限

    2024年02月16日
    浏览(40)
  • MySQL数据库——存储过程-变量(系统变量、用户定义变量、局部变量)

    目录 系统变量  1.查看系统变量  2.设置系统变量 演示示例 用户定义变量 1.赋值  2.使用 演示示例 局部变量 声明  赋值 演示示例 变量 在MySQL中变量分为三种类型: 系统变量、用户定义变量、局部变量。 系统变量是MySQL服务器提供,不是用户定义的,属于服务器层面。分为全

    2024年02月05日
    浏览(52)
  • MySQL笔记(一):设计范式、基础概念、数据库定义语言DDL

    MySQL是一种数据库管理系统 (DBMS),是基于客户机-服务器的数据库; 分为两个不同的部分, 服务器软件(MySQL DBMS)是负责所有数据访问和处理的一个文件,这个软件运行在称为数据库服务器的计算机上,与数据文件打交道; 客户机则是与用户打交道的软件,对于用户提出的

    2024年02月03日
    浏览(59)
  • 数据库是要拿来用的,不是用来PK先进性的

    周五参加了WAIC后又和一家上海本地的数据库厂商交流了一下午。等我要买高铁票回南京的时候已经买不到票了。好不容易刷到一张到苏州北的高铁票,我就上了车。上车后突然想起还不如就回苏州老家住一晚算了。到家后洗漱完毕已经快10点了,发现刚才我开了半天空调的房

    2024年02月15日
    浏览(36)
  • Mysql-------SQL:DDL数据定义语言、DDM数据操作语言、DQL数据库查询语言、DQL数据控制语言

    SQL语言可以分为: DDL(Data Definition Language)语言:数据定义语言,用于 创建或更改数据库中的表、视图、索引等对象 DML(Data Manipulation Language)语言:数据操作语言,用来对 数据库表中的数据进行增删改查操作; DQL(Data Query Language)语言: 数据查询语言,用来查询数据库

    2024年02月13日
    浏览(71)
  • 在.net中通过自定义LoggerProvider将日志保存到数据库方法(以mysql为例)

      在.NET中, Microsoft.Extensions.Logging是一个灵活的日志库,它允许你将日志信息记录到各种不同的目标,包括数据库。在这个示例中,我将详细介绍如何使用Microsoft.Extensions.Logging将日志保存到MySQL数据库。我们将使用Entity Framework Core来与MySQL数据库进行交互。 首先,我们需要创

    2024年02月05日
    浏览(47)
  • 我写了一个用来刷题的微信小程序

    目录 土著刷题是一个什么工具? 为什么要做土著刷题这样一个产品? 当前版本的规划 版本效果 土著刷题微信小程序,一款免费的刷题小程序,提供多种刷题模式,可以分享题库给小伙伴一起刷,针对特定题库的用户群体。 对于为什么要开发这个刷题小程序,这可以说是一

    2024年02月10日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包