MySQL 新建資料庫、建立索引、建立外來鍵
阿新 • • 發佈:2019-01-25
本文通過命令操作資料庫的方式,以簡單會員表為例,為讀者簡述資料表的簡單設計及操作。
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為會員詳細表建立外來鍵時,外來鍵應建立在詳細表中)。
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為會員詳細表建立外來鍵時,外來鍵應建立在詳細表中)。