MySQL学习
本文最后更新于:2022年4月5日 晚上
概览:MySQL学习
Mysql
元素类型
字节:Byte,1Byte = 8bit.
字符串类型:
- char:0-255字节,定长
- varchar:0-65535字节,变长。
- 存储限制:开头会占据1-2字节存储字符串的实际长度。(2字节对应最大的十进制2^16-1,即65535长度).
- 编码长度限制:若字符类型为utf8,则每个字符最多占3个字节,最长21845,若为utfmb4,则每个字符最多占据4个字节,最长16383.
- 行长度限制:Mysql要求一行的定义长度不能超过65535!
mysql建表中也会有提示:
1 |
|
- text,长度65535,即2^16 -1,最大64KB.
- longtext,2^32 - 1,极大的文本数据,最大4GB。
数值型
时间日期类型
两表的连接查询:
1 |
|
更加推荐join on的写法:
- 内连接式的写法
1 |
|
外连接
左外连接,左表的所有内容都会被列出,右表不满足条件的使用null来代替
1
select * from t1 left join t2 on t1.id = t2.id;
右外连接
1
select * from t1 right join t2 on t1.id = t2.id;
存储引擎
- Innodb是行级锁,支持事务,
- 可在命令行中使用
show engines
来查看存储引擎,一般是InnoDB作为了默认的存储引擎、
查看Mysql存储路径
- 先用
ps -ef | grep nysql
- 然后查看字段中的
--datadir
查看对应的路径。
字段类型
- 够用即可,int是4字节,BIGINT是8字节
- decimal(m,n),m表示总共的位数,即小数部分和整数部分的总位数,n表示小数部分的位数。
索引
联合索引是多个字段共同作为索引。
- 联合索引是字段整体有序,不过是优先以左前缀字段有序。
- 联合索引可以代替左前缀索引字段的单列索引
- 查询条件中联合索引的左前缀为确定值,此联合索引可以优化第二个字段排序。
https://www.iteye.com/blog/zccst-1697043
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!