介绍
一家本地书店在建立产品目录数据库时需要你的帮助。作为他们的数据库管理员,你需要创建一个用于存储书籍信息的表。本次挑战将测试你使用合适的数据类型和约束创建 MySQL 表的能力。
创建书籍表
你的任务是创建一个用于存储书店库存信息的表。该表需要能够有效地存储每本书的不同类型数据。
任务
- 以
root用户身份连接到 MySQL - 使用
bookstore数据库 - 创建一个名为
books的表,并使用合适的列和数据类型来存储以下信息:- 书籍 ID(应自动递增)
- 书名(最大 200 个字符,必填)
- 价格(必须支持最高 999.99 的小数)
- 出版日期
- 页数(仅限整数)
- 描述(长文本)
- 库存数量(必须为 0 或正数)
要求
- 所有操作必须在
~/project目录下进行 - 表名必须准确为
books - 所有列名必须使用小写
- 主键必须命名为
id - 书名不能为空(NOT NULL)
- 价格必须保留 2 位小数
quantity_in_stock不允许出现负值
示例
正确创建表后,查看表结构应显示类似如下的输出:
DESCRIBE books;
+-------------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| title | varchar(200) | NO | | NULL | |
| price | decimal(5,2) | YES | | NULL | |
| publication_date | date | YES | | NULL | |
| page_count | int(11) | YES | | NULL | |
| description | text | YES | | NULL | |
| quantity_in_stock | int(11) | YES | | NULL | |
+-------------------+--------------+------+-----+---------+----------------+
总结
在本次挑战中,你练习了如何使用合适的数据类型和约束来创建 MySQL 表。所展示的技能包括为不同类型的信息选择合适的数据类型、实现自动递增主键、设置非空约束以及使用检查约束来验证数据。这些基础知识对于数据库设计至关重要,并且在处理 MySQL 数据库时会频繁使用。



