当前位置: 首页> 房产> 家装 > 视频拍摄教程_王也台球_计算机培训课程_自己做网站如何赚钱

视频拍摄教程_王也台球_计算机培训课程_自己做网站如何赚钱

时间:2025/7/13 11:01:53来源:https://blog.csdn.net/2301_82240729/article/details/144108368 浏览次数:0次
视频拍摄教程_王也台球_计算机培训课程_自己做网站如何赚钱

数据类型分类

数值类型

tinyint类型
  1. tinyint为例
  2. 所有数值类型默认都是有符号的,无符号的需要在后面加unsigned
  3. tinyint的范围在-128~127之间
  4. 无符号的范围在0~255之间(类比char)
create database test_db;
use test_db;

建表时一定要跟着写上属性

mysql> create table if not exists t1(-> num tinyint-> );
//查看
desc t1;
show tables;
show create table t1\G;

在这里插入图片描述

//无符号整数
mysql> create table if not exists t2(-> num tinyint unsigned-> );

在这里插入图片描述

注意:

  1. 尽量不使用unsigned,对于int类型可能存放不下的数据,int unsigned同样可能存放不下。
  2. 与其如此,还不如设计时,将int类型提升为bigint类型,根据自身使用场景,选择合适的数据类型即可。
  3. 如果我们向mysql特定的类型中插入不合法的数据,mysql一般都是直接拦截,不让我们做对应的操作,与C不同,C会截断再存储
  4. 反过来,如果我们有数据已经成功插入到mysql中,一定是合法得到
  5. 所以,mysql中,一般而言,数据类型本身就是一种约束,约束的是程序员
  6. 这保证了数据库中的数据是可预期的,完整的
  7. mysql表中建立属性列,列名称在前,类型在后
bit类型
bit[(M)] : 位字段类型。M表示每个值的位数,**范围从1到64**。如果M被忽略,默认为1
mysql> create table if not exists t3(-> id int,//一个bit位,只能插0或插1-> online bit(1)-> );

在这里插入图片描述

  1. online 是位类型,以ASCII码值显示,ASCII码是值,十六进制是显示方式
  2. 如果看不到,那么其显示方式是字符方式
  3. 若想让其显示出来,select id,hex(online) from t3;

在这里插入图片描述

验证为何是ASCII码值:

  1. 首先改变列的属性:alter table t3 modify online bit(10);
  2. 97换算成十六进制为61

在这里插入图片描述

浮点数类型

float,double,decimal

float
  1. float[(m, d)] [unsigned] : M指定显示长度,d指定小数位数,占用空间4个字节
  2. 小数:没特殊说明,表示有符号的数,float(4,2)表示的范围是-99.99 ~ 99.99
mysql> create table if not exists t4(-> id int,-> salary float(4,2)-> );

在这里插入图片描述

  1. MySQL在保存值时会进行四舍五入
    注意:例如:-99.999四舍五入后为-100.000数据不允许插入

在这里插入图片描述

  1. 如果定义的是float(4,2) unsigned 这时,因为把它指定为无符号的数,范围是 0 ~ 99.99
create table if not exists t5(id bigint, salary float(4,2) unsigned);

在这里插入图片描述

测试float:存在精度损失
float表示的精度大约是7位

alter table t5 modify salary float;
insert into t5 values (1,23456789.234526614);//ok
insert into t5 values (1,2349.234526);
insert into t5 values (1,23429.234526);
select * from t5;

在这里插入图片描述

decimal
decimal(m, d) [unsigned] : 定点数m指定长度,d表示小数点的位数
  1. decimal(5,2) 表示的范围是 -999.99 ~ 999.99
  2. decimal(5,2) unsigned 表示的范围 0 ~999.99
  3. float和decimal相似,但是表示的精度不一样
  4. decimal的精度更准确,因此如果我们希望某个数据表示高精度,选择decima
mysql> create table if not exists t6(-> f1 float(10,8),-> f2 decimal(10,8)-> );

在这里插入图片描述

总结:
  1. float表示的精度大约是7位
  2. decimal整数最大位数m为65。支持小数最大位数d是30。如果d被省略,默认为0.如果m被省略,默认是10
  3. 建议:如果希望小数的精度高,推荐使用decimal

字符串类型

char

char(L): 固定长度字符串,L是可以存储的长度,单位为字符,最大长度值可以为255
  1. C语言中字符,一个字符对应一个字节。
  2. 与C中不同的是,MySQL中的字符,就代表一种符号一个汉字就是一个字符

在这里插入图片描述

  1. char类型最大长度为:255

在这里插入图片描述

varchar

varchar(L): 可变长度字符串,L表示字符长度,最大长度65535个字节
mysql> create table t8(-> id int,-> name varchar(6)-> );

在这里插入图片描述

区分字节与字符的不同

在这里插入图片描述

关键字:视频拍摄教程_王也台球_计算机培训课程_自己做网站如何赚钱

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: