日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Mysql数据库,项目需求需要数据还原的数据表结构构思方案

發布時間:2025/3/15 数据库 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Mysql数据库,项目需求需要数据还原的数据表结构构思方案 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

自己構思的一些,Mysql數據庫項目中常用的數據表結構
版本:mysql5.5版本及以上

一、特定數據的表構思方法【特定的數據,同時需要記錄操作的】
以用戶表為例,用戶修改頭像、昵稱等操作為記錄需求的構思。
主表:

DROP TABLE IF EXISTS `user`; CREATE TABLE `user` (`id` int(11) NOT NULL AUTO_INCREMENT,`nickname` varchar(50) DEFAULT NULL COMMENT '昵稱',`password` varchar(50) DEFAULT NULL COMMENT 'md5加密密文',`phone` varchar(11) DEFAULT NULL COMMENT '手機號',`avatar` varchar(500) DEFAULT NULL COMMENT '頭像',`age` int(11) DEFAULT NULL COMMENT '年齡',`sex` tinyint(2) NOT NULL DEFAULT '1' COMMENT '1男 2女 0保密',`login_at` int(11) DEFAULT NULL COMMENT '最后一次登錄時間戳',`created_at` int(11) DEFAULT NULL COMMENT '創建日期的時間戳',`status` tinyint(2) NOT NULL DEFAULT '1' COMMENT '1正常 2封禁',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='用戶表';

附屬表:
1.用戶數據修改記錄表

DROP TABLE IF EXISTS `user_update`; CREATE TABLE `user_update` (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(255) DEFAULT NULL COMMENT '操作名稱',`type` tinyint(2) NOT NULL DEFAULT '1' COMMENT '操作類型 1頭像 2昵稱 3手機 4性別',`old_value` varchar(255) DEFAULT NULL COMMENT '舊值',`now_value` varchar(255) DEFAULT NULL COMMENT '修改以后的值',`created_at` int(11) DEFAULT NULL COMMENT '修改時間',`uid` int(11) DEFAULT NULL COMMENT '用戶id',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='用戶修改記錄表';

2.用戶操作數據記錄表

DROP TABLE IF EXISTS `user_log`; CREATE TABLE `user_log` (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(255) DEFAULT NULL COMMENT '日志備注',`url` varchar(255) DEFAULT NULL COMMENT '操作路徑',`ip` varchar(255) DEFAULT NULL COMMENT 'ip地址',`info` varchar(255) DEFAULT NULL COMMENT '請求結果:成果或者失敗',`date` int(11) DEFAULT NULL COMMENT '請求的日期',`uid` int(11) DEFAULT NULL COMMENT '用戶id',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='用戶操作數據記錄表';

注:操作數據記錄表可以合用戶數據修改記錄表合并,如下結構。

DROP TABLE IF EXISTS `user_do`; CREATE TABLE `user_do` (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(255) DEFAULT NULL COMMENT '操作名稱',`type` tinyint(2) NOT NULL DEFAULT '1' COMMENT '操作類型 1頭像 2昵稱 3手機 4性別 5.登錄 6.退出 7.發表文章',`old_value` varchar(255) DEFAULT NULL COMMENT '舊值',`now_value` varchar(255) DEFAULT NULL COMMENT '修改以后的值',`created_at` int(11) DEFAULT NULL COMMENT '操作時間',`uid` int(11) DEFAULT NULL COMMENT '用戶id',`ip` varchar(255) DEFAULT NULL COMMENT 'IP地址',`url` varchar(255) DEFAULT NULL COMMENT '操作路徑',`info` varchar(255) DEFAULT NULL COMMENT '操作結果:成功或者失敗以及其他',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='用戶更新日志';

使用說明:
1.查詢,通過uid進關聯,查詢時調用uid即可。
2.存儲,每個操作處寫上聯動增加,修改后即可存入參數。

結構適合做修改完成數據后又可以還原的功能需求。

二、通用表結構構思 【任何內容數據,同時需記錄操作的】
無參數合特定情況,只存儲特定數據類型,通過數據類型和關聯id進行查詢和修改的需求。

主表:

DROP TABLE IF EXISTS `data`; CREATE TABLE `data` (`data_id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(255) DEFAULT NULL COMMENT '數據標識名稱',`value` text COMMENT '數據的內容值,json,xml,文本,數字等多種格式',`type` tinyint(2) NOT NULL DEFAULT '1' COMMENT '數據類型:1json 2xml 3文本 4數字 依此類推 結合后端邏輯進行數據的處理',`author_id` int(11) DEFAULT NULL COMMENT '關聯id作者id',`created_at` datetime DEFAULT NULL COMMENT '創建日期',`update_at` datetime DEFAULT NULL COMMENT '修改日期',PRIMARY KEY (`data_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8;

記錄表:

DROP TABLE IF EXISTS `datalog`; CREATE TABLE `datalog` (`id` int(11) NOT NULL AUTO_INCREMENT,`now_value` text COMMENT '數據標識名稱',`old_value` text COMMENT '數據的內容值,json,xml,文本,數字等多種格式',`type` tinyint(2) NOT NULL DEFAULT '1' COMMENT '數據類型:1json 2xml 3文本 4數字 依此類推 結合后端邏輯進行數據的處理',`data_id` int(11) DEFAULT NULL COMMENT '關聯id',`created_at` datetime DEFAULT NULL COMMENT '創建日期',`ip` varchar(255) DEFAULT NULL COMMENT 'ip地址',`url` varchar(255) DEFAULT NULL COMMENT '操作路徑' ) ENGINE=MyISAM DEFAULT CHARSET=utf8;

使用說明:
1.適合需要把多種不同數據存在一張表的需求。
2.適合需要回源和復原操作功能的需求。

注:結合自己的實際需求選用,未必這個方案就適合你。

總結

以上是生活随笔為你收集整理的Mysql数据库,项目需求需要数据还原的数据表结构构思方案的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。