`

mysql类型参照

阅读更多

mysql数据库内容总结

数字类型:

Tinyint(M) unsigned zerofull

     1个字节 默认的是有符号的-128~127

     unsigned: 无符号整数 范围0~255

     M: 代表宽度 (在zerofull时才有意义),只是一个显示效果,不会影响到实际的数据长度

     zerofull: 零填充(如果某列是zerofull默认就是unsigned) 因为不会有 0000-1 的情况

     零填充(例: 0005,多少个零就是M限制宽度)

     列一般不要为null

          原因一,null不好比较(等号比较不可用,只可用is null 或 is not null);

          原因二,null执行效率更低,可用not null default 0 指定默认值

Smallint 同tinyInt用法

     2个字节 默认有符号范围-32768~32767; 无符号范围0~65535

Mediumint 同tinyInt用法

     3个字节 默认有符号范围-8388608~8388607;无符号范围0~16777215

Int 同tinyInt用法

     4个字节 默认有符号范围-2147483648~2147483647; 无符号范围0~4294967295

BigInt 同tinyInt用法

     8个字节 默认有符号范围-9223372036854775808-9223372036854775807;无符号范围0~18446744073709551615

Float(m,d) 浮点型 

     四个字节

     float(6, 2)表示共有六位(不加小数点),小数占两位.

     mysql中可以指定小数位数,sql server和oracle中是不允许指定小数位数的

Double(m,d) 浮点型 

     八个字节

     double(6, 2)表示共有六位(不加小数点),小数占两位.

     mysql中可以指定小数位数,sql server和oracle中是不允许指定小数位数的

Decimal(m,d) 定点型

     使用同浮点型,只是更精确。

     例:float(9,2) decimal(9,2) 存入1234567.23,float会显示为1234567.25,而decimal会显示1234567.23,更精确。

     浮点和定点型是四个字节或八个字节

文本类型:

Char char(M),M代表宽度 0 到 255个字符之间

     ,可容纳的字符数(不是字节,一个字节占八位,一个汉字占两个字节,utf-8的汉字占三个字节),char(8),可存放八个汉字

Varchar 变长 varchar(M) M代表宽度 0 到 65535个字节之间, 大约能存放22000个汉字左右

     有1-2个字节来标记真实的长度

     Char和Varchar区别:

     1、char是定长,varchar是变长

     2、char的最大的存储长度是255个字符,这与字符集的设置没有关系;而varchar的最大长度则是与字符集的设置有关的

          因此,如果设置的字符集为

          latin1:一个字符是一个字节 ----->则能够存储的最大字符数是65532个

          gbk:一个字符是两个字节------->则能够存储的最大字符数是65532/2个

          utf-8:一个字符是三个字节------->则能够存储的最大字符数是65532/3个

          char定长:M个字符,如果存的小于M个字符,实占M个字符,用空格补齐

          varchar变长:M个字符,存的小于M个字符,设为N,N <= M,实占N个字符

     3、利用率

          类型          宽度     可存字符     实存字符(i<=M)实占空间利用率

          char(M)  M          M               i                    M                         i/M <= 100%

          varchar         M          M               i                    i字符+(1-2)字节          i/(i + 1-2) <= 100%

          char有可能等于百分百,例: 四位学号char(4),利用率为100%;varchar利用率永远小于100%

     4、char的速度快于varchar

text:是文本类型 能够存储比较大的数据 但是搜索的速度比较慢,没有全文索引    没有宽度 加了也没用

    因此 如果不是比较大的数据 则建议采用char或者varchar来进行查询

日期类型:

     年               year

     日期          date

     时间          time

     日期时间     dateTime

     时间戳          timeStamp

     year类型 一个字节 表示 1901-2155[0000,表示错误时选择]

          如果输入2位,'00-69' 表示 2000-2069年 加2000 计算机的元年是从1970年开始

                         '70-99' 表示 1970-1999年 加1900

          推荐输入四位

     Date类型 典型格式 1992-08-12

          存储的范围:'1000-01-01'-->'9999-12-31'

     time时间类型 典型格式 hh-mm-ss

          存储的范围: '-838:59:59'-->'838:59:59'

     dateTime日期时间类型 典型格式 '1992-09-28 12:23:23'

          存储的范围: '1000-01-01 00:00:00'-->'9999-12-31 23:59:59'

     timeStamp时间戳类型

          是1970-01-01:00:00:00,到当前的秒数

          计算很精确,也可以方便的格式化

注意:真正开发中,很少用日期时间类型来表示一个需要精确到秒的列,而是用时间戳类型来表示

原因:虽然日期时间类型能精确到秒,并且方便查看,但是遇到边界日期计算时很麻烦,不精确,像平年和闰年2月

分享到:
评论

相关推荐

    MySQL日期类型表达式参照表.xlsx

    有关"mysql日期时间相关函数纪要"一文中的截图参照可在下载此附件Excel进行获取!

    MYSQL字段类型介绍[参照].pdf

    MYSQL 字段类型介绍 MYSQL 字段类型是指 MYSQL 数据库中可以用来定义列的数据类型。MYSQL 支持大量的列类型,可以被分为三类:数字类型、日期和时间类型以及字符串类型。 一、数字类型 MYSQL 支持多种数字类型,...

    vs2010连接mysql数据库方法参照.pdf

    ### VS2010 连接 MySQL 数据库方法详解 #### 一、环境配置与准备工作 为了能够在 Visual Studio 2010 中成功连接到 MySQL 数据库,我们需要完成一系列的配置工作。本节将详细介绍这些步骤。 ##### **1.1 硬件与...

    Sqlserver数据库转成mysql数据库参照.pdf

    这一步骤需要对SQL Server和MySQL的表结构和数据类型有深入理解。 总之,从SQL Server转换到MySQL涉及安装和配置相应软件,设置ODBC数据源,使用数据库管理工具迁移数据,以及可能的手动调整。整个过程需要细心操作...

    MySQL5.6replicate容灾方案[参照].pdf

    优化可能包括调整复制延迟、优化网络带宽使用、选择合适的复制类型(如语句级或行级)以及监控和调整复制性能。 **4. MYSQL REPLICATE测试** **4.1 测试主备数据一致性** 定期检查主从库的数据一致性至关重要,可以...

    mysql安装包mysql5.0

    5. **外键支持**:MySQL 5.0开始支持外键约束,增强了数据库之间的参照完整性。 6. **分区表**:对于大型数据库,MySQL 5.0引入了表分区,可以将大表分成更小、更易于管理的部分,提高查询性能。 7. **增强的SQL...

    MySQL的数据类型和建库策略.rar

    MySQL提供了多种数据类型,包括数值类型(如整数INT、浮点数FLOAT、双精度DOUBEL)、字符串类型(如CHAR、VARCHAR、TEXT)、日期和时间类型(如DATE、TIME、DATETIME、TIMESTAMP)以及二进制类型(BLOB、VARBINARY)...

    MYSQL必会必知

    - 了解实体完整性、参照完整性和用户定义完整性。 - 常用的完整性约束,比如主键(PRIMARY KEY)、外键(FOREIGN KEY)、唯一性约束(UNIQUE)、检查约束(CHECK)等。 5. 数据库安全性管理 - 用户账户的创建和...

    linux下安装jdk,tomcat,mysql[参照].pdf

    - **识别安装文件类型**: `.bin`文件可以直接运行,`.rpm`文件需要使用`rpm`命令安装。 - **安装JDK**: 对于.bin文件,运行`./jdk-xxx.bin`。如果不在PATH环境变量中,需要指定完整路径。对于.rpm文件,使用`rpm -...

    mysql5.6安装包 mysql5.6官网下载的

    - **外键约束增强**:外键约束在5.6版本中得到了改进,支持更复杂的参照完整性检查。 - **数据恢复机制**:增强了崩溃恢复机制,即使在系统故障的情况下也能保证数据的一致性和完整性。 ### MySQL 5.6的安装步骤 #...

    MySql5.5 安装包 以及安装图解

    在重装前,确保先完全卸载 MySQL,这可以通过控制面板的“程序和功能”来实现,或者参照 `Mysql完全卸载.txt` 提供的步骤。卸载后清理注册表中的相关键值和数据文件夹,以避免冲突。 3. **MySQL 语句**: `MySQL...

    15328条英文单词mysql库,带建表sql

    这为用户提供了便利,因为通常在导入数据前,需要正确设置列名、数据类型和其他表结构元素。 标签“15k 英文 单词 mysql”进一步强调了数据库包含的单词数量(15,000个,即15k)以及它们是英文单词的事实,并且再次...

    Mysql57安装升级.zip

    2. JSON支持:MySQL 5.7增加了对JSON数据类型的内置支持,允许存储和查询非结构化数据,这对于现代Web应用和大数据分析非常有用。 3. 查询优化器改进:新的查询优化器能够更好地处理复杂查询,通过改进的统计信息和...

    Mysql binlog查看工具

    连接工具后,你可以指定要查看的binlog文件和开始位置(以事件序列号或时间戳为参照)。 binlog查看工具的主要功能包括: 1. **事件浏览**:清晰地显示binlog中的每个事件,包括事件类型、执行时间、SQL语句等。 2...

    oracle_mysql系统移植方案[参照].pdf

    - **数值类型**:Oracle的NUMBER类型对应MySQL的DECIMAL,保持精度和刻度不变。如果涉及到序列,Oracle的序列在MySQL中可使用BIGINT代替。 - **字符串类型**:Oracle的VARCHAR2对应MySQL的VARCHAR,长度不变。...

    MySQL错误代码查询

    你需要确保被参照列和参照列的数据类型一致,以及参照的表和当前表在同一个引擎上。 5. 错误代码1452:与1215类似,1452表示外键约束失败,可能是因为被参照的记录不存在。在插入或更新数据时,确保所有外键对应的...

    国开作业《MySQL数据库应用》实验训练1在MySQL中创建数据库和表参考107.pdf

    例如,你可以设置NOT NULL约束来禁止字段为空,UNIQUE约束保证字段值的唯一性,FOREIGN KEY约束实现参照完整性,防止非法的数据插入。 在实验过程中,理解并熟练掌握这些基本操作,对于后续更复杂的数据库操作,如...

    2.1MySQL创建数据库表[参照].pdf

    在本节中,我们学习了如何使用 MySQL 命令行客户端创建数据库和表,以及了解了 MySQL 的数据类型和数据库访问权限的重要性。这些知识点是数据库设计和实现的基础,可以帮助开发者更好地设计和实现数据库应用程序。

    常用mysqlcommand介绍参照.pdf

    - **创建表**:`create table 表名 (字段1 类型1, 字段2 类型2,...)`,例如`create table MyClass (id int not null primary key auto_increment, name char not null, sex int not null default '0', degree ...

    mysql学习资料电子书Mysql教程精选

    - 数据完整性:包括实体完整性、参照完整性和用户定义的完整性。 - 索引:学习如何创建和使用索引来提高查询性能,如B-Tree索引和哈希索引。 - 视图:了解视图的概念,如何创建和使用视图,以及视图在数据库抽象...

Global site tag (gtag.js) - Google Analytics