15621857753

mysql数据库:外关键字 事务安全 系统变量

来源:齐鲁CMS 栏目:Mysql 阅读: 日期:2024-09-28

mysql数据库:外关键字 事务安全 系统变量

44.外键(又称 外关键字)

如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外键。由此可见,处键表示了两个关系之间的相关联系。以另一个关系的外键作主关键字的表被称为主表,具有此处键的表被称为主表的从表。处键又称作外关键字。

外键:foreign key

一张表(A)中有一个字段,保存的值指向另外一张表(B)的主键,B为主表,A为从表

1)增加外键

方案1:在创建表的时候增加外键(类似主键)基本语法:在字段之后增加一条语句

[constraint '处键名'] foreign key(处键字段)references 主表(主键);

-- >foreign key(class_id) references my_class(class_id);

方案2:在创建表后增加外键

Alter table 从表 add [constraint '外键名'] foreign key(外键字段)references 主表(主键);

-- >alter table my_student add constraint 'student_class_ibfk_1 foreign key(class_id) references my_class(class_id); //修改my_student表,将class_id设为外键字段

2)修改/删除外链(外链不允许修改,只能删除再增加)

基本语法:alter table 从表 drop foreign key 外键名字;

-- >alter table my_student drop foreign key student_class_ibfk_1;

45.事务安全

事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。事务通常由高级数据库操纵语言或编程语言书写的用户程序的执行所引起。事务由事务开始(begin transaction)和事务结束(end transaction)之间执行的全体操作组成。

基本原理:MysqL允许将事务统一进行管理(存储引擎NNODB),将用户所做的操作,暂时保存起来,不直接放到数据表(更新),等到用于确认结果之后再进行操作。

事务应该具有4个属性:原子性、一致性、隔离性、持久性。这四个属性通常称为ACID特性。

46.系统变量

1)查询变量的数据值

基本语法:select@@变量名;

-- >select @@autocommit;

2) 修改系统变量

① 局部修改(会话级别):只针对当前自己客户端当次连接有效,基本语法:set 变量名 = 新值;

② 全局修改:针对所有的客户端,“所有时刻”都有效,基本语法:set global 变量名 = 值; || set @@global.变量名=值;