MEDIUMINT DataType in MySQL

  • In MySQL Workbench, the MEDIUMINT data type is used to store medium-sized integer values with a larger range compared to SMALLINT. It occupies 3 bytes (24 bits) of storage and can represent whole numbers. Like other integer data types, MEDIUMINT can be signed or unsigned, providing flexibility based on the range of values you need to store.
Let's explore the details of the MEDIUMINT data type:
  • MEDIUMINT (Signed):
    • Size: 3 bytes (24 bits)
    • Range: The signed MEDIUMINT data type can store values from -8,388,608 to 8,388,607.
    • Usage: Use the signed MEDIUMINT when you need to store medium-sized integer values that can be both positive and negative.
Example of creating a table with a signed MEDIUMINT column:


    CREATE TABLE example_table (
        id MEDIUMINT,
        population MEDIUMINT
    );

  • MEDIUMINT UNSIGNED (Unsigned):
    • Size: 3 bytes (24 bits)
    • Range: The unsigned MEDIUMINT data type can store values from 0 to 16,777,215.
    • Usage: Use the unsigned MEDIUMINT when you need to store medium-sized integer values that are always non-negative (positive).
Example of creating a table with an unsigned MEDIUMINT column:


    CREATE TABLE example_table (
        user_id MEDIUMINT UNSIGNED,
        revenue MEDIUMINT UNSIGNED
    );

  • The MEDIUMINT data type is a good choice when you need to store integer values that fall within the range of a 24-bit integer but go beyond what SMALLINT can handle. It is commonly used for columns representing identifiers, counts, or quantities that can be quite large but do not require the full range of a 32-bit integer (INT).
  • However, if you expect to store even larger integer values or need a more extensive range, consider using larger integer data types such as INT or BIGINT.
When choosing between signed and unsigned MEDIUMINT, consider the nature of the data you are dealing with:
  • Use Signed MEDIUMINT: When you need to represent medium-sized integer values that can be both positive and negative.
  • Use Unsigned MEDIUMINT: When you need to represent medium-sized integer values that are guaranteed to be non-negative (positive) and you want to maximize the range of positive values.
  • As always, selecting the appropriate size and type is essential for ensuring data accuracy and storage efficiency in your MySQL database. Using a data type that is too large may lead to unnecessary storage consumption, while using a data type that is too small can result in data truncation or loss of precision.

No comments:

Post a Comment

Date and Time related aggregation functions ($year, $month, $dayOfMonth, $hour, $minute, $second, $dayOfWeek, $dateToString, $dateSubtract, $dateAdd, $isoWeek, $isoDayOfWeek, $dateTrunc, $dateFromString, $dateToParts, $dateFromParts, $dateDiff, $week)

In this blog post, we will explore Date/Time-related Aggregation Functions in MongoDB. MongoDB provides a robust set of aggregation operator...