文章插图
可以看到插入成功 。
friInfo表中的departmentId列的数据只能从department中的id列选取 。
(2)可以在创建表的时候直接添加约束
例:
create table department(id int not null auto_increment primary key,name varchar(20))engine=innodb default charset=utf8;create table friInfo(id int not null auto_increment primary key,name varchar(20),departmentId int,constraint fk_f_d foreign key(departmentId) referneces department(id))engine=innodb default charset=utf8;
3.数据行级别(****)
1. 数字
(1) bit(m) 二进制位 , m表示二进制位的长度 , 范围1~64 , 默认m=1
(2) tinyint 相当于c++中的int8类型 , 默认是有符号的 , 创建无符号:tinyint unsigned;注意:布尔类型用 tinyint(1)表示;
(3) smallint 相当于c++中的int16类型;
(4) int 相当于c++中的int32类型;
(5) bigint 相当于c++中的int64类型;
(6) decimal(m[,d]) 精确的小数 , m是数字总个数(负号不算) , 最大值65 , d是小数点后个数 , 最大值30;
(7) float(m,d) 单浮点数 , m是数字总个数 , d是小数点后数字个数;数值越大越不准确;
(8) double(m,d) 双浮点数 , m是数字总个数 , d是小数点后数字个数;数值越大越不准确;
2.字符串
(1) char(m) 固定长度的字符串 , 最大长度255字符 , m代表字符串长度 , 即使数据小于m , 也会占用m个字符;
(2) varchar(m) 可变长度的字符串 , 最大长度255字符 , m代表字符串长度 , 只要小于m长度的字符串都可以保存在数据类型中;相比于char类型效率较低;
(3) text 保存变长的大字符串 , 最大长度65535个字符;
(4) mediumtext 保存变长的大字符串 , 最大长度16777215个字符;
(5) longtext 保存变长的大字符串 , 最大长度4294967295个字符;
(6) TinyBlog、Blog、MediumBlog、LongBlog 二进制数据;
3.时间
(1) date: YYYY-MM-DD;
(2) time: HH:MM:SS;
(3) datetime: YYYY-MM-DD HH:MM:SS;
(4) year: YYYY;
(5) timestamp: YYYYMMDD HHMMSS;
4.枚举
相当于c++中的枚举 。
用法:
create table studentInfo(name varchar(20),age int,class ENUM(‘class1‘, ‘class2‘, ‘class3‘))engine=innodb default charset=utf8;
insert into studentInfo(name,age,class) values(‘a‘,19,‘class1‘),(‘b‘,20,‘class2‘),(‘c‘,21,‘class3‘);5.集合
可以设置多个值 。
用法:
create table teacher(name varchar(20),course SET(‘math‘, ‘sports‘, ‘english‘))engine=innodb default charset=utf8;insert into teacher(name,course) values(‘a‘, (‘math‘, ‘sports‘)), (‘b‘, (‘english‘, ‘sports‘)), (‘c‘, (‘math‘, ‘english‘));
- MySQL教程-19-数据排序
- mysql:索引的本质详解
- mysql事务的隔离性等级事故
- mysql:索引之二叉树初步理解
- 布局篇 前端教程H5、CSS3怎么让文字内容都垂直居中?弹性布局
- mysql:数据库之删除记录对自动增长的影响
- 法国棍子面包,你做对了吗?详尽教程教您做正宗法棍!
- 怎么用PS做海报啊?
- mysql数据库中的sql语句——作业题讲解-2
- 产品倒影设计教程 电商美工photoshop设计视频教程 ps教学课程