您当前的位置:首页 > 电脑百科 > 数据库 > 百科

深入了解数据库原理及底层

时间:2022-01-27 16:25:13  来源:  作者:源鲲

1. 请简洁描述 MySQL 中 InnoDB 支持的四种事务隔离级别名称,以及逐级之间的区别?

SQL 标准定义的四个隔离级别为:

read uncommited :读到未提交数据

read committed:脏读,不可重复读

repeatable read:可重读

serializable :串行事物

2. 在 MySQL 中 ENUM 的用法是什么?

ENUM 是一个字符串对象,用于指定一组预定义的值,并可在创建表时使用。

SQL 语法如下:

Create table size(name ENUM('Smail,'Medium','Large');

3. CHAR 和 VARCHAR 的区别?

CHAR 和 VARCHAR 类型在存储和检索方面有所不同。

CHAR 列长度固定为创建表时声明的长度,长度值范围是 1 到 255。

当 CHAR 值被存储时,它们被用空格填充到特定长度,检索 CHAR 值时需删除尾随

空格。

4. 列的字符串类型可以是什么?

字符串类型是:SET

BLOB

ENUM

CHAR

TEXT

VARCHAR

5. MySQL 中使用什么存储引擎?

存储引擎称为表类型,数据使用各种技术存储在文件中。

技术涉及:

Storage mechanism

Locking levels

Indexing

Capabilities and functions.

6. TIMESTAMP 在 UPDATE CURRENT_TIMESTAMP 数据类型上做什么?

创建表时 TIMESTAMP 利用 Zero 更新。只要表中的其他字段发生更改,UPDATECURRENT_TIMESTAMP 修饰符就将时间戳字段更新为当前时间。

7. 主键和候选键有什么区别?

表格的每一行都有主键唯一标识, 一个表只有一个主键。主键也是候选键。按照惯例,候选键可以被指定为主键,并且可以用于任何外键引用。

8. MySQL 数据库服务器性能分析的方法命令有哪些?

Show status 一些值得监控的变量值:

Bytesreceived 和 Bytessent 和服务器之间来往的流量。 Com 服务器正在执行的命令。 Created 在查询执行期限间创建的临时表和文件。 Handler 存储引擎操作。 Select 不同类型的联接执行计划。 Sort_* 几种排序信息。 Show session status like ‘Select’; Show profiles SETprofiling=1; Show profilesG Show profile;

9. LIKE 和 REGEXP 操作有什么区别?

LIKE 和 REGEXP 运算符用于表示 ^ 和%。

SELECT FROM <tablename> WHERE * REGEXP "^b";

SELECT FROM <tablename> WHERE LIKE "%b";

10. BLOB 和 TEXT 有什么区别?

BLOB

BLOB 是一个二进制对象,可以容纳可变数量的数据。有四种类型的 BLOB TINYBLOB

BLOB MEDIUMBLOB 和 LONGBLOB

它们只能在所能容纳价值的最大长度上有所不同。

TEXT

TEXT 是一个不区分大小写的 BLOB。四种 TEXT 类型

TINYTEXT

TEXT

MEDIUMTEXT 和

LONGTEXT

它们对应于四种 BLOB 类型,并具有相同的最大长度和存储要求。BLOB 和 TEXT 类型之间的唯一区别在于对 BLOB 值进行排序和比较时区分大小写,对 TEXT 值不区分大小写。

11. 数据库的三范式?

第一范式:数据库表的每一个字段都是不可分割的。

第二范式:数据库表中的非主属性只依赖于主键。

第三范式:不存在非主属性对关键字的传递函数依赖关系。

12. MySQL 表中允许有多少个 TRIGGERS?

在 MySQL 表中允许有六个触发器,如下:

BEFORE INSERT

AFTER INSERT

BEFORE UPDATE

AFTER UPDATE

BEFORE DELETE and

AFTER DELETE

13. 什么是通用 SQL 函数?

数学函数

Abs(num)求绝对值

floor(num)向下取整

ceil(num)向上取整

字符串函数

insert (s1,index,length,s2) 替换函数

S1 表示被替换的字符串o s2 表示将要替换的字符串

Index 表示被替换的位置, 从 1 开始

Lebgth 表示被替换的长度

upper(str),ucase(str)将字母改为大写

lower(str),lcase(str)将字母改为小写

left(str,length)返回 str 字符串的前 length 个字符

right(str,length)返回 str 字符串的后 length 个字符

substring(str,index,length)返回 str 字符串从 index 位开始长度为

length 个字符(index 从 1 开始)

reverse(str)将 str 字符串倒序输出

日期函数

curdate()、current_date( ) 获取当前日期

curtime()、current_time( ) 获取当前日期

now()获取当前日期和时间

datediff(d1、d2)d1 和 d2 之间的天数差

adddate(date,num)返回 date 日期开始,之后 num 天的日期

subdate(date,num)返回 date 日期开始,之前 num 天的日期聚合函数

Count(字段)根据某个字段统计总记录数(当前数据库保存到多少条数据)

sum(字段)计算某个字段的数值总和

avg(字段)计算某个字段的数值的平均值

Max(字段)、min(字段)求某个字段最大或最小值

14. MySQL 中有哪几种锁?

MyISAM 支持表锁,InnoDB 支持表锁和行锁,默认为行锁。

表级锁:开销小,加锁快,不会出现死锁。锁定粒度大,发生锁冲突的概率最高,并发量最低。

行级锁:开销大,加锁慢,会出现死锁。锁力度小,发生锁冲突的概率小,并发度最高。

【关注】转发了解更多内容

深入了解数据库原理及底层

 



Tags:数据库   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
1. 请简洁描述 MySQL 中 InnoDB 支持的四种事务隔离级别名称,以及逐级之间的区别?SQL 标准定义的四个隔离级别为:read uncommited :读到未提交数据read committed:脏读,不可重复读...【详细内容】
2022-01-27  Tags: 数据库  点击:(0)  评论:(0)  加入收藏
背景:项目中遇到的问题,需要二区两台数据库之间同步一些表,以及导出sql文件同步至三区数据库。1 SQL文件目录新建SQL文件生成的目录D:\mptmsu\data\DNLTBDIR。二区数据库中执行...【详细内容】
2022-01-20  Tags: 数据库  点击:(13)  评论:(0)  加入收藏
ClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS)。来自于2011 年在纳斯达克上市的俄罗斯本土搜索引擎企业Yandex公司,诞生之初就是为了服务Yandex公司自家的W...【详细内容】
2022-01-18  Tags: 数据库  点击:(8)  评论:(0)  加入收藏
TeamDesigner,一款免费在线的数据库表设计工具,适合后端程序员。类似PownerDesigner的功能,可用于设计mysql,oracle的表结构。地址:http://101.200.59.11/主要功能1、支持Mysql,Or...【详细内容】
2022-01-11  Tags: 数据库  点击:(27)  评论:(0)  加入收藏
mysql自动备份脚本::mysqldump -u root -p密码 test_zc >d:\bak.sql::pause@@echo offset errorlevel=0set path_home_mysql=D:\mysql-8.0.27-winx64\::MySQL安装的BIN目录...【详细内容】
2021-12-30  Tags: 数据库  点击:(21)  评论:(0)  加入收藏
1992年11月,Microsoft Access 1.0版本发布。同时,这也是Access数据库,第一次进入大家的视野。起初,Access的原名并不叫Access,而叫Cirrus。Ciruus开发于Visual Basic之前,当时的...【详细内容】
2021-12-29  Tags: 数据库  点击:(41)  评论:(0)  加入收藏
安装环境Linux服务器:Centos 6 64位Oracle服务器:Oracle11gR2 64位 系统要求说明:内存必须高于1G的物理内存;交换空间,一般为内存的2倍(1G的内存可以设置swap 分区为3G大小);硬...【详细内容】
2021-12-27  Tags: 数据库  点击:(35)  评论:(0)  加入收藏
《开源精选》是我们分享Github、Gitee等开源社区中优质项目的栏目,包括技术、学习、实用与各种有趣的内容。本期推荐的HasorDB 是一个全功能数据库访问工具,提供对象映射、丰...【详细内容】
2021-12-22  Tags: 数据库  点击:(28)  评论:(0)  加入收藏
作者丨Rafal Grzegorczyk译者丨陈骏策划丨孙淑娟【51CTO.com原创稿件】您是否还在手动对数据库执行各种脚本?您是否还在浪费时间去验证数据库脚本的正确性?您是否还需要将...【详细内容】
2021-12-22  Tags: 数据库  点击:(37)  评论:(0)  加入收藏
读取SQLite数据库,就是读取一个路径\\192.168.100.**\position\db.sqlite下的文件<startup useLegacyV2RuntimeActivationPolicy="true"> <supportedRuntime version="v4.0"/...【详细内容】
2021-12-16  Tags: 数据库  点击:(39)  评论:(0)  加入收藏
▌简易百科推荐
1. 请简洁描述 MySQL 中 InnoDB 支持的四种事务隔离级别名称,以及逐级之间的区别?SQL 标准定义的四个隔离级别为:read uncommited :读到未提交数据read committed:脏读,不可重复读...【详细内容】
2022-01-27  源鲲    Tags:数据库   点击:(0)  评论:(0)  加入收藏
基本上明白了这个小伙伴的意思,于是我自己也写了个测试案例,重新整理了今天这篇文章,希望和小伙伴们一起探讨这个问题,也欢迎小伙伴们提出更好的方案。1. 思路分析批量插入这个...【详细内容】
2022-01-24  Java技术那些事    Tags:数据   点击:(5)  评论:(0)  加入收藏
ClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS)。来自于2011 年在纳斯达克上市的俄罗斯本土搜索引擎企业Yandex公司,诞生之初就是为了服务Yandex公司自家的W...【详细内容】
2022-01-18  软件架构    Tags:IDEA   点击:(8)  评论:(0)  加入收藏
1.ExecutorExecutor 是 MyBatis 的核心接口之一,其中定义了数据库操作的基本方法。在实际应用中经常涉及的 SqISession 接口的功能,都是基于 Executor 接口实现的。 BaseExec...【详细内容】
2022-01-13  java成神之路    Tags:MyBatis   点击:(14)  评论:(0)  加入收藏
一个挺着啤酒肚,身穿格子衫,发际线严重后移的中年男子,手拿着保温杯,胳膊夹着MacBook向你走来,看样子是架构师级别。面试开始,直入正题。面试官:小伙子,看到你的简历上面写了项目中...【详细内容】
2022-01-12  一灯架构    Tags:分库分表   点击:(24)  评论:(0)  加入收藏
TeamDesigner,一款免费在线的数据库表设计工具,适合后端程序员。类似PownerDesigner的功能,可用于设计mysql,oracle的表结构。地址:http://101.200.59.11/主要功能1、支持Mysql,Or...【详细内容】
2022-01-11  互联网前行者90    Tags:数据库   点击:(27)  评论:(0)  加入收藏
前言上篇文章简单介绍canal概念,本文结合常见的缓存业务去讲解canal使用。在实际开发过程中,通常都会把数据往redis缓存中保存一份,做下简单的查询优化。如果这时候数据库数据...【详细内容】
2022-01-04  仰望四十五度的光    Tags:数据同步   点击:(27)  评论:(0)  加入收藏
mysql自动备份脚本::mysqldump -u root -p密码 test_zc >d:\bak.sql::pause@@echo offset errorlevel=0set path_home_mysql=D:\mysql-8.0.27-winx64\::MySQL安装的BIN目录...【详细内容】
2021-12-30  alantop    Tags:数据库脚本   点击:(21)  评论:(0)  加入收藏
1992年11月,Microsoft Access 1.0版本发布。同时,这也是Access数据库,第一次进入大家的视野。起初,Access的原名并不叫Access,而叫Cirrus。Ciruus开发于Visual Basic之前,当时的...【详细内容】
2021-12-29  乐图软件    Tags:Access   点击:(41)  评论:(0)  加入收藏
1增1.1【插入单行】insert [into] <表名> (列名) values (列值)例:insert into Strdents (姓名,性别,出生日期) values (&#39;开心朋朋&#39;,&#39;男&#39;,&#39;1980/6/15&#3...【详细内容】
2021-12-27  快乐火车9d3    Tags:SQL   点击:(24)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条