----数据类型(列类型)
整数型和小数型
@作者 原地址:www.1314sl.com
--整数型
五类:
tinyint --迷你型 最多为256种 (常用)
smallint --小整型 最多65536种 2个字节
mediumint --中整型 使用3个字节数存储
int --标准整形,使用4个字节存储 (常用)
bigint --大整型 使用8个字节
-------- 小数型 会四舍五入
浮动型:小数点浮动,精度有限,会丢失精度
定定型:小数点固定,精度固定,不会丢失精度
-------- 浮点型
float 4
double 8
------ 定点型 不会四舍五入
查看警告:show warnings;
-------- 时间日期类型
datetime:时间日期
date : 日期
time :时间(段)
timestamp : 时间戳
-------------字符串类型----UTF8 一个字符占3个字节--------------
在SQL 中,将字符串类型分了6类:
char , varchar,text,blob,enum,set
--定长字符串
char 在定义结构的时候就已经定义了最终数据的存储长度
char(L)L代表length、可以存储的长度、单位为字符,最大长度值为255.
--变长字符串
varchar 在分配空间的时候,按最大的空间分配,但是实际上最终用了多少,是是根据具体的数据来确定
Varchar(L) 理论长度是65536个字符
--文本字符串
如果数据量非常大,通常说超过255个字符就会使用文本字符串
存储数据的格式进行分类:text和blob
text 存储文字
blob 存储二进制数据(通常不用)
------ 枚举字符串---------------
枚举:enum 事先将所有可能出现的结果设计好
使用方式:
定义:enum(可能出现的元素列表);
--证明字段存储的数据是数值:将2数据取出来+0就可以判断出原来的数据存的到底是字符串还是数值,
------------集合字符串
集合跟枚举类似:实际存储的是数值,而不是字符串(集合是多选的)、
在集合里面,所有的字符串都对应二进制
查询 select 列名+0,列名 from 表名
对应的位,位取反
----------------Mysql记录长度------------
Mysql中规定:任何一条记录最长不能超过65535个字节(varchar永远达不到理论值)
uft8 下 varchar实际顶配:21884字节
GBK 下 varchar实际顶配:32766字节
--------------空属性
两个值:NULL(默认的)和 NOT NULL(不为空)
虽然是默认的。数据库基本都是字段为空。
空数据没有意义
create table myclass(
name varchar(20) not null,
room varchar(20) null
)charset utf8;
-------------------列描述
comment 描述 没有时间含义:是专门用来描述字段,会根据表创建语句保存;
create table myclass(
name varchar(20) not null comment '姓名',
money decimal(10,2) null comment '钱'
)charset utf8;
---------------默认值
某一种数据会经常性的出现某个具体的值
show create table 表名 查看列描述
default 默认值
create table myclass(
name varchar(20) not null comment '姓名' default '男',
money decimal(10,2) null comment '钱' default 0
)charset utf8;
@作者 原地址:www.1314sl.com
@作者 原地址:www.1314sl.com