- 在关系型数据库中,有两个不同的事务同时操作数据库中同一表的同一行,不会引起冲突的是两个DELETE。其中一个SELECT,其中两个都是UPDATE或其中一个是DELETE,另一个是UPDATE都会冲突。
- MySQL实现了四种通信协议
1)TCP/IP协议,通常我们通过来连接MySQL,各种主要编程语言都是根据这个协议实现了连接模块。
2)Unix Socket协议,这个通常我们登入MySQL服务器中使用这个协议,因为要使用这个协议连接MySQL需要一个物理文件,文件的存放位置在配置文件中有定义,值得一提的是,这是所有协议中最高效的一个。
3)Share Memory协议(共享内存),这个协议一般人不知道,肯定也没用过,因为这个只有windows可以使用,使用这个协议需要在配置文件中在启动的时候使用–shared-memory参数,注意的是,使用此协议,一个host上只能有一个server,所以这个东西一般没啥用的,除非你怀疑其他协议不能正常工作,实际上微软的SQL Sever也支持这个协议。
4)Named Pipes协议(命名管道),这个协议也是只有windows才可以用,同shared memory一样,使用此协议,一个host上依然只能有一个server,即使是使用不同的端口也不行,Named Pipes 是为局域网而开发的协议。内存的一部分被某个进程用来向另一个进程传递信息,因此一个进程的输出就是另一个进程的输入。第二个进程可以是本地的(与第一个进程位于同一台计算机上),也可以是远程的(位于联网的计算机上)。正因为如此,假如你的环境中没有或者禁用TCP/IP环境,而且是windows服务器,那么好歹你的数据库还能工作。使用这个协议需要在启动的时候添加–enable-named-pipe选项。 - SQL约束主要有一下几种:
NOT NULL : 用于控制字段的内容一定不能为空(NULL)。
UNIQUE : 控制字段内容不能重复,一个表允许有多个 Unique 约束。
PRIMARY KEY: 也是用于控制字段内容不能重复,但它在一个表只允许出现一个。
FOREIGN KEY: FOREIGN KEY 约束用于预防破坏表之间连接的动作,FOREIGN KEY 约束也能防止非法数据插入外键列,因为它必须是它指向的那个表中的值之一。
CHECK: 用于控制字段的值范围。
DEFAULT: 用于设置新记录的默认值。 - 在关系模型中,实现“表示了两个关系之间的相关联系”的约束是通过:外键。
超键(super key):在关系中能唯一标识元组的属性集称为关系模式的超键;
候选键(candidate key):不含有多余属性的超键称为候选键 ;
主键(primary key):用户选作元组标识的一个候选键程序主键 ;
来源:oschina
链接:https://my.oschina.net/u/4286896/blog/4317743