学习完这个章节之后的小疑问!

学习完这个章节之后的小疑问!

1:

http://img1.sycdn.imooc.com//climg/5ccd1c310001a5be07200322.jpg

我想知道,我查看数据表的详细信息的时候,发现存储引擎后面有个DEFAULT,这个是默认值吗?请问具体代表什么意思?

2:

关于完整性约束条件,FOREIGN KEY外键约束好像还没讲解呢?

3:

http://img1.sycdn.imooc.com//climg/5ccd1cf50001f53a06880114.jpg

这里说MyISAM引擎有三种存储格式,那么InnoDB引擎是不是也同样有定长(FIXED 静态),动态(DYNAMIC)和压缩(COMPRESSED)这三种存储格式呢?


4:

如果说FIXED静态存储格式的数据表性能更强,那为什么不直接把所有的数据表都设置为FIXED静态存储格式呢?

另外,如果一个表本来是动态(DYNAMIC)的存储格式,然后通过ROW_FORMAT设置为FIXED静态存储格式后,

那表中原本的动态属性是否会变成静态属性?例如:

在一个表中有一个字段是

a VARCHAR(10)

然后把这个表设置为静态存储(通过ROW_FORMAT设置为FIXED)之后,

这个a字段会不会变成了 a CHAR(10)的?


请老师解答一下,谢谢!!!!!

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,关于同学的问题回答如下:

1、DEFAULT是默认的意思。

2、外键约束将会在《MySQL基础之数据管理》的2-6小节讲。

3、这三种存储格式是MyISAM引擎的,InnoDB引擎不存在这三种存储格式。

4、全部设置为静态存储格式,固定了字段的长度,但是有时候使用varchar等更省空间。所以需要根据具体情况分析。另外使用ROW_FORMAT设置为FIXEDX静态存储格式后,字段类型不会改变,只是在存储时,存储格式变成了FIXED静态的。

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

  • MasonM 提问者 #1
    感谢老师你的解答!但我还有疑问。 1:我知道DEFAULT是默认的意思,那在存储引擎后面的DEFAULT是指什么东西的默认值? 5:只是在存储的时候变成FIXED静态存储格式是什么意思呢?不懂呢?
    2019-05-04 20:01:37
  • 好帮手慕珊 回复 提问者 MasonM #2
    你好!1、DEFAULT是指后面字符集的默认值。2、存储类型的问题,以存储字符串的数据为例,转换格式后,字段的类型还是VARCHAR(20),但是存储数据时,数据的长度不论多大,都是20。祝学习愉快!
    2019-05-05 10:50:38
  • MasonM 提问者 回复 好帮手慕珊 #3
    谢谢老师,我懂了!
    2019-05-05 21:29:39
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师