数据库分析
本项目实现的主要功能为用户注册登录,发布帖子,回复帖子,据此判断,需要设计用户表和帖子内容表两张表
用户表user包含字段如下:
字段名 | 字段类型 | 字段长度 | 字段描述 |
id | int | 30 | 编号、主键、自增长 |
username | varchar | 30 | 用户名 |
password | varchar | 40 | 密码 |
帖子表tiezi包含字段如下:
字段名 | 字段类型 | 字段长度 | 字段描述 |
id | int | 30 | 编号、主键、自增长 |
userId | int | 30 | user表的用户id |
fId | int | 30 | 表示帖子的从属关系 |
title | varchar | 50 | 帖子的标题 |
content | text | 帖子的内容 | |
timestamp | varchar | 30 | 帖子发布时间 |
num | int | 20 | 帖子浏览量 |
数据库创建
我们在命令提示符窗口下运行 mysql(具体怎么通过命令提示符窗口连接数据库,可以参考我们之前的课程《PHP开发登录注册教程》中的2.2小节)
连接数据库成功后,将下面创建数据库的完整语句复制进窗口中,按回车键即提示创建成功,如下图
创建数据库的完整语句如下
DROP DATABASE IF EXISTS tieba; CREATE DATABASE tieba DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; USE tieba; CREATE TABLE IF NOT EXISTS `user` ( `id` int(30) NOT NULL AUTO_INCREMENT, `username` varchar(30) NOT NULL, `password` varchar(40) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=9 ; INSERT INTO `user` (`username`, `password`) VALUES ('admin', '21232f297a57a5a743894a0e4a801fc3'); CREATE TABLE IF NOT EXISTS `tiezi` ( `id` int(30) NOT NULL AUTO_INCREMENT, `userId` int(30) NOT NULL, `fId` int(30) NOT NULL, `title` varchar(50) NOT NULL, `content` text NOT NULL, `timestamp` varchar(30) NOT NULL, `num` int(20) NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=39 ;nächsten Abschnitt