在windows上的workbench使用界面创造数据库,然后复制命令
CREATE SCHEMA `ds_table` DEFAULT CHARACTER SET utf8 ;
然后创造表,复制命令
CREATE TABLE `ds_table`.`ds_user` (
`idDS_User` INT NOT NULL AUTO_INCREMENT COMMENT 'UserID',
`nameDS_User` VARCHAR(45) NOT NULL COMMENT 'User name',
`bumenDS_User` VARCHAR(45) NOT NULL COMMENT 'User department',
PRIMARY KEY (`idDS_User`),
UNIQUE INDEX `idDS_User_UNIQUE` (`idDS_User` ASC))
COMMENT = 'User related information';
CREATE TABLE `ds_table`.`ds_privilege` (
`idds_privilege` INT NOT NULL AUTO_INCREMENT,
`userid_ds_privilege` INT NOT NULL,
`privilege1_ds_privileg` VARCHAR(45) NOT NULL,
PRIMARY KEY (`idds_privilege`),
UNIQUE INDEX `idds_privilege_UNIQUE` (`idds_privilege` ASC) VISIBLE)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;
设置外键
ALTER TABLE `ds_table`.`ds_privilege`
ADD INDEX `userid_ds_privilege_idx` (`userid_ds_privilege` ASC) VISIBLE;
;
ALTER TABLE `ds_table`.`ds_privilege`
ADD CONSTRAINT `userid_ds_privilege`
FOREIGN KEY (`userid_ds_privilege`)
REFERENCES `ds_table`.`ds_user` (`idDS_User`)
ON DELETE NO ACTION
ON UPDATE NO ACTION;
在表中加入数据
INSERT INTO `ds_table`.`ds_privilege` (`idds_privilege`, `userid_ds_privilege`, `privilege1_ds_privileg`) VALUES ('1', '1', '0');
测试外键功能时发现如果在副表添加主表没有的主键,添加数据的时候会报错。
use ds_table;
使用当前数据库
show tables;
看当前数据库下有那些表
select * from ds_user;
看ds_user表中有那些内容
- 注意直接在docker终端中无法键入中文