栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JAVA-DAY20(数据库知识复习)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JAVA-DAY20(数据库知识复习)

MySQL重点  数据类型
分类类型名称说明
整数类型tinyInt很小的整数(8位二进制)
smallint小的整数(16位二进制)
mediumint中等大小的整数(24位二进制)

int(integer)

biginteger

普通大小的整数(32位二进制)

64位二进制

小数类型float单精度浮点数
double双精度浮点数
decimal(m,d)压缩严格的定点数
日期类型yearYYYY 1901~2155
timeHH:MM:SS -838:59:59~838:59:59
dateYYYY-MM-DD 1000-01-01~9999-12-3
datetimeYYYY-MM-DD HH:MM:SS 1000-01-01 00:00:00~ 9999-12-31 23:59:59
timestampYYYY-MM-DD HH:MM:SS 19700101 00:00:01 UTC~2038-01-19 03:14:07UTC
文本、二进制类型CHAr(M)M为0~255之间的整数
VARCHAr(M)M为0~65535之间的整数
TINYBLOB允许长度0~255字节
BLOB允许长度0~65535字节
MEDIUMBLOB允许长度0~167772150字节
LONGBLOB允许长度0~4294967295字节
TINYTEXT允许长度0~255字节
TEXT允许长度0~65535字节
MEDIUMTEXT允许长度0~167772150字节
LONGTEXT允许长度0~4294967295字节
VARBINARY(M)允许长度0~M个字节的变长字节字符串
BINARY(M)允许长度0~M个字节的定长字节字符串
  • 1、整数类型,包括TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT,分别表示1字节、2字节、3字节、4字节、8字节整数。任何整数类型都可以加上UNSIGNED属性,表示数据是无符号的,即非负整数。 长度:整数类型可以被指定长度,例如:INT(11)表示长度为11的INT类型。长度在大多数场景是没有意义的,它不会限制值的合法范围,只会影响显示字符的个数,而且需要和UNSIGNED ZEROFILL属性配合使用才有意义。 例子,假定类型设定为INT(5),属性为UNSIGNED ZEROFILL,如果用户插入的数据为12的话,那么数据库实际存储数据为00012。

  • 2、实数类型,包括FLOAT、DOUBLE、DECIMAL。 DECIMAL可以用于存储比BIGINT还大的整型,能存储精确的小数。 而FLOAT和DOUBLE是有取值范围的,并支持使用标准的浮点进行近似计算。 计算时FLOAT和DOUBLE相比DECIMAL效率更高一些,DECIMAL你可以理解成是用字符串进行处理。

  • 3、字符串类型,包括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枚举的常量,因为容易混乱。 排序是按照内部存储的整数

  • 5、日期和时间类型,尽量使用timestamp,空间效率高于datetime, 用整数保存时间戳通常不方便处理。 如果需要存储微妙,可以使用bigint存储。 看到这里,这道真题是不是就比较容易回答了。  

问题:

1,float和double的区别?

float单精度浮点数,double双精度浮点数

float 4个字节,double 8个字节

double比float更精确

他们都是不精确的

2,char和varchar的区别?

char:0-255

定长字符串

不会根据你的实际长度分配字符空间

空间换时间

varchar:0-65535

可变长度字符串

可以根据你实际长度,会动态计算需要的空间,然后给您分配空间

时间换空间

通常不会超过5000,超过5000会考虑使用Text去存储

性能没有char好,但varchar更节省空间

3,char()和varchar()括号里面的是字节单位还是字符单位?

Mysql5.0版本之前是字节,之后改为了字符

假设字符集是utf-8,一个中文是3个字节,那么char(32)只能存储10给中文字符

4,用什么存储金额?

数据库里面严禁使用double和float存储金额

使用定点型decimal(m,d)存储金额

使用长整型()存储到金额的最小单位

5,超长文本怎么存储

严禁varchar存储超长文本

使用blob类型或者Text类型来存储超出文本,并且应该把超长文本所在的字段独立存储到一张表,建立主外关联

超出5000就是超长文本

6,二进制文件(图片,音频,视频)怎么存储

使用Binary类型,直接存储二进制文件到数据库里面,但是性能很差

存储方案:二进制文件直接以文件的形式存在磁盘里面,在数据库建立一个字段存储文件的地址

存储方案二:文件数据库

7,Mysql的整型支持无符号,使用关键字UNSINGED

    age  tinyint                   --age字段取值范围是-128到127

    age  tinyint unsigned   --age 字段取值范围是0-255

约束

1,非空约束 NOT NULL:用于控制字段的内容一定不能为空(NULL)。

2,检查约束 CHECK(MySQL 不支持):用于控制字段的值范围。

3,唯一约束 UNIQUE:控件字段内容不能重复,一个表允许有多个 Unique 约束。

4,主键约束 PRIMARY KEY:也是用于控件字段内容不能重复,但它在一个表只允许出现一个。

5,外键约束 FOREIING KEY:用于预防破坏表之间连接的动作,也能防止非法数据插入外键列,因为它必须是它指向的那个表中的值之一。

SQL的分类-语法整理(DDL,DML,DQL,DCL)

1,数据定义语言DDL(Data Ddefinition Language)

create,drop,alter,show

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

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

select,from,where,group by,order by

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

3,数据操纵语言DML(Data Manipulation Language)

增          改          删

insert,update,delete

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

4,数据控制功能DCL(Data Control Language)

grant(),revoke

主要为以上操作 即对数据库用户授予或回收访问数据库的某种权限。

5,事务控制功能TCL(Transaction Control Language)

commit(提交),rollback(回滚)

用于操作事务,以及事务的提交和回滚操作。

连表查询的方式 关系类型和三范式,反三范式

数据库中表和表之间的关系:一对一,一对多(多对一),多对多

三范式 - - 以时间换空间(增加关系来减少冗余数据)

反(打破)三范式 -- 以空间换时间(允许适量的冗余数据,减少关系)

事务四大特性和四种隔离级别 锁的种类

死锁,如何防止死锁

索引

MySQL-了解 存储引擎的区别

   innoDB

   Mylsam

   Merroy

关系型数据库与NoSQL(非关系型)数据库的区别

主流的关系型数据库:MySQL  Oracle

主流的NoSQL数据库:Redis

MySQL和Redis的关系不是谁能替代谁,而是在数据库量非常大,数据库并发操作非常频繁的情况下,可以通过Redis来搭建缓存服务器分担MySQL的压力

视图,存储过程,存储函数,触发器 SQL语句优化,数据库优化的思路 数据库的冷热备份

冷备份--停机(关闭数据库服务)后备份--此时服务不可用

热备份--不停机备份--此时服务可以

暑期编程PK赛 得CSDN机械键盘等精美礼品!
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1016941.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号