MySQL 5.7支持多种不同的数据类型,包括数值、日期/时间、字符串、JSON等类型。在本文中,我们将详细讲解MySQL 5.7常见的数据类型,包括每种类型的特点、用法以及示例说明。
数值类型
MySQL 5.7支持多个数值类型,包括整型、浮点型、定点型等。
整型
我们常用的整型有TINYINT
、SMALLINT
、MEDIUMINT
、INT
、BIGINT
。
其中,TINYINT
、SMALLINT
、MEDIUMINT
、INT
、BIGINT
分别占一个字节、两个字节、三个字节、四个字节和八个字节。在应用时,一般选择足够存储数据的最小类型,以节省存储空间和提高查询效率。
示例,创建一个users
表,包含id
、name
、age
、phone
四列,其中id
是整型主键:
CREATE TABLE users(
id INT PRIMARY KEY,
name VARCHAR(50),
age TINYINT,
phone BIGINT
);
浮点型
MySQL 5.7支持单精度浮点型FLOAT
和双精度浮点型DOUBLE
,分别占用4个字节和8个字节。在应用时,一般使用双精度浮点型。
示例,创建一个orders
表,包含id
、name
、price
、num
四列,其中price
和num
是浮点型:
CREATE TABLE orders(
id INT PRIMARY KEY,
name VARCHAR(50),
price DOUBLE,
num FLOAT
);
定点型
MySQL 5.7支持定点型DECIMAL
,用于精确存储小数。在定义时,需要指定精度和标度,其中精度表示总位数(包括小数点),标度表示小数位数。
示例,创建一个products
表,包含id
、name
、price
、discount
四列,其中price
和discount
是定点型:
CREATE TABLE products(
id INT PRIMARY KEY,
name VARCHAR(50),
price DECIMAL(8,2),
discount DECIMAL(5,2)
);
日期/时间类型
MySQL 5.7支持多种日期/时间类型,包括日期类型、时间类型、日期时间类型等。
日期类型
MySQL 5.7支持日期类型DATE
,用于存储年月日信息,占用三个字节。日期格式为YYYY-MM-DD。
示例,创建一个employees
表,包含id
、name
、salary
、hire_date
四列,其中hire_date
是日期类型:
CREATE TABLE employees(
id INT PRIMARY KEY,
name VARCHAR(50),
salary INT,
hire_date DATE
);
时间类型
MySQL 5.7支持时间类型TIME
,用于存储小时、分钟、秒信息,占用三个字节。时间格式为HH:MM:SS。
示例,创建一个tasks
表,包含id
、name
、start_time
、end_time
四列,其中start_time
和end_time
是时间类型:
CREATE TABLE tasks(
id INT PRIMARY KEY,
name VARCHAR(50),
start_time TIME,
end_time TIME
);
日期时间类型
MySQL 5.7支持日期时间类型DATETIME
,用于存储年月日小时分钟秒信息,占用八个字节。日期时间格式为YYYY-MM-DD HH:MM:SS。
示例,创建一个posts
表,包含id
、title
、content
、pub_time
四列,其中pub_time
是日期时间类型:
CREATE TABLE posts(
id INT PRIMARY KEY,
title VARCHAR(50),
content TEXT,
pub_time DATETIME
);
字符串类型
MySQL 5.7支持多种字符串类型,包括定长字符串类型和变长字符串类型。
定长字符串类型
MySQL 5.7支持定长字符串类型CHAR
,用于存储固定长度的字符串。需要指定字符串长度,在存储时会在字符串后面自动填充空格,占用空间固定。
示例,创建一个books
表,包含id
、title
、author
、ISBN
四列,其中title
和author
是定长字符串类型:
CREATE TABLE books(
id INT PRIMARY KEY,
title CHAR(50),
author CHAR(20),
ISBN VARCHAR(20)
);
变长字符串类型
MySQL 5.7支持变长字符串类型VARCHAR
,用于存储可变长度的字符串。需要指定最大字符串长度,在存储时只占用实际长度的空间。
示例,创建一个students
表,包含id
、name
、gender
、phone
四列,其中name
和gender
是变长字符串类型:
CREATE TABLE students(
id INT PRIMARY KEY,
name VARCHAR(50),
gender VARCHAR(10),
phone VARCHAR(20)
);
JSON类型
MySQL 5.7支持JSON类型JSON
,用于存储JSON格式的数据。可以进行查找、修改、更新等操作。
示例,创建一个customers
表,包含id
、name
、address
、info
四列,其中info
是JSON类型:
CREATE TABLE customers(
id INT PRIMARY KEY,
name VARCHAR(50),
address VARCHAR(50),
info JSON
);
以上就是MySQL 5.7常见数据类型的详细讲解,包括每种类型的特点、用法以及示例说明。在使用时需要根据实际情况选择合适的数据类型,以提高数据库性能。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:MySQL 5.7常见数据类型 - Python技术站