MySQL 笔记

– MySQL 笔记

这段时间在准备一些面试的知识点,就看了一些 MySQL 常见的知识点,直接做了笔记,下面分享给大家,希望对大家有所帮助

– 数据类型
整形:
    整形数值的取值范围:有符号 (-2的字节数次方)~ (2的字节数次方-1)|| 无符号 0 ~ (2的字节数次方)
    tiny int: 字节长度 1
    small int:字节长度 2
    medium int: 字节长度 3
    int:字节长度 4
    big int:字节长度 8
浮点型:
    float: 字节长度 4 、一字节存储符号,八字节存储二进制指数,剩余存储尾数、精确 8位
    double: 字节长度 8 精确 16 位
    decimal(numeric):DECIMAL(M、D) 字节长度 M+2 字节,M 数值最大数,D 小数点右侧数字的数目
字符串型:
    varchar:可变长度字符串
        需要用 1-2 位 额外记录字符串长度,超出部分将会被阶段,易产生碎片数据
    char:定长字符串
        使用时,数据不足的长度部分使用空格填充,数据库搜索速度更快,不会产生碎片
    当数据的数据长度差距很小时,使用char 更节省空间,搜索速度会更快
    对于经常变更的数据,char比varchar 更好,char不易产生碎片

    ENUM:枚举类型,把不重复的集合存储为一个预定义的集合,存储非常紧凑,把数据压缩到1-2个字节
            枚举类型的数据在存储空间中使用的是数字存储,所以尽量不要用数字作为枚举类型的常量,容易造成混乱
            枚举表大大缩减存储空间

    text:长文本类型
    blob:二进制形式的长文本数据
    
时间和日期型:
    date:日期,年-月-日
    time:时间,时-分-秒
    year:年份值
    datetime:字节长度 8,混合日期和时间值
    timestamp:字节长度 4,混合日期和时间值、时间戳
    在使用时间和日期型时,datetime 和 timestamp 尽量使用timestamp,timestamp 效率更高
– 列属性
auto_increment:自动增长
default:默认值
not null:非空集合
zerofill:填充零,配合 整形数据使用,当定义整形长度时,整形数据位数不足时,会使用 0 填充
– 表引擎
InnoDB、MyISAM、CSV、memory、blockhold、archive
– 常用的表引擎
InnoDB
    支持 行锁,服务器开销最大,支持事务,数据和索引都存储在共享表空间中,可通过配置分开,崩溃后可安全恢复,支持外键
    通过一定的机制和工具下,支持热备份
MyISAM
    支持 表锁,服务器开销最小,不支持事务,数据存储在.MYD 文件中,索引存储在.MYI文件中,不支持崩溃后的安全恢复
    *注意点:服务器层 不管理事务,由下一层 引擎实现,MyISAM 不支持事务,若在MyISAM 表中使用事务,MySQL 不报错也不会提醒*
– 存储过程
保存一条或多条语句sql语句的集合/ 业务和流程的集合
保持数据的一致性
简化对变动的管理
– 触发器
用来保证数据完整行的一种操作
与表事件相关的特殊存储过程
触发器过多 容易造成数据混乱,不方便管理
– 锁类型
共享锁(读操作)
    公共读操作
排他锁(写操作)
    单一写操作
– 常用命令操作
 mysql -u username -p password -h host -P port
 -u 用户名
 -h 主机地址
 -p 密码
 -P 端口号

 \G 格式化显示
 \c 取消执行
 \q quit 退出
 \s status 显示当前状态
 \h help 帮助
 \d 改变执行服务

下面一篇文章将会写一些自己理解的常用算发程序,是由PHP 写的,大家有需要的可以看看,有问题请直接留言

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值