欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 会展 > MYSQL---------支持数据类型

MYSQL---------支持数据类型

2025/1/6 10:29:40 来源:https://blog.csdn.net/yuanbenshidiaos/article/details/144915913  浏览:    关键词:MYSQL---------支持数据类型

数值类型

  • 整数类型
    • TINYINT:通常用于存储小范围的整数,范围是-128到127或0到255(无符号)。例如,存储年龄可以使用TINYINT类型。示例:CREATE TABLE users (age TINYINT);
    • SMALLINT:范围比TINYINT大,有符号的范围是-32768到32767,无符号是0到65535。可用于存储一些较小范围但又比TINYINT稍大的数据,如员工编号。示例:CREATE TABLE employees (emp_id SMALLINT);
    • INT:最常用的整数类型,有符号范围是-2147483648到2147483647,无符号是0到4294967295。可用于存储一般的整数数据,如订单编号。示例:CREATE TABLE orders (order_id INT);
    • BIGINT:用于存储大整数,有符号范围是-9223372036854775808到9223372036854775807,无符号是0到18446744073709551615。适用于存储非常大的数字,如大型网站的用户ID等。示例:CREATE TABLE users (user_id BIGINT);
  • 浮点数类型
    • FLOAT:单精度浮点数,用于存储小数,精度有限。例如,存储商品价格,允许一定的精度误差。示例:CREATE TABLE products (price FLOAT);
    • DOUBLE:双精度浮点数,精度比FLOAT更高。用于需要更高精度的小数存储,如科学计算中的数据。示例:CREATE TABLE scientific_data (value DOUBLE);
  • 定点数类型DECIMAL,用于存储精确的小数,常用于财务数据等对精度要求高的场景。例如,存储金额。示例:CREATE TABLE accounts (balance DECIMAL(10,2));表示总长度为10位,小数部分占2位。

日期时间类型

  • DATE:用于存储日期,格式为YYYY-MM-DD。例如,存储用户的出生日期。示例:CREATE TABLE users (birth_date DATE);插入数据:INSERT INTO users (birth_date) VALUES ('1990-01-01');
  • TIME:用于存储时间,格式为HH:MM:SS。可用于存储活动的开始时间等。示例:CREATE TABLE events (start_time TIME);插入数据:INSERT INTO events (start_time) VALUES ('10:30:00');
  • DATETIME:存储日期和时间,格式为YYYY-MM-DD HH:MM:SS。适用于需要同时记录日期和时间的场景,如订单创建时间。示例:CREATE TABLE orders (create_time DATETIME);插入数据:INSERT INTO orders (create_time) VALUES ('2023-01-01 12:00:00');
  • TIMESTAMP:也用于存储日期和时间,它的取值范围比DATETIME小,但会自动更新为当前时间。常用来记录数据的最后更新时间等。示例:CREATE TABLE logs (update_time TIMESTAMP);

字符串类型

  • CHAR:固定长度字符串,最大长度为255个字符。适用于存储长度固定的数据,如身份证号码、邮政编码等。示例:CREATE TABLE addresses (postcode CHAR(6));
  • VARCHAR:可变长度字符串,最大长度一般为65535个字符(受限于数据库表的最大行大小)。用于存储长度不固定的字符串,如姓名、地址等。示例:CREATE TABLE users (name VARCHAR(50));
  • BINARY:固定长度二进制字符串,用于存储二进制数据,如加密后的密码、图片的二进制数据等。示例:CREATE TABLE encrypted_data (password BINARY(64));
  • VARBINARY:可变长度二进制字符串,可存储可变长度的二进制数据。示例:CREATE TABLE images (image_data VARBINARY(MAX));

枚举类型(ENUM)

用于存储有限个特定值中的一个,如性别字段,只能是男或女。示例:CREATE TABLE users (gender ENUM('男','女'));插入数据:INSERT INTO users (gender) VALUES ('男');

集合类型(SET)

可以存储一个或多个指定值的集合。例如,存储用户的兴趣爱好,用户可以有多个爱好。示例:CREATE TABLE users (hobbies SET('阅读','运动','音乐','绘画'));插入数据:INSERT INTO users (hobbies) VALUES ('阅读,运动');
在这里插入图片描述
以下是 MySQL 中各种数据类型的代码示例:

