数据库基础知识
数据类型 引擎
一、为什么要使用数据库
(1)数据保存在内存
优点:存取速度快
缺点:数据不能永久保存
(2)数据保存在文件
优点:数据永久保存
缺点:
1)速度比内存操作慢,频繁的IO操作。
2)查询数据不方便
(3)数据保存在数据库
1)数据永久保存
2)使用SQL语句,查询方便效率高。
3)管理数据方便
什么是SQL?
结构化查询语言,简称为SQL,是一种用于数据库查询的专门语言。
作用:用于存取数据、查询、更新和管理关系数据库系统。
什么是MySQL?
MySQL是一款关系型数据库管理系统,该系统由瑞典的MySQL AB公司研发,现归属于Oracle公司的产品系列。MySQL作为广受欢迎的关系型数据库管理系统之一,在WEB应用领域堪称顶尖的RDBMS应用软件。在Java企业级开发领域,它被广泛采用,这主要得益于其开源免费的特点以及易于扩展的优势。
数据库三大范式是什么
第一范式:每个列都不可以再拆分。
第二范式要求,在满足第一范式的条件下,所有非主键列必须完全依赖于主键,不能仅仅依赖于主键的某一部分。
第三范式是在第二范式的基础上进一步发展而来,它要求非主键列必须仅依赖于主键,而不能依赖于其他非主键。
在构建数据库架构的过程中,务必严格遵循三范式原则,若非遵循,则需提供充分的解释。例如,出于对性能的考量。实际上,我们常常因追求性能而不得不对数据库设计做出一定的妥协。
MySQL有关权限的表都有哪几个
MySQL服务器利用权限表来管理用户对数据库的接入权限,这些权限表位于mysql数据库中,并由mysql_install_db脚本进行初始化设置。具体而言,这些权限表包括user、db、table_priv、columns_priv以及host。接下来,我将逐一介绍这些表的具体结构和所包含的内容。
MySQL的binlog有有几种录入格式?分别有什么区别?
有三种格式,statement,row和mixed。
此外,在MySQL的新版本中,对行级操作进行了优化处理;当表格结构发生变动时,系统会记录语句而非逐行信息。
二、数据类型
mysql有哪些数据类型
TINYINT、SMALLINT、MEDIUMINT、INT和BIGINT这五种整数类型分别对应1字节、2字节、3字节、4字节和8字节的存储空间。它们均可附加UNSIGNED属性,用以表明存储的数据为无符号整数,即只能表示非负数值。
指定长度的整数类型,如INT(11),仅影响显示字符的个数,并不会限制值的实际范围。它需与UNSIGNED ZEROFILL属性结合使用方显其意义。
若设定字段类型为整型且长度为5,并采用无符号零填充属性,当用户输入数字12时,数据库内部将存储格式化为前导零的字符串“00012”。
实数类别涵盖了FLOAT、DOUBLE以及DECIMAL这三种类型。

DECIMAL类型适用于存储比BIGINT更大的整数,并且能够精确地保存小数数值。
FLOAT和DOUBLE类型具有特定的数值区间,同时能够执行基于标准浮点数的近似运算。
在计算过程中,FLOAT与DOUBLE的运行效率通常优于DECIMAL。对于DECIMAL,你可以将其视为基于字符串的操作方式。
字符串类型涵盖了VARCHAR、CHAR、TEXT以及BLOB等几种。
VARCHAR适用于存储可变长度的字符串数据,相较于固定长度的数据类型,它能够更有效地节省存储空间。
VARCHAR类型在存储字符串长度时,会占用1至2个字节的空间。当列的长度不超过255字节时,仅用1个字节来记录长度,若超过此限制,则需要2个字节来记录。
VARCHAR存储的内容超出设置的长度时,内容会被截断。
CHAR是定长的,根据定义的字符串长度分配足够的空间。
CHAR会根据需要使用空格进行填充方便比较。
CHAR适合存储很短的字符串,或者所有值都接近同一个长度。
CHAR存储的内容超出设置的长度时,内容同样会被截断。
使用策略:
对于频繁变动的内容,CHAR类型相较于VARCHAR类型更为适宜,其原因是CHAR类型不易形成数据碎片。
在处理长度较短的列时,CHAR类型相较于VARCHAR类型在节省存储空间方面表现得更为出色。
在使用过程中,需留意仅分配所需的空间,若列较长并排序,则会占用更多的内存。
在执行查询操作时,应尽量减少TEXT或BLOB类型数据的运用,因为这样会引发对临时表的频繁调用,进而造成显著的性能损耗。
4、在编程中,枚举类型(ENUM)能够将不重复的数据项组织成一个预先定义好的集合体。
有时可以使用ENUM代替常用的字符串类型。
ENUM存储非常紧凑,会把列表值压缩到一个或两个字节。
ENUM在内部存储时,其实存的是整数。
尽量避免使用数字作为ENUM枚举的常量,因为容易混乱。
排序是按照内部存储的整数
在处理日期和时间数据时,应优先选用timestamp格式,因其相较于datetime格式在空间占用上更为节省。
用整数保存时间戳通常不方便处理。
如果需要存储微妙,可以使用bigint存储。
看到这里,这道真题是不是就比较容易回答了。
三、引擎
1、MySQL存储引擎MyISAM与InnoDB区别
MySQL的存储引擎负责处理数据的存储、索引构建以及各类对象的存放,其本质上是一种文件系统的具体实现方式。
常用的存储引擎有以下:
2、MyISAM与InnoDB区别
3、MyISAM索引与InnoDB索引的区别?
4、InnoDB引擎的4大特性
5、存储引擎选择
如果没有特别的需求,使用默认的Innodb即可。
MyISAM:主要适用于以读写和插入操作为核心的应用场景,例如博客平台和新闻类门户网站。
Innodb数据库:其更新(删除)操作频繁,同时需确保数据完整性的需求强烈;在高并发环境下,能够有效支持事务处理和外键约束。以OA自动化办公系统为例。
本文来自作者[admin]投稿,不代表芝麻开门立场,如若转载,请注明出处:https://aizmkm.com/zshi/202507-1381.html
评论列表(3条)
我是芝麻开门的签约作者“admin”
本文概览:为什么要使用数据库 什么是SQL? 什么是MySQL? 数据库三大范式是什么 mysql有关权限的表都有哪几个 MySQL的binlog有有几种录入格式?分别有什么区别?...
文章不错《数据库基础知识:数据类型、引擎及 SQL、MySQL 的介绍?》内容很有帮助