docker中使用mysql

在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终端中无法键入中文
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值