本文通过命令操作数据库的方式,以简单会员表为例,为读者简述数据表的简单设计及操作。
1. 新建数据库:
CREATE DATABASE 数据库名;
2. 新建数据表:
//Tab1.会员用户名表
CREATE TABLE w_member(
`mid` INT(20) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`username` CHAR(18) NOT NULL,
`password` CHAR(32) NOT NULL,
`createTime` datetime NOT NULL,
`is_statu` TINYINT NOT NULL DEFAULT "0"
) ENGINE=Innodb DEFAULT CHARSET=utf8;
//Tab2.会员详细表
CREATE TABLE w_memberDetail(
`mid` INT(20) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`name` VARCHAR(20) NOT NULL,
`mobile` CHAR(11) NOT NULL,
`createTime` datetime NOT NULL,
) ENGINE=Innodb DEFAULT CHARSET=utf8;
3. 修改默认引擎、重置数据表:
ALTER TABLE `w_member` ENGINE=Innodb; //修改引擎
ALTER TABLE `w_member` AUTO_INCREMENT=1; //重置表
4. 添加索引:
Alter TABLE `w_member` add unique(mid); //添加唯一索引
Alter TABLE `w_member` add Index username(username); //添加普通索引
5. 建立外键:
//创建关联外键w_member —> w_memberDetail, 表示: 用户插入数据时,必须保证w_memberDetail中的’mid’已经存在于’w_member’中;
Alter TABLE `w_memberDetail` add FOREIGN KEY(mid) REFERENCES w_member(mid);
6. 对已建立外键的两个表插入关联数据:
INSERT INTO `w_member` (`username`,`password`,`createTime`,`is_statu`) VALUES ('手机号码','密码','创建时间’,'状态'); //创建完成,生成最新数据mid=1;
INSERT INTO `w_memberDetail` (`mid`,`name`,`mobile`,`createTime`) VALUES ('在ta_member中新生成的mid','姓名','手机号码','创建时间');
//注: w_memberDetail中新插入数据时,必须保证新插入数据中的mid值已经在w_member中存在(即,以w_member为主表,w_memberDetail为会员详细表创建外键时,外键应创建在详细表中)。