SQL教程——常见的数据类型

本教程中所使用的数据库的建表语句都在“SQL教程——索引”这篇文章中,点击链接直达:索引&建表语句

摘要:本文主要介绍SQL的DDL语法

 

常见的数据类型

 

数值型:

    整型

    小数:

        定点数

        浮点数

字符型:

    较短的文本:char、varchar

    较长的文本:text、blob(二进制的数据类型)

日期型

 

整型

#1.整型

 

 

 

特点:

  1. 如果不设置无符号还是有符号,默认是有符号,如果想设置无符号,需要添加unsigned关键字

  2. 如果插入的数值超出了整型的范围,会报out of range异常, 并且插入临界值

  3. 如果不设置长度,会有默认的长度。

    长度代表了显示的最大宽度,如果不够会用0在左边填充,但必须搭配zerofill使用,而且加上zerofill后就是无符号了,只能是正值。

 

#2.小数

 

 

特点:

  1. M和D都可以省略,

    如果是decimal,则M默认为10,D默人为0;

    如果是float和double,则会根据插入的数值的精度来确定精度。

  2. 定点型的精确度较高,如果要求插入的数据类型精确度较高如货币运算则考虑使用它

 

原则:

所选择的数据类型越简单越好,能保存数值的类型越小越好

 

#测试M和D

create table tab_float(

    f1 float(5, 2),

    f2 double(5,2),

    f3 decimal(5,2)

);

 

插入的精度超过要求的2,f1、f2不报错但无效,f3会报错。

插入的精度低于要求的2,f1、f2、f3不报错但会自动用0填充。

 



字符型

 

char和varhcar类型

说明:用来保存MySQL中较短的字符串

 

 

M的含义:char最多保存的字符数 

 

 

其它:

binary和varbinary用于保存较短的二进制

enum用于保存枚举

set用于保存集合

create table tab_es (

    e1 enum('a', 'b', 'c')

    s1 set('a', 'b', 'c', 'd')

);

 

insert into tab_es values('a', 'a,b')

它们俩的区别:

enum一次插一个,

set一次插好多个。

 

 

日期型

 

 

 

 

特点:

 

 

create table tab_date (

    t1 DATETIME,

    t2 TIMESTAMP

);



insert into tab_date values(now(), now());



show variables like 'time_zone';

set_time_zone = '+9:00';

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

请保持优秀。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值