MYSQL 如何创建表与表记录

在 MySQL 中,创建表和插入记录是数据库操作的基础。以下是详细的步骤和示例:

一、创建表(CREATE TABLE

语法结构:
CREATE TABLE 表名 (
  列名1 数据类型 [约束条件],
  列名2 数据类型 [约束条件],
  ...
  [表级约束]
);

常用约束条件:

  • PRIMARY KEY:主键(唯一标识记录,非空且唯一)
  • NOT NULL:字段值不能为空
  • UNIQUE:字段值唯一
  • AUTO_INCREMENT:自增(常用于主键,插入时可省略)
  • DEFAULT:默认值
  • FOREIGN KEY:外键(关联其他表的主键)

示例:创建一个 users 表

-- 创建用户表
CREATE TABLE users (
  id INT PRIMARY KEY AUTO_INCREMENT,  -- 主键,自增ID
  username VARCHAR(50) NOT NULL,      -- 用户名,非空
  email VARCHAR(100) UNIQUE NOT NULL, -- 邮箱,唯一且非空
  age INT DEFAULT NULL,               -- 年龄,可空(默认NULL)
  created_at DATETIME DEFAULT CURRENT_TIMESTAMP  -- 创建时间,默认当前时间
);
执行后,会生成一个包含 5 个字段的 users 表。

二、插入表记录(INSERT INTO

语法结构:
-- 插入单条记录(指定字段)
INSERT INTO 表名 (字段1, 字段2, ...) VALUES (值1, 值2, ...);

-- 插入单条记录(不指定字段,需按表结构顺序填写所有值)
INSERT INTO 表名 VALUES (值1, 值2, ...);

-- 插入多条记录
INSERT INTO 表名 (字段1, 字段2, ...) 
VALUES 
  (值1, 值2, ...),
  (值1, 值2, ...),
  ...;

示例:向 users 表插入记录

-- 1. 插入单条记录(指定字段,可省略自增ID和默认值字段)
INSERT INTO users (username, email, age) 
VALUES ('张三', 'zhangsan@example.com', 25);

-- 2. 插入单条记录(省略部分字段,使用默认值)
INSERT INTO users (username, email) 
VALUES ('李四', 'lisi@example.com');  -- age默认NULL,created_at默认当前时间

-- 3. 插入多条记录
INSERT INTO users (username, email, age) 
VALUES 
  ('王五', 'wangwu@example.com', 30),
  ('赵六', 'zhaoliu@example.com', 28),
  ('孙七', 'sunqi@example.com', NULL);  -- 显式插入NULL

三、验证结果

插入后,可通过 SELECT 语句查询记录
-- 查询表中所有记录
SELECT * FROM users;

注意事项:

  1. 字符串值需用单引号 ' ' 包裹(如 '张三')。
  2. 插入的值必须与字段的数据类型匹配(如 age 字段只能插入整数)。
  3. 自增字段(如 id)插入时可省略,MySQL 会自动生成唯一值。
  4. 若字段设置了 NOT NULL,插入时必须提供值,否则会报错。
THE END