MySQL(2)
2022/2/18 19:13:15
本文主要是介绍MySQL(2),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
存储引擎
1、定义:存储引擎可以看成是处理数据的不同方式,show engines;是查看所有存储引擎的命令。 2、主要类型:MYISAM,MEMORY,INNOdb,BLACKHOLE MYISAM MySQL5.5之前默认的存储引擎,不支持下面的,不够安全,但是速度比innodb块。 INNOdb MySQL5.5之后的默认的存储引擎 支持事物 transactions,行级锁row-level locking,外键foreign key,更加安全。 MEMEORY:基于内存存取数据,速度最快但是最不安全,断电之后就没有了。 BLACKHOLE:写入其中数据就会立刻消失,类似于垃圾站。 3、创建表的区别:指定存储引擎的命令:create table t1 (id int) engine=myisam; (1)myisam会创3个文件,.frm 表结构文件 .MYD表数据文件 .MYI表索引文件 (2)innodb .frm 表结构文件 .ibd 表数据和表索引文件 (3)memory .frm 表结构文件 (4) blackhole .frm 表结构文件
数据类型
1、整型 int tinyint smallint int bigint 不同的int类型能够存储不同的数据长度,要注意的是: (1)正负号占一个比特为 (2)手机号必须使用bigint (3)所有的int类型默认都需要正负号 移除正负号: create table t1 (id tinyint unsigned); 2、浮点型 float(255,30) 总共255位,小数占30位 double(255,30) 总共255位,小数占30位 decimal(65,30) 总共65位,小数占30位 三者精确度不一样,float<double<decimal 3、字符类型 char(4)-->定长类型,最多只能存4个字节,多了报错,少了自动空格填充至4个,在存的时候会自动补上空格,但是取的时候就是会把空格自动去除. varchar-->变长类型,最多能存4个,多了报错,少了有几个存几个 针对5.6版本超出范围不会报错,而是自动帮你截取并保存,我下的是8.0,是自动严格模式的。 对此更改sql模式就行: 方式1:修改配置文件 方式2:show variables like '%mode%'; set session;当前窗口有效 set global;当前服务有效 set global sql_model=strict_trans_tables; 退出重新进入 注意:统计某个字段数据的长度:select char_length(name)from t1 where id=1; char类型在取的时候会自动去掉空格,可以设置sql_mode来让他显示
char和varchar的对比
char:整存整取,速度快,但是浪费存储空间。 varchar:节省存储空间,但是存取数据的速度比char慢,会给每一个数据加1bytes的报头,里面放着数据的长度。 补充:在创建字段的时候可以加上注释:create table t1( id int comment'序号');
这篇关于MySQL(2)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-25如何部署MySQL集群资料:新手入门教程
- 2024-12-24MySQL集群部署资料:新手入门教程
- 2024-12-24MySQL集群资料详解:新手入门教程
- 2024-12-24MySQL集群部署入门教程
- 2024-12-24部署MySQL集群学习:新手入门教程
- 2024-12-24部署MySQL集群入门:一步一步搭建指南
- 2024-12-07MySQL读写分离入门:轻松掌握数据库读写分离技术
- 2024-12-07MySQL读写分离入门教程
- 2024-12-07MySQL分库分表入门详解
- 2024-12-07MySQL分库分表入门指南