在确定使用flask开发小说网站之后,就要准备数据了,数据是活的灵魂,没有数据就是个空架子,我自己不可能去写小说了,只能从网站采集了,爬虫就是利器,先准备一下小说数据库,以及整个网站所需要的数据库吧。
数据库选择:MySQL,管理软件heidisql(个人用着顺手)
我是将数据库与网站分离,在不同的服务器上,个人小服务器还跑着其他东西,放在一个上真不够用,那就开始吧…
- 新建数据库book,
- book表:存放小说数据,书名,作者,简介,分类,图片,原链接
- collection 收藏表:记录用户收藏的书籍
- history历史记录表:记录用户浏览记录
- comment评论表:记录用户对书籍的评论信息
- user用户表:记录用户账户、密码、喜好、昵称等
- 各表生成语句:
- book:
CREATE TABLE `book` (`id` INT(11) NOT NULL AUTO_INCREMENT,`book_name` VARCHAR(100) NULL DEFAULT NULL,`book_author` VARCHAR(50) NULL DEFAULT NULL,`book_abstract` VARCHAR(1000) NULL DEFAULT NULL,`book_class` VARCHAR(50) NULL DEFAULT NULL,`book_img` VARCHAR(100) NULL DEFAULT NULL,`book_link` VARCHAR(50) NULL DEFAULT NULL,PRIMARY KEY (`id`)
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB
AUTO_INCREMENT=50971
;
- user:
CREATE TABLE `user` (`id` INT(11) NOT NULL AUTO_INCREMENT,`username` VARCHAR(50) NULL DEFAULT NULL,`account` INT(11) NOT NULL,`password` VARCHAR(50) NOT NULL,`perference` VARCHAR(50) NULL DEFAULT NULL,`major` VARCHAR(50) NULL DEFAULT NULL,PRIMARY KEY (`id`),UNIQUE INDEX `account` (`account`)
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB
AUTO_INCREMENT=18
;
- collection:
CREATE TABLE `collection` (`id` INT(11) NOT NULL AUTO_INCREMENT,`user_id` INT(11) NOT NULL,`book_id` INT(11) NOT NULL,`data` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP,PRIMARY KEY (`id`),INDEX `user_id` (`user_id`),INDEX `book_id` (`book_id`)
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB
AUTO_INCREMENT=7
;
- history:
CREATE TABLE `history` (`id` INT(11) NOT NULL AUTO_INCREMENT,`user_id` INT(11) NOT NULL,`book_id` INT(11) NOT NULL,`data` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP,PRIMARY KEY (`id`),INDEX `user_id` (`user_id`),INDEX `book_id` (`book_id`)
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB
AUTO_INCREMENT=144
;
- comment:
CREATE TABLE `comment` (`id` INT(11) NOT NULL AUTO_INCREMENT,`user_id` INT(11) NOT NULL,`book_id` INT(11) NOT NULL,`comment` VARCHAR(100) NOT NULL DEFAULT '',`data` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP,PRIMARY KEY (`id`),INDEX `user_id` (`user_id`),INDEX `book_id` (`book_id`)
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB
AUTO_INCREMENT=2
;