PHP开发简易贴吧之数据库搭建

数据库分析

本项目实现的主要功能为用户注册登录,发布帖子,回复帖子,据此判断,需要设计用户表和帖子内容表两张表

用户表user包含字段如下:

字段名

字段类型

字段长度

字段描述

idint30编号、主键、自增长
usernamevarchar30用户名
passwordvarchar40密码

帖子表tiezi包含字段如下:

字段名字段类型字段长度字段描述
idint30编号、主键、自增长
userIdint30user表的用户id
fIdint30表示帖子的从属关系
titlevarchar50帖子的标题
contenttext
帖子的内容
timestampvarchar30帖子发布时间
numint20帖子浏览量

数据库创建

我们在命令提示符窗口下运行 mysql(具体怎么通过命令提示符窗口连接数据库,可以参考我们之前的课程《PHP开发登录注册教程》中的2.2小节)

连接数据库成功后,将下面创建数据库的完整语句复制进窗口中,按回车键即提示创建成功,如下图

创建数据库截图.png

创建数据库的完整语句如下

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 ;
Weiter lernen
||
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 ;
einreichenCode zurücksetzen