SQL 环境安装
- 安装 mysql 环境
-
安装 数据库 可视化工具
navicate-mysql
-
创建数据库
create database pangugle_test_db;
- 创建表
我们以新闻类网站作为我们的测试,
- 表的名称规范如下
公司名_模块名_业务名
- 字段名规范
业务名_详细名称
设计表
-- ----------------------------
-- 新闻分类表
-- ----------------------------
CREATE TABLE IF NOT EXISTS pangugle_news_category (
category_id int(11) NOT NULL AUTO_INCREMENT,
category_title varchar(50) NOT NULL DEFAULT '',
category_desc varchar(255) NOT NULL DEFAULT '',
category_createtime datetime NOT NULL ,
category_admin varchar(50) NOT NULL DEFAULT '',
PRIMARY KEY (category_id),
INDEX pangugle_news_category_createtime(category_createtime),
INDEX pangugle_news_category_admin(category_admin),
) ENGINE=InnoDB DEFAULT CHARACTER SET=utf8 COLLATE=utf8_general_ci;
-- ----------------------------
-- 新闻文章表
-- ----------------------------
CREATE TABLE IF NOT EXISTS pangugle_news_article (
article_id int(11) NOT NULL AUTO_INCREMENT,
article_category_id int(11) NOT NULL,
article_title varchar(50) NOT NULL,
article_desc text NOT NULL,
article_createtime datetime NOT NULL ,
article_admin varchar(50) NOT NULL DEFAULT '',
PRIMARY KEY (article_id),
INDEX pangugle_news_article_category_id(article_category_id),
INDEX pangugle_news_article_createtime(article_createtime),
INDEX pangugle_news_article_admin(article_admin),
) ENGINE=InnoDB DEFAULT CHARACTER SET=utf8 COLLATE=utf8_general_ci;
表说明
-
新闻分类表 pangugle_news_category
表字段说明: 1. category_id 分类表主键自增id 2. category_title 分类标题 3. category_desc 分类描述 4. category_createtime 创建时间 5. category_admin 审核管理员
-
新闻文章表 pangugle_news_article
表字段说明: 1. article_id 文章表主键自增id 2. article_category_id 所属哪个分类 3. article_title 分类标题 4. article_desc 分类描述 5. category_createtime 创建时间 6. category_admin 审核管理员
注意:
本sql 示例是以生产环境为目标创建,都是模块化,真正的还原生产环境!
创建表完成 就要添加数据了
- 分类表数据
category_id | category_title | category_desc | category_createtime | category_admin |
---|---|---|---|---|
1 | 百度 | 百度公司 | 2020-09-16 18:09:52 | admin |
2 | 盘古歌 | 盘古歌技术 | 2020-09-16 18:12:31 | admin |
3 | 谷歌公司 | 2020-09-16 18:12:56 | u1 | |
4 | 阿里巴巴 | 阿里巴巴公司 | 2020-09-16 18:13:20 | u1 |
5 | 腾讯公司 | 2020-09-16 18:13:36 | u1 |
- pangugle_news_article 文章表数据
article_id | article_category_id | article_title | article_desc | article_createtime | article_admin |
---|---|---|---|---|---|
1 | 1 | 百度文章 | 百度文章描述 | 2020-09-17 11:22:54 | u1 |
2 | 2 | 盘古文章 | 盘古文章描述 | 2020-09-17 11:23:46 | u2 |
3 | 3 | Google 文章 | Google文章描述 | 2020-09-17 11:24:57 | u3 |
注意:
article_category_id 的数据来源于 pangugle_news_category,但这里不添加外键约束,在实际工作中,一般也不加约束,都是逻辑代码来完成这个约束的!
数据库约束一般很难管理!建议不要用!
哪天不需要约束,那不是尴尬? 删约束? 数据多了直接锁表!如果在核心业务这样操作, 操作经济损失,可是要被炒的!