火影忍者 22/8/10 MySQL3

基本类型

字符串类型
英文占一个字节
汉字 要根据编码方式 utf-8 一个汉字占3个字节

在这里插入图片描述
在这里插入图片描述
char 长度不够 采用空格填充
长度超过 不会被存储

varchar 存储时不会以空格补全

从开发的角度来看数据库 字段名就是变量名 一一进行赋值
在这里插入图片描述

不论varchar还是char 在读取时 都会去掉空格

在这里插入图片描述

length函数 计算存储消耗的空间

在这里插入图片描述
char-length 字符的长度

面试题:
char和varchar区别
长度大小区别:
CHAR(M)定义的列的长度为固定的,M取值可以为0~255之间;
VARCHAR(M)定义的列的长度为可变长,M取值可以为0~65535之间,(VARCHAR的最大有效长度由最大行大小和使用 的字符集确定。整体最大长度是65,532字节)。
存数据时的区别:
CHAR值存储时,如果字符数没有达到定义的位数,会在后面用空格补全,再存入数据库中。比如定义 CHAR(10),那么不论存储的数据是否达到了10个字节,都要占去10个字节的空间,不足的自动用空格填充;
VARCHAR值保存时只保存需要的字符数,另加一个字节来记录长度(如果列声明的长度超过255,则使用两个字节)。VARCHAR值保存时不进行填充。

取数据时的区别:自动填充的都会删除,自己特意打进去的都会保留
数据库取CHAR值时,尾部的空格会被删除;
数据库取VARCHAR值时,尾部的空格仍然保留。

总结:
CHAR定长,一般用于固定长度的表单提交数据存储 ;例如:身份证号,手机号,电话,密码等;而VARCHAR不定长。

从空间上考虑,VARCHAR更好,从效率上考虑,CHAR更好

在这里插入图片描述
使用,一些app的文本字数限制,比如说说,聊天记录

二进制
在这里插入图片描述
在这里插入图片描述

一般不会存取图片 视频 音频,会存储相关地址

enum枚举类型
在这里插入图片描述
set 集合类型 不允许出现重复的
去重
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
写日期类型的时候,建议用引号引起来

在这里插入图片描述
具体到详细时间 可以插入当前时间
在这里插入图片描述
作业讲解:
在这里插入图片描述
在这里插入图片描述

show databases 显示引擎和字符集
在这里插入图片描述
清晰显示 \G 不以表格显示 按行显示
在这里插入图片描述

对字段类型的选项 ----属性----约束,限制

zerofill
在这里插入图片描述
在这里插入图片描述
主键冲突,放不进去
改变主键就行
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
需要一一对应
在这里插入图片描述
自增,即使中间终端,在上一个自增上自增
在这里插入图片描述
auto_increment 初始值 为1 偏移量默认为1

delete from xxxx把表里面的内容全部删除,但表格保存
很危险 需要备份

只想删一条 要设立条件
在这里插入图片描述

设置初始值和设置偏移量
在这里插入图片描述
临时表保存在内存里,当用户登录,可以看到临时表,否则看不到临时表
用户退出,临时表删除,因为没有放在磁盘里,其他人无法看到,
也无法永久保存

根据已有的表来创建新表

在这里插入图片描述
复制表的结构
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

列选项

default

在这里插入图片描述

comment

存储引擎

在这里插入图片描述

engine 指定表使用的存储引擎

在这里插入图片描述

在这里插入图片描述
默认引擎 innodb
支持事务 ,行锁,外键

进程的互斥:资源争用 排他性
行锁
表锁

在innodb出现之前,使用的是muisam
在这里插入图片描述
csv文件
在这里插入图片描述
memory引擎
在这里插入图片描述

指定存储引擎

在这里插入图片描述

约束

唯一 创建唯一索引
在这里插入图片描述
unique可以设为null ,且多次重复
在这里插入图片描述
unique可以设为空值 只有一次

主键约束

复合主键 单列主键
在这里插入图片描述

两个组合一样 复合主键
在这里插入图片描述
在这里插入图片描述

建主键的好处----每个表不一定要建索引,但是建一个是最好的

建立 主键索引
快速定位数据:先查询索引,然后根据索引去查询数据
在这里插入图片描述

索引的类型

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值