标签:width 主表 完整 arc 默认值 ble 复合 技术 会话
作用:用于保证数据的完整性和一致性
包含:
PRIMARY KEY (PK) 标识该字段为该表的主键,可以唯一的标识记录 FOREIGN KEY (FK) 标识该字段为该表的外键 NOT NULL 标识该字段不能为空 UNIQUE KEY (UK) 标识该字段的值是唯一的(唯一性约束) AUTO_INCREMENT 标识该字段的值自动增长(整数类型,而且为主键) DEFAULT 为该字段设置默认值 UNSIGNED 无符号 ZEROFILL 使用0填充
------------------------------------------------------
主键在创建后默认是not null
但不是显示的是 not null的都是主键,有仅仅只是设置的非空。
null表示空,但不是代表字符串,not null 也一样
唯一性约束:
constraint host_port unique(host,port)
#constraint host_port这个只是用来设置唯一约束的名字的,也可以不设置默认就有了
一个表中可以: 单列做主键 多列做主键(复合主键) 但一个表内只能有一个主键primary key
定义单个主键:
定义多个主键:
auto_incerment
偏移量:auto_increment_offset默认为1
create table dep1( id int primary key auto_increment, )auto_increment = 10;
uto_increment_increment:
create table dep3( id int primary key auto_increment, name char(10) ); # 会话:通过客户端连到服务端(一次链接称为一次会话) set session auto_increment_increment = 2; #会话级,只对当前会话有效 set global auto_increment_increment=2; #全局,对所有的会话都有效 insert into dep3(name) values(‘IT‘),(‘HR‘),(‘SALE‘),(‘Boss‘);
两表之间有关系,
先建张部门表(被关联表)主表 create table dep( id int not null unique, name varchar(50), comment varchar(100) );
再建张员工表(关联表)子表 create table emp_info( id int primary key auto_increment, name varchar(20), dep_id int, constraint FK_depid_id foreign key(dep_id) references dep(id) #references :关联 on delete cascade #关联的表删了,被关联的表也删了 on update cascade #关联的表修改了,被关联的表也修改了 );
标签:width 主表 完整 arc 默认值 ble 复合 技术 会话
原文地址:https://www.cnblogs.com/ls-2018/p/8974604.html