当第一个表中恰好有一个记录与相关表中恰好一个记录相对应时,就会发生一对一的关系。
MySQL不包含任何用于定义一对一关系的“就绪”选项,但是,如果要强制执行该选项,则可以
将一个主键中的外键添加到另一个主键中
,通过这样做,两个表将自动具有一对一的关系。
这是在MySQL中定义
一对一
关系的示例。
STOCK表用于存储频繁使用的数据,如stock_code和stock_name,而STOCK_DETAIL用于存储公司明细。 两个表都包含与主键相同的Stock_Id。 并且,在STOCK_DETAIL表中,Stock_Id是STOCK表的主键,也是外键。
注意
另一个经典的一对一示例是用户和用户配置文件设计。
这是用于创建表并在MySQL中强制执行关系的SQL语句。
DROP TABLE IF EXISTS `mkyong`.`stock`;
CREATE TABLE `mkyong`.`stock` (
`STOCK_ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
`STOCK_CODE` varchar(10) NOT NULL,
`STOCK_NAME` varchar(20) NOT NULL,
PRIMARY KEY (`STOCK_ID`) USING BTREE,
UNIQUE KEY `UNI_STOCK_NAME` (`STOCK_NAME`),
UNIQUE KEY `UNI_STOCK_CODE` (`STOCK_CODE`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=50 DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `mkyong`.`stock_detail`;
CREATE TABLE `mkyong`.`stock_detail` (
`STOCK_ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
`COMP_NAME` varchar(100) NOT NULL,
`COMP_DESC` varchar(255) NOT NULL,
`REMARK` varchar(255) NOT NULL,
`LISTED_DATE` date NOT NULL,
PRIMARY KEY (`STOCK_ID`) USING BTREE,
CONSTRAINT `FK_STOCK_ID` FOREIGN KEY (`STOCK_ID`) REFERENCES `stock` (`STOCK_ID`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
标签:
mysql
一对一
当第一个表中恰好有一个记录与相关表中恰好一个记录相对应时,就会发生一对一的关系。 MySQL不包含任何用于定义一对一关系的“就绪”选项,但是,如果要强制执行该选项,则可以将一个主键中的外键添加到另一个主键中 ,通过这样做,两个表将自动具有一对一的关系。 例 这是在MySQL中定义一对一关系的示例。 STOCK表用于存储频繁使用的数据,如stock_code和stock_n...
https://zhuanlan.zhihu.com/pythonstock
【docker hub地址下载】:
https://hub.docker.com/r/pythonstock/pythonstock
【相关stock资料分类】:
http://blog.csdn.net/freewebsys/
文章目录1、序列与数据框创建(Series,DataFrame)2、读取外部数据3、数据类型转换及描述统计4、字符与日期数据处理5、常用的数据清洗方法
数据处理模块Pandas,该模块可以帮助数据分析师轻松地解决数据的预处理问题,如数据类型的转换、缺失值的处理、描述性统计分析、数据的汇总等。
两种重要的数据结构,即序列和数据框;
如何读取外部数据(如文本文件、电子表格或
数据库
中
的数...
CREATE PROCEDURE simple_procedure (IN param1 INT, IN param2 VARCHAR(255))
BEGIN
DECLARE local_variable INT;
SET local_variable = 0;
SELECT * FROM table WHERE column1 = param1 AND column2 = param2;
SET local_variable = local_variable + 1;
END //
DELIMITER ;
这个存储过程接收两个参数 `param1` 和 `param2`,然后
定义
一个局部变量 `local_variable`,并在存储过程
中
执行一个 SELECT
语句
。最后,将 `local_variable` 加 1。
注意,在开始和结束存储过程时,必须使用特殊的分界符 `//`。在结束存储过程时,还必须使用 `;`。
要调用这个存储过程,可以使用以下
语句
:
CALL simple_procedure(1, 'hello');
希望这对你有帮助。