您的位置:首页 > 数据库 > MySQL

MySQL 新建数据库、建立索引、建立外键

2016-10-30 16:46 330 查看
本文通过命令操作数据库的方式,以简单会员表为例,为读者简述数据表的简单设计及操作。

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为会员详细表创建外键时,外键应创建在详细表中)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息