Library数据库 数据表的设计
- 数据库下有图书类别表(bookkind)、出版社信息表(press)、图书信息表(bookinfo),具体的表结构和内容如下:
- 图书类别表(bookkind)
表1-1 bookkind表结构
列名 | 数据类型 | 长度 | 允许空值 | 说明 | 备注 |
bk_id | int | 10 | × | 主键 | 图书类别编号 |
bk_name | varchar | 20 | × | 图书类别名称 | |
bk_des | varchar | 50 | √ | 描述信息 |
表1-2 bookkind表内容
bk_id | bk_name | bk_des |
1 | 军事 | 关于军事方面的书籍 |
2 | 行政管理 | 关于行政管理方面的书籍 |
3 | 体育、教育 | 关于体育、教育方面的书籍 |
4 | 计算机 | 关于计算机方面的书籍 |
2.出版社信息表(press)
表2-1 press表结构
列名 | 数据类型 | 长度 | 允许空值 | 说明 | 备注 |
p_id | int | 4 | × | 主键 | 出版社编号 |
p_name | varchar | 10 | × | 出版社名称 | |
p_postcode | char | 6 | × | 出版社邮编 | |
p_phone | char | 15 | × | 联系电话 |
表2-2 press 表内容
p_id | p_name | p_postcode | p_phone |
1 | 人民邮电出版社 | 100164 | 01067170985 |
2 | 清华大学出版社 | 100084 | 01062786544 |
3 | 上海交通大学出版社 | 100876 | 01062283578 |
3.图书信息表(bookinfo)
表3-1 bookinfo表结构
列名 | 数据类型 | 长度 | 允许空值 | 说明 | 备注 |
bi_id | varchar | 16 | × | 主键 | 图书编号 |
bi_name | varchar | 50 | × | 图书名称 | |
bk_id | int | 10 | × | 外键 | 图书类别编号 |
bi_author | varchar | 20 | √ | 作者 | |
p_id | int | 4 | × | 外键 | 出版社编号 |
bi_price | float | 10 | × | 图书价格 |
表3-2 bookinfo表内容
bi_id | bi_name | bk_id | bi_author | p_id | bi_price |
TP3-27 | 大数据应用基础 | 2 | 李建军 | 1 | 54.00 |
TP3-39 | 信息技术 | 4 | 娄志刚 | 3 | 49.80 |
TP3-41 | MySQL数据库应用技术 | 4 | 李士勇 | 2 | 48.00 |
在建表之前,先要新建一个数据库library
建表格式:
create table `表名`(
`列名` 列数据类型(长度) 是否空值 主键 注释,
`列名` 列数据类型(长度) 是否空值 注释,
`列名` 列数据类型(长度) 是否空值 注释,
[若存在外键]
constraint `FK_外键名` foreign key(`外键名`) references `外键所属的表名`(`外键名`)
)
注意点:
-- 1.使用英文状态下的(),表的名称和字段尽量用` `括起来
-- 2.字符串的使用要用英文状态下的单引号括起来' '
-- 3.所有语句的后面要加,(英文状态下的),最后一个不用加
-- 4.PRIMARY KEY 主键,一般一个表只有一个唯一的主键
-- 5.常见数据类型:int(整型),float/double(浮点型),char/varchar(字符型)
插入数据格式:
insert into `表名`(`列名1`,`列名2`,`列名3`)
values('值1','值2','值3')
---------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------
建表及插入数据SQL代码如下:
表1-1 bookkind表结构
列名 | 数据类型 | 长度 | 允许空值 | 说明 | 备注 |
bk_id | int | 10 | × | 主键 | 图书类别编号 |
bk_name | varchar | 20 | × | 图书类别名称 | |
bk_des | varchar | 50 | √ | 描述信息 |
`bookkind`表创建:
CREATE TABLE `bookkind`(
`bk_id` INT(10) NOT NULL PRIMARY KEY COMMENT '图书类别编号',
`bk_name` VARCHAR(20) NOT NULL COMMENT '图书类别名称',
`bk_des` VARCHAR(50) COMMENT '描述信息'
)
表1-2 bookkind表内容
bk_id | bk_name | bk_des |
1 | 军事 | 关于军事方面的书籍 |
2 | 行政管理 | 关于行政管理方面的书籍 |
3 | 体育、教育 | 关于体育、教育方面的书籍 |
4 | 计算机 | 关于计算机方面的书籍 |
`bookkind`表插入数据:
INSERT INTO `bookkind`(`bk_id`,`bk_name`,`bk_des`)
VALUES(1,'军事','关于军事方面的书籍'),
(2,'行政管理','关于行政管理方面的书籍'),
(3,'体育、教育','关于体育、教育方面的书籍'),
(4,'计算机','关于计算机方面的书籍')
---------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------
表2-1 press表结构
列名 | 数据类型 | 长度 | 允许空值 | 说明 | 备注 |
p_id | int | 4 | × | 主键 | 出版社编号 |
p_name | varchar | 10 | × | 出版社名称 | |
p_postcode | char | 6 | × | 出版社邮编 | |
p_phone | char | 15 | × | 联系电话 |
`press`表创建:
CREATE TABLE `press`(
`p_id` INT(4) NOT NULL PRIMARY KEY COMMENT '出版社编号',
`p_name` VARCHAR(10) NOT NULL COMMENT '出版社名称',
`p_postcode` CHAR(6) NOT NULL COMMENT '出版社邮编',
`p_phone` CHAR(15) NOT NULL COMMENT '联系电话'
)
表2-2 press 表内容
p_id | p_name | p_postcode | p_phone |
1 | 人民邮电出版社 | 100164 | 01067170985 |
2 | 清华大学出版社 | 100084 | 01062786544 |
3 | 上海交通大学出版社 | 100876 | 01062283578 |
`press`表插入数据:
INSERT INTO `press`(`p_id`,`p_name`,`p_postcode`,`p_phone`)
VALUES(1,'人民邮电出版社',100164,01067170985),
(2,'清华大学出版社',100084,01062786544),
(3,'上海交通大学出版社',100876,01062283578)
---------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------
表3-1 bookinfo表结构
列名 | 数据类型 | 长度 | 允许空值 | 说明 | 备注 |
bi_id | varchar | 16 | × | 主键 | 图书编号 |
bi_name | varchar | 50 | × | 图书名称 | |
bk_id | int | 10 | × | 外键 | 图书类别编号 |
bi_author | varchar | 20 | √ | 作者 | |
p_id | int | 4 | × | 外键 | 出版社编号 |
bi_price | float | 10 | × | 图书价格 |
`bookinfo`表创建:
CREATE TABLE `bookinfo` (
`bi_id` VARCHAR(16) NOT NULL PRIMARY KEY COMMENT '图书编号',
`bi_name` VARCHAR(50) NOT NULL COMMENT '图书名称',
`bk_id` INT(10) NOT NULL COMMENT '图书类别编号',
`bi_author` VARCHAR(20) COMMENT '作者',
`p_id` INT(4) NOT NULL COMMENT '出版社编号',
`bi_price` FLOAT(10) NOT NULL COMMENT '图书价格',
CONSTRAINT `FK_bk_id` FOREIGN KEY(`bk_id`) REFERENCES `bookkind`(`bk_id`),
CONSTRAINT `FK_p_id` FOREIGN KEY(`p_id`) REFERENCES `press`(`p_id`)
)
表3-2 bookinfo表内容
bi_id | bi_name | bk_id | bi_author | p_id | bi_price |
TP3-27 | 大数据应用基础 | 2 | 李建军 | 1 | 54.00 |
TP3-39 | 信息技术 | 4 | 娄志刚 | 3 | 49.80 |
TP3-41 | MySQL数据库应用技术 | 4 | 李士勇 | 2 | 48.00 |
`bookinfo`表插入数据:
INSERT INTO `bookinfo`(`bi_id`,`bi_name`,`bk_id`,`bi_author`,`p_id`,`bi_price`)
VALUES('TP3-27','大数据应用基础',2,'李建军',1,54.00),
('TP3-39','信息技术',4,'娄志刚',3,49.80),
('TP3-41','MySQL数据库应用技术',4,'李士勇',2,48.00)