-- 创建一个名为 data_types 的数据库
CREATE DATABASE data_types;-- 使用 data_types 数据库
USE data_types;-- 创建一个包含各种数据类型的表
CREATE TABLE sample_table (-- 整数类型示例tinyint_column TINYINT,smallint_column SMALLINT,int_column INT,bigint_column BIGINT,-- 浮点数类型示例float_column FLOAT,double_column DOUBLE,decimal_column DECIMAL(10, 2),-- 日期时间类型示例date_column DATE,time_column TIME,datetime_column DATETIME,timestamp_column TIMESTAMP,-- 字符串类型示例char_column CHAR(20),varchar_column VARCHAR(50),binary_column BINARY(10),varbinary_column VARBINARY(50),-- 枚举类型示例enum_column ENUM('male', 'female', 'other'),-- 集合类型示例set_column SET('reading', 'sports', 'music', 'painting')
);-- 插入数据到 sample_table
INSERT INTO sample_table (tinyint_column,smallint_column,int_column,bigint_column,float_column,double_column,decimal_column,date_column,time_column,datetime_column,timestamp_column,char_column,varchar_column,binary_column,varbinary_column,enum_column,set_column
) VALUES (127,  -- TINYINT 的最大值(有符号)32767, -- SMALLINT 的最大值(有符号)2147483647, -- INT 的最大值(有符号)9223372036854775807, -- BIGINT 的最大值(有符号)123.45, -- FLOAT 示例1234.5678, -- DOUBLE 示例1234.56, -- DECIMAL 示例'2025-01-01', -- DATE 示例'12:34:56', -- TIME 示例'2025-01-01 12:34:56', -- DATETIME 示例CURRENT_TIMESTAMP, -- TIMESTAMP 示例,会自动插入当前时间'fixed string', -- CHAR 示例'variable string', -- VARCHAR 示例0x1234567890, -- BINARY 示例,十六进制表示0x1234567890, -- VARBINARY 示例,十六进制表示'male', -- ENUM 示例'reading,sports' -- SET 示例,存储多个集合元素
);-- 查询 sample_table 中的数据
SELECT * FROM sample_table;-- 更新数据示例
UPDATE sample_table 
SET float_column = 98.76,enum_column = 'female'
WHERE int_column = 2147483647;-- 删除数据示例
DELETE FROM sample_table WHERE bigint_column = 9223372036854775807;-- 修改表结构示例,添加新的字段
ALTER TABLE sample_table
ADD new_column INT;-- 删除表结构示例,删除新添加的字段
ALTER TABLE sample_table
DROP COLUMN new_column;-- 删除表
DROP TABLE sample_table;-- 删除数据库
DROP DATABASE data_types;

代码解释:

  • 创建数据库和表
    • CREATE DATABASE data_types;:创建一个名为 data_types 的数据库。
    • USE data_types;:指定后续操作使用 data_types 数据库。
    • CREATE TABLE sample_table (...):创建一个名为 sample_table 的表,其中包含了各种数据类型的字段。
  • 插入数据
    • INSERT INTO sample_table (...) VALUES (...):向 sample_table 插入一条记录,为每个字段提供相应的数据。
  • 查询数据
    • SELECT * FROM sample_table;:查询 sample_table 中的所有数据。
  • 更新数据
    • UPDATE sample_table SET... WHERE...:更新 sample_table 中满足条件的数据。
  • 删除数据
    • DELETE FROM sample_table WHERE...:删除 sample_table 中满足条件的数据。
  • 修改表结构
    • ALTER TABLE sample_table ADD new_column INT;:为 sample_table 表添加一个名为 new_column 的新字段。
    • ALTER TABLE sample_table DROP COLUMN new_column;:删除 sample_table 表中的 new_column 字段。
  • 删除表和数据库
    • DROP TABLE sample_table;:删除 sample_table 表。
    • DROP DATABASE data_types;:删除 data_types 数据库。

这个示例展示了 MySQL 中各种数据类型的使用,包括如何创建表、插入数据、更新数据、删除数据、修改表结构和删除表和数据库。你可以根据自己的需求修改和扩展这个示例。

请注意,以上代码基于 MySQL 8.0 运行,不同的 MySQL 版本在某些语法和数据类型的使用上可能会略有不同。在实际使用中 使用的 MySQL 版本进行相应的调整。 同时,在使用 INSERT
语句插入二进制数据时,使用了十六进制表示,根据实际情况使用相应的二进制数据。在使用 ENUMSET
类型时,插入的值必须是定义的枚举或集合元素之一,否则会报错。 另外,TIMESTAMP 会自动更新为当前时间,在不同的情况下可能会根据
MySQL 的配置有所不同。

在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com