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 写的,大家有需要的可以看看,有问题请直接留言

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值