MySQL 的数据类型是数据库设计的核心基础,合理选择类型直接影响存储效率、查询性能和数据的准确性。
一、数据是什么
数据的本质是信息。
数据是程序运行过程中操作的对象(信息)。
程序的运行是离不开数据的。
数据到底是什么?具象的说:
兰州拉面:用于描述说明传递信息的文本就是数据。
9.90:用来计算的数字也是数据
2024-09-01: 用固定格式表示的日期是数据。
结论:数据自身具有不同的特点,也就是说数据是有类型之分。
二、数据类型是什么
数据类型就是数据的分类。
数据自身具有不同特点,根据这些特点对数据进行分类。
数据类型不同,处理方式不同,以便提升程序运行效率。
MySQL 提供了丰富的数据类型,常见的数据类型:
字符串类型:用来表示文本。字符串必须要使用单引号或双引号包裹。
整数类型:用来表示可以计算的整数数字。如果一个数字不能用来计算,就不能用整数类型表示,比如手机号
日期类型:用来存储日期。
三、整数类型
1. 整数类型
示例:
CREATE TABLE users (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
age TINYINT UNSIGNED
);
练习题
练习题 1:学生基本信息表
题目:创建一个 students
表,包含以下字段:
id
:主键,自动递增student_no
:学号,整数age
:年龄,小整数grade
:年级,小整数class
:班级,小整数
-- 参考答案
CREATE TABLE students (
id INT AUTO_INCREMENT PRIMARY KEY,
student_no INT,
age TINYINT,
grade TINYINT,
class TINYINT
);
练习题 2:商品信息表
题目:创建一个 products
表,包含以下字段:
product_id
:商品ID,自动递增主键category_id
:分类ID,整数price
:价格(单位:分),整数stock
:库存数量,中等整数sales
:销售数量,整数
-- 参考答案
CREATE TABLE products (
product_id INT AUTO_INCREMENT PRIMARY KEY,
category_id INT,
price INT,
stock MEDIUMINT,
sales INT
);
练习题 3:用户信息表
题目:创建一个 users
表,包含以下字段:
user_id
:用户ID,自动递增主键level
:用户等级,小整数points
:用户积分,大整数login_times
:登录次数,整数status
:状态,小整数
-- 参考答案
CREATE TABLE users (
user_id INT AUTO_INCREMENT PRIMARY KEY,
level TINYINT,
points BIGINT,
login_times INT,
status TINYINT
);
练习题 4:订单表
题目:创建一个 orders
表,包含以下字段:
order_id
:订单ID,自动递增主键user_id
:用户ID,整数product_count
:商品数量,小整数order_status
:订单状态,小整数total_amount
:总金额,整数
-- 参考答案
CREATE TABLE orders (
order_id INT AUTO_INCREMENT PRIMARY KEY,
user_id INT,
product_count SMALLINT,
order_status TINYINT,
total_amount INT
);
练习题 5:系统日志表
题目:创建一个 system_logs
表,包含以下字段:
log_id
:日志ID,自动递增主键user_id
:用户ID,整数action_type
:操作类型,小整数error_code
:错误代码,小整数timestamp
:时间戳,整数
-- 参考答案
CREATE TABLE system_logs (
log_id INT AUTO_INCREMENT PRIMARY KEY,
user_id INT,
action_type TINYINT,
error_code TINYINT,
timestamp INT
);