mysql建表怎么写类型
时间 : 2023-03-08 16:49:01声明: : 文章内容来自网络,不保证准确性,请自行甄别信息有效性

在 MySQL 中,建表时需要指定每个字段的数据类型,这样 MySQL 才能正确地存储、操作数据。本文将介绍常见的 MySQL 数据类型及其使用方法。

1. 整型

整型是 MySQL 中最常见的数据类型之一,用于存储整数。MySQL 支持多种不同大小的整型,如 TINYINT、SMALLINT、MEDIUMINT、INT 和 BIGINT,它们分别占 1、2、3、4 和 8 个字节。

例如,要创建一个名为 `users` 的表,其中包含一个名为 `id` 的整型主键,可以使用以下 SQL 语句:

```sql

CREATE TABLE `users` (

`id` INT(11) NOT NULL AUTO_INCREMENT,

PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

2. 浮点型

浮点型(也称为实数)用于存储小数值。MySQL 支持 FLOAT、DOUBLE 和 DECIMAL 三种不同类型的浮点数,它们分别用于存储单精度、双精度和高精度小数。

例如,如果要创建一个名为 `products` 的表,其中包含一个名为 `price` 的浮点数列,可以使用以下 SQL 语句:

```sql

CREATE TABLE `products` (

`id` INT(11) NOT NULL AUTO_INCREMENT,

`name` VARCHAR(255) NOT NULL,

`price` DECIMAL(10,2) NOT NULL,

PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

在上面的例子中,`price` 列的数据类型为 DECIMAL(10,2),表示存储高精度小数,其中 10 表示总共可以存储 10 位数字,2 表示小数位数为 2 位。

3. 字符串型

字符串型是用于存储文本数据的数据类型,MySQL 支持多种字符串类型,包括 CHAR、VARCHAR、TEXT、LONGTEXT 等。

CHAR 和 VARCHAR 类型的最大区别在于它们的存储方式。CHAR 类型的数据在存储时会被填充到指定长度,而 VARCHAR 类型的数据则只占用实际需要的存储空间。

例如,如果要创建一个名为 `comments` 的表,其中包含一个名为 `content` 的文本列,可以使用以下 SQL 语句:

```sql

CREATE TABLE `comments` (

`id` INT(11) NOT NULL AUTO_INCREMENT,

`content` TEXT NOT NULL,

`created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,

PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

在上述例子中,`content` 列的数据类型为 TEXT,表示可以存储大量文本数据,在这种情况下,CHAR 或 VARCHAR 的限制可能会很快达到限制。

4. 时间型

时间型用于存储日期、时间和时间戳等数据。MySQL 支持多种时间类型,包括 DATE、DATETIME、TIME 和 TIMESTAMP。

例如,如果要创建一个名为 `users` 的表,其中包含一个名为 `created_at` 的时间列,默认值为当前时间戳,可以使用以下 SQL 语句:

```sql

CREATE TABLE `users` (

`id` INT(11) NOT NULL AUTO_INCREMENT,

`name` VARCHAR(255) NOT NULL,

`created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,

PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

在上面的例子中,`created_at` 列的数据类型为 TIMESTAMP,表示存储时间戳数据,其中 `DEFAULT CURRENT_TIMESTAMP` 表示默认值为当前时间戳。

总结

MySQL 中的数据类型包括整型、浮点型、字符串型和时间型等多种类型,根据实际需求选择合适的类型可以提高存储效率、降低空间浪费,并提供更好的索引、查询和排序能力。在创建数据表时,需要根据实际需求选择合适的数据类型,并考虑数据