zoukankan      html  css  js  c++  java
  • MySQL 数据类型

    简介

    MySQL 提供了多种数据类型,主要包括数值型,字符串类型,日期和时间类型。学习使用官方帮助文档才是王道,那么怎么在帮助文档中查找数据类型相关内容呢?正确的姿势:

    ? contents;
    ? data types;
    ? bigint;
    

    数值类型

    MySQL 支持的数值类型有:严格数值类型(INTEGER, SMALLINT,DECIMAL 和 NUMERIC),以及近似数值数据类型(FLOAT,REAL 和 DOUBLE PRECISION),并在此基础上做了扩展。扩展后增加了 TINYINT、MEDIUMINT 和 BIGINT 这三种长度不同的整形,并增加了 BIT 类型,用来存放位数据。
    对于小数的表示,MySQL 分为两种方式:浮点数和定点数。浮点数包括 float(单精度)和 double(双精度),而定点数则只有 decimal 一种表示。定点数在 MySQL 内部以字符串形式存放,比浮点数更精确,适合用来表示货币等精度高的数据。浮点数和定点数都可以用类型名称后加“(M,D)”的方式来进行表示,"(M,D)" 表示该值一共显示 M 位数字(整数位+小数位),其中 D 位位于小数点后面,M 和 D 又称为精度和标度。MySQL 保存值时进行四舍五入,因此如果在 float(7,4) 列内插入 999.00009,近似结果是 999.0001。float 和 double 在不指定精度时,默认会按照实际的精度(由实际的硬件和操作系统决定)来显示,而 decimal 在不指定精度时,默认的整数位为 10,默认的小数位为 0。
    对于 BIT(位)类型,用于存放位字段值,BIT(M) 可以用来存放多位二进制数,M 范围从 1~64,如果不写则默认为 1 位。对于位字段,直接使用 select 命令将不会看到结果,可以使用 bin()(显示为二进制格式)或者 hex()(显示为十六进制格式)函数进行读取。例如:select bin(id), hex(id) from t2

    日期和时间类型

    时间日期类型有:time, date, year, datetime, timestamp

    字符串类型

    字符串类型有:char,varchar,binary,varbinary,enum,set
    例子:

    1. 创建枚举字段(枚举字段值范围必须在创建时指定):create table ttt(gender enum('M', 'F')); 。注意:对于插入不在 ENUM 指定范围内的值时,并不会返回警告,而是插入 ENUM 指定范围内的第一个值;另外,插入的值是不区分大小写的(例如:'M' 和 'm')。
    2. 创建集合字段:create table ttt2(col set('a', 'b', 'c', 'd'));,插入数据:insert ttt2 values('a, b'), ('a, b, d'), ('a, b, a');
  • 相关阅读:
    在Linux系统中Navicat for MySQL 出现1045错误如何处理
    一个老程序员这些年的心得体会
    忘了
    DAY11
    day10_plus
    day10
    东北育才冲刺noip(day9)
    Java语言Socket接口用法详解
    JDBC-ODBC桥连接方式操纵SQL数据库
    JDBC连接SQL Server 2005步骤详解
  • 原文地址:https://www.cnblogs.com/craftsman-gao/p/7142003.html
Copyright © 2011-2022 走看看