根據一個系統的需求而去設置欄位,比如你要顯示什麼? 如留言板,有名字啊 留言時間啊 留言標題啊 留言內容啊等等 看你想要貯存什麼
② 電子商務MySql數據表設計問題,比如:一個商品有多個價位怎麼設計數據表保存就像一個商品有大中小
那麼就用這樣的關系:
商品表 屬性表
商品id 屬性id
商品名稱 商品id
屬性名稱
屬性值
CREATETABLEproct(
pidINTPRIMARYKEYNOTNULLAUTO_INCREMENT,
pnameVARCHAR(100)NOTNULL
);
CREATETABLEproct_act(
act_idINTPRIMARYKEYNOTNULLAUTO_INCREMENT,
pidINTNOTNULL,
act_nameVARCHAR(30)NOTNULL,
act_valueVARCHAR(30)NOTNULL
);
插入數據後,結果如圖:
SELECTa.pname,b.act_name,b.act_value
FROMproctASaJOINproct_actASb
ONa.pid=b.pid
③ 設計題 有一個MySQL資料庫store,在store資料庫中含有一個銷售表sale,用於存放商品的銷售記錄。
use store;
createtable sale(idintauto_incrementprimarykey,pm varchar(30) ,price decimal(9,2),num int,sum decimal(11,2));
insert into sale(pm,price,num) values ('電視機',1400.00,4);
select * from sale;
update sale set sum = 0 ;
select * from sale where price > 4000.00 order by sum desc
method = "post"
action = "calc_multi.php"
a
b
c
submit
...
④ MYSQL資料庫設計
評論表:
CREATE TABLE `comment` (
`id` int(11) NOT NULL,
`content` varchar(512) DEFAULT NULL COMMENT '評論內容',
`created` datetime DEFAULT NULL COMMENT '創建時間',
`is_show` bit(1) DEFAULT NULL COMMENT '是否顯示,用於評論審核',
`user_id` int(11) DEFAULT NULL COMMENT '用戶ID',
`comment_type` varchar(255) DEFAULT NULL COMMENT '評論類型,用來區分評論的是音樂表還是咨詢表等',
`comment_id` int(11) DEFAULT NULL COMMENT '針對哪條內容做的評論',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='評論表,需要其他欄位自己添加';
-- ----------------------------
-- 咨詢表
-- ----------------------------
DROP TABLE IF EXISTS `consult`;
CREATE TABLE `consult` (
`id` int(11) NOT NULL,
`content` varchar(255) DEFAULT NULL COMMENT '咨詢內容',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='咨詢表,其中需要的欄位可以自己添加';
-- ----------------------------
-- 音樂表
-- ----------------------------
DROP TABLE IF EXISTS `music`;
CREATE TABLE `music` (
`id` int(11) NOT NULL,
`music_name` varchar(255) DEFAULT NULL COMMENT '音樂名稱',
`author_word` varchar(255) DEFAULT NULL COMMENT '詞作者',
`author_music` varchar(255) DEFAULT NULL COMMENT '曲作者',
`sing_artist` varchar(255) DEFAULT NULL COMMENT '演唱者',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='音樂表,需要其他欄位自己添加';
-- ----------------------------
-- 用戶表
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
`id` int(11) NOT NULL,
`nice_name` varchar(255) DEFAULT NULL COMMENT '昵稱',
`password` varchar(255) DEFAULT NULL COMMENT '密碼',
`telphone` varchar(255) DEFAULT NULL COMMENT '電話',
`birthday` date DEFAULT NULL COMMENT '生日',
`gender` bit(1) DEFAULT NULL COMMENT '性別',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用戶表,需要其他欄位自己添加';
⑤ 點評產品的mysql資料庫設計索引
mysql排序時候只能用一個索引,看你的需求,我感覺產品id索引就夠用了。
你這個評分是不是只有5個值,像這個值少的就不用建索引了,建了也沒太多用處
⑥ 急需MySql資料庫設計規范
1. 數據表命名規范
模塊名縮寫_存儲信息[_存儲信息子類](多個單詞用下劃線分隔),全部小寫,例如:b2c_goods_type
2. 欄位命名規范
存儲信息屬性(多個單詞用下劃線分隔),全部小寫,命名規則只來自於業務,盡量表達出列的含義。
例如:goods_id
3. 欄位類型規范。
規則:用盡量少的存儲空間來存 數一個欄位的數據.
比如能用int的就不用char或者varchar
能用tinyint的就不用int
能用 varchar(20)的就不用varchar(255)
時間戳欄位盡量用int型,如 created:表示從 '1970-01-01?08:00:00'開始的int秒數,採用英文單詞的過去式;gmtCreated:表示datetime類型的時間,即形如 '1980-01-01?00:00:00'的時間串,Java中對應的類型為Timestamp
日期:用date
時間:用time
數字格式的用:int、tinyint、mediumint、smallint、bigint根據實際情況選擇
字元串:用char、varcahr;
文本:用text
金額:用float
⑦ mysql資料庫設計難題
可以添加一個標識,1表示沒看過,0表示排除,然後where條件就可以標識=1