CREATE TABLE语句

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS SQL Server,基础系列 2核4GB
简介: 在MySQL中,使用CREATE TABLE语句来创建表。你需要指定表名和列的定义,包括列名、数据类型以及约束等,结合实际存储和上一课学习的数据类型选取合适的。创建一个book_types表

在MySQL中,使用CREATE TABLE语句来创建表。你需要指定表名和列的定义,包括列名、数据类型以及约束等,结合实际存储和上一课学习的数据类型选取合适的。创建一个book_types表:


CREATE TABLE IF NOT EXISTS `book_types` (

 `type_id` int unsigned NOT NULL AUTO_INCREMENT COMMENT '书籍类型ID',

 `book_type` varchar(32) NOT NULL DEFAULT '' COMMENT '书籍类型',

 PRIMARY KEY (`type_id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;


创建一张名为book的表来存储书籍信息


CREATE TABLE IF NOT EXISTS `book` (

 `book_id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '书籍ID',

 `name` varchar(32) NOT NULL DEFAULT '' COMMENT '书籍名称',

 `price` decimal(10,2) unsigned zerofill NOT NULL COMMENT '单价',

 `author` varchar(16) NOT NULL DEFAULT '' COMMENT '作家名称',

 `publishing_house` varchar(32) NOT NULL DEFAULT '' COMMENT '出版社',

 `type_id` int unsigned NOT NULL COMMENT '书籍类型ID',

 PRIMARY KEY (`book_id`),

 KEY `fk_typeid` (`type_id`),

 CONSTRAINT `fk_typeid` FOREIGN KEY (`type_id`) REFERENCES `book_types` (`type_id`) ON DELETE CASCADE ON UPDATE CASCADE

) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='书籍信息';


这是一个创建名为 "book" 的数据库表的 SQL 语句。这个表用于存储书籍的相关信息。

- book_id:这是书籍的唯一标识符,是一个自增的大整数。

- name:这是书籍的名称,是一个最多包含32个字符的字符串。

- price:这是书籍的价格,是一个无符号的十进制数(最多10位数字,小数点后2位)。

- author:这是书籍的作者,是一个最多包含16个字符的字符串。

- publishing_house:这是书籍的出版社,是一个最多包含32个字符的字符串。

- type_id:这是书籍类型的唯一标识符,是一个无符号的整数。

此外,这个表还定义了一个外键约束(foreign key constraint),它将 type_id 列与另一个名为 "book_types" 的表的 type_id 列关联起来。如果在 "book_types" 表中删除了一个类型,那么所有引用该类型的书籍记录也会被自动删除(ON DELETE CASCADE)。同样,如果更新了 "book_types" 表中的类型 ID,那么所有引用该类型的书籍记录也会被自动更新(ON UPDATE CASCADE)。

最后,这个表使用 InnoDB 存储引擎,并且字符集是 UTF-8。

目录
打赏
0
0
0
0
1
分享
相关文章
SQL的基本语法以及SQL语句的关键字的使用,SELECT、INSERT、UPDATE、DELETE、CREATE、ALTER、DROP等。
SQL的基本语法以及SQL语句的关键字的使用,SELECT、INSERT、UPDATE、DELETE、CREATE、ALTER、DROP等。
SQL CREATE TABLE 语句
【7月更文挑战第18天】SQL CREATE TABLE 语句。
52 6
|
6月前
|
DROP TABLE 语句
【7月更文挑战第20天】DROP TABLE 语句。
94 2
SQL CREATE INDEX 语句
【7月更文挑战第20天】SQL CREATE INDEX 语句。
39 1
使用 `INSERT INTO table_name SELECT * FROM table_name` 这种方式
使用 `INSERT INTO table_name SELECT * FROM table_name` 这种方式
86 1
INSERT INTO table_name SELECT * FROM table_name
INSERT INTO table_name SELECT * FROM table_name
87 1
详细了解SQL中delete,drop,truncate的区别和不同
详细了解SQL中delete,drop,truncate的区别和不同
258 1
CREATE TABLE 语句
CREATE TABLE 语句
135 1
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等