您好!欢迎访问家园网-www.jy.wang!

家园网

对mysql各种常见的插入字段的语句进行讲解

网络 作者:本站 点击:

MySQL常见插入字段语句详解

1. 自增主键字段

id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY
  • id‌: 字段名称,通常作为表的主键

  • INT(11)‌: 整数类型,显示宽度为11位

  • NOT NULL‌: 不允许为空值

  • AUTO_INCREMENT‌: 自动递增属性

  • PRIMARY KEY‌: 指定为主键

2. 字符串类型字段

username VARCHAR(50) NOT NULL UNIQUE
  • username‌: 字段名称

  • VARCHAR(50)‌: 可变长度字符串,最大50字符

  • NOT NULL‌: 不允许为空

  • UNIQUE‌: 确保值唯一

3. 数值类型字段

age TINYINT UNSIGNED NOT NULL DEFAULT 18
  • age‌: 字段名称

  • TINYINT‌: 小整数类型(-128~127)

  • UNSIGNED‌: 无符号(0~255)

  • NOT NULL‌: 不允许为空

  • DEFAULT 18‌: 默认值为18

4. 日期时间类型字段

created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
  • created_at‌: 字段名称

  • TIMESTAMP‌: 时间戳类型

  • NOT NULL‌: 不允许为空

  • DEFAULT CURRENT_TIMESTAMP‌: 默认值为当前时间

5. 文本类型字段

content TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
  • content‌: 字段名称

  • TEXT‌: 长文本类型

  • CHARACTER SET utf8mb4‌: 字符集为utf8mb4

  • COLLATE utf8mb4_unicode_ci‌: 排序规则为utf8mb4_unicode_ci

6. 布尔类型字段

is_active BOOLEAN NOT NULL DEFAULT TRUE
  • is_active‌: 字段名称

  • BOOLEAN‌: 布尔类型(实际上是TINYINT(1)的别名)

  • NOT NULL‌: 不允许为空

  • DEFAULT TRUE‌: 默认值为TRUE(1)

7. 外键字段

user_id INT(11) NOT NULL,
FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
  • user_id‌: 字段名称

  • INT(11)‌: 整数类型

  • NOT NULL‌: 不允许为空

  • FOREIGN KEY‌: 指定为外键

  • REFERENCES users(id)‌: 引用users表的id字段

  • ON DELETE CASCADE‌: 级联删除

8. 枚举类型字段

status ENUM('active', 'inactive', 'pending') NOT NULL DEFAULT 'pending'
  • status‌: 字段名称

  • ENUM('active', 'inactive', 'pending')‌: 枚举类型,只能取这三个值之一

  • NOT NULL‌: 不允许为空

  • DEFAULT 'pending'‌: 默认值为'pending'


常见字段类型对比表

字段类型示例存储内容特点适用场景
自增主键id INT AUTO_INCREMENT唯一标识自动递增,不可重复表的主键
字符串name VARCHAR(50)文本数据可变长度,需指定最大长度用户名、标题等
整数age INT数值固定大小,可指定有无符号年龄、数量等
小数price DECIMAL(10,2)精确小数固定精度和小数位数价格、金额等
日期时间created_at TIMESTAMP日期时间可自动更新记录创建/修改时间
文本content TEXT长文本不限长度(但有限制)文章内容、描述等
布尔is_active BOOLEAN真/假实际存储为0/1状态标志
外键user_id INT关联ID引用其他表主键表间关联
枚举status ENUM()预定义值只能取指定值之一有限状态值

插入语句示例

-- 基本插入语句
INSERT INTO users (username, age, email) 
VALUES ('john_doe', 25, 'john@example.com');
-- 插入多行数据
INSERT INTO products (name, price, stock) 
VALUES ('Laptop', 999.99, 10), 
       ('Phone', 699.99, 20),
       ('Tablet', 399.99, 15);
-- 使用DEFAULT值
INSERT INTO orders (user_id, status) 
VALUES (1, DEFAULT);
-- 插入查询结果
INSERT INTO user_backup 
SELECT * FROM users WHERE created_at > '2025-01-01';
-- 使用SET语法
INSERT INTO employees 
SET name = 'Alice', department = 'HR', salary = 50000:ml-citation{ref="2,5" data="citationList"};

以上是MySQL中常见字段定义和插入语句的详细解析,涵盖了各种数据类型和约束条件的使用方法。


标签: