创建图书信息表 (LBook) - MySQL 数据库设计
创建图书信息表 (LBook) - MySQL 数据库设计
本文档介绍了如何使用 MySQL 创建一个名为 LBook 的图书信息表,包含图书 ID、书名、作者、出版社、出版年月、价格和是否借出等字段。
原始代码:
create table LBook
(
图书ID char(18) PRIMARY KEY,
书名 varchar(100) NOT NULL,
作者 varchar(100) NOT NULL,
出版社 varchar(100) NOT NULL,
出版年月 char(15) check (出版年月 like '____-__-__'),
价格 char(10),
是否借出 char(5)
)ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
优化后的代码:
create table LBook
(
图书ID char(18) PRIMARY KEY,
书名 varchar(100) NOT NULL,
作者 varchar(100) NOT NULL,
出版社 varchar(100) NOT NULL,
出版年月 char(15) check (出版年月 like '____-__-__'),
价格 char(10),
是否借出 enum('是', '否') NOT NULL
)ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
代码解释:
create table LBook: 创建一个名为 LBook 的表。图书ID char(18) PRIMARY KEY: 定义图书 ID 字段,数据类型为字符型,长度为 18,并设置为主键。书名 varchar(100) NOT NULL: 定义书名字段,数据类型为可变长度字符串,长度为 100,且不能为空。作者 varchar(100) NOT NULL: 定义作者字段,数据类型为可变长度字符串,长度为 100,且不能为空。出版社 varchar(100) NOT NULL: 定义出版社字段,数据类型为可变长度字符串,长度为 100,且不能为空。出版年月 char(15) check (出版年月 like '____-__-__'): 定义出版年月字段,数据类型为字符型,长度为 15,并使用check约束确保日期格式为____-__-__。价格 char(10): 定义价格字段,数据类型为字符型,长度为 10。是否借出 enum('是', '否') NOT NULL: 定义是否借出字段,数据类型为枚举型,仅能接受 '是' 或 '否' 两种值,且不能为空。ENGINE=InnoDB DEFAULT CHARSET=utf8mb4: 设置引擎为 InnoDB,字符集为 utf8mb4。
优化说明:
- 将
是否借出字段改为enum类型,只允许输入 '是' 或 '否' 两种值,避免输入错误信息。 - 使用
NOT NULL约束确保所有必填字段不能为空。
通过以上设计,可以有效地存储和管理图书信息,并确保数据的完整性和一致性。
原文地址: http://www.cveoy.top/t/topic/oQfV 著作权归作者所有。请勿转载和采集!