Mysql支持的数据类型(列类型总结)
MySQL是一款关系型数据库管理系统,它支持多种数据类型,这篇文章主要总结MySQL支持的列类型及其特点。
整型(Integers)
MySQL支持多种整型,包括:
- TINYINT 1字节 (-128 到 127)
- SMALLINT 2字节 (-32768 到 32767)
- MEDIUMINT 3字节 (-8388608 到 8388607)
- INT 4字节 (-2147483648 到 2147483647)
- BIGINT 8字节 (-9223372036854775808 到 9223372036854775807)
示例1:
CREATE TABLE `test` (
`id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`name` VARCHAR(30) NOT NULL,
`age` INT(2) UNSIGNED NOT NULL DEFAULT 0
);
在这个示例中,我们创建了一个名为test的表,其中包含了id、name和age三个列。其中id列是整型,在创建表的时候指定了自增长,这样每次插入一条新记录时,id值自动增长1。age列是整型,使用了UNSIGNED属性,这表示age列只接受非负整数。
浮点型(Floats)
MySQL支持多种浮点型,包括:
- FLOAT 4字节(-3.402823466E+38 到 -1.175494351E-38, 0 和 1.175494351E-38 到 3.402823466E+38)
- DOUBLE 8字节(-1.7976931348623157E+308 到 -2.2250738585072014E-308, 0 和 2.2250738585072014E-308 到 1.7976931348623157E+308)
示例2:
CREATE TABLE `test2` (
`id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`name` VARCHAR(30) NOT NULL,
`score` FLOAT NOT NULL
);
在这个示例中,我们创建了一个名为test2的表,其中包含了id、name和score三个列。其中id和name列与示例1相同。score列是浮点型,表示该列用于存储分数,使用了NOT NULL属性,表示该列不可为空。
字符串(Strings)
MySQL支持多种字符串类型,包括:
- CHAR 固定长度字符串(0-255)
- VARCHAR 可变长度字符串(0-65,535)
- TINYTEXT 短文本字符串(0-255)
- TEXT 文本字符串(0-65,535)
- MEDIUMTEXT 中等长度文本字符串(0-16,777,215)
- LONGTEXT 长文本字符串(0-4,294,967,295)
示例3:
CREATE TABLE `test3` (
`id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`name` CHAR(10) NOT NULL,
`content` TEXT NOT NULL
);
在这个示例中,我们创建了一个名为test3的表,其中包含了id、name和content三个列。其中id列与示例1相同。name列用CHAR类型,并指定了长度为10,在数据插入时,如果输入的字符串长度不足10,则自动在字符串后面补齐空格。content列使用的是TEXT类型,表示该列用于存储长文本内容。
日期和时间(Date and Time)
MySQL支持多种日期和时间类型,包括:
- DATE 日期,格式为"YYYY-MM-DD"
- TIME 时间,格式为"HH:MM:SS"
- DATETIME 日期和时间,格式为"YYYY-MM-DD HH:MM:SS"
- TIMESTAMP 时间戳,格式为"YYYY-MM-DD HH:MM:SS"
示例4:
CREATE TABLE `test4` (
`id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`name` VARCHAR(30) NOT NULL,
`datetime` DATETIME NOT NULL,
`timestamp` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
);
在这个示例中,我们创建了一个名为test4的表,其中包含了id、name、datetime和timestamp四个列。其中id和name列与示例1相同。datetime列用DATETIME类型,并指定了NOT NULL属性,表示该列不可为空。timestamp列也用了NOT NULL属性,使用了DEFAULT CURRENT_TIMESTAMP属性,表示该列默认值为当前时间。
总结
在MySQL数据类型中,整型、浮点型、字符串和日期时间类型被广泛使用。我们在创建表的时候需要根据实际情况选择适当的数据类型。在本文的示例中,我们使用了自增长、非负整数、默认值为当前时间等特性,说明了MySQL数据类型的特点和用法。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Mysql支持的数据类型(列类型总结) - Python技术站