数据库-数据类型及主键外键
数值类型:整型、浮点型
字符串:
char(定长):插入数据或查询数据都很快,因为char在磁盘上插入数据的时候的存储空间是固定的,简单粗暴,直接就是定长空间,那么就不需要考虑数据的长度,所以我们在进行数据查询的时候,速度也快,因为在读取数据的时候也不需要考虑数据长度,简单粗暴的按照定长的空间来取数据,也导致以下空间的浪费。
varchar(不定长):插入和查询速度都相对较慢,因为它在内容存储数据的时候,是按照数据的长度来进行存储的,那么每次存储数据都需要计算一下数据的长度,按照长度来开辟存储空间,那么在数据的存储空间前面还要开辟1-2个字节空间长度来存储数据的长度,也就是说格式大概是长度+内容,也导致了在我们读取数据的时候,首先要先读取数据的长度,然后根据长度再读取后面的内容,导致速度较慢,但是多数情况下可以节省存储空间
日期类型:
year、date、time、datetime、timestamp
枚举类型(enumeration(‘1’,‘2’),单选)
集合类型:set('1','2','3') 多选
完整性约束:
not null:不为空
default:
unique:唯一,不允许重复
primary key:主键,唯一非空 not null + unique
必须有一个主键字段,且只能有一个
1.自动查看你所有的字段里面是否有not null + unique,如果有默认就将这个字段设置为主键字段
2.自动给你设置一个看不到的字段作为主键
atuo_increment:自增,一般加在主键后面,从1开始每次+1,可以设置步长,可以设置起始值
foreign key:外键,建立表之间关系用的
一对多:
T1 一对多 t2
T1里面的一条数据,可以对应t2表里面的多条数据
T2表里面加一个字段,t1_id
create table t2(
id int primary key auto_increment,
name char(10) not null,
sex enum('男','女') default '男' not null,
id_card char(18) not null unique
t1_id int not null,
constraint fk_t2_t1 foreign key(t1_id) refernces t1(id)
一对一:
create table t2(
id int primary key auto_increment,
name char(10) not null,
sex enum('男','女') default '男' not null,
id_card char(18) not null unique
t1_id int not null unique,
constraint fk_t2_t1 foreign key(t1_id) refernces t1(id)
多对多:
建立第三张表
t3
t3 id t1_id t2_id
转载于:https://www.cnblogs.com/wangzhilong/p/10297130.html
数据库-数据类型及主键外键相关推荐
- [数据库03]-约束(唯一性-主键-外键/存储引擎/事务/索引/视图/DBA命令/数据库设计三范式
[数据库03]-约束(唯一性-主键-外键)/存储引擎/事务/索引/视图/DBA命令/数据库设计三范式 一.约束 1.1 唯一性约束(unique) 1.2 主键约束 1.3 外键约束 二.存储引擎 2 ...
- 数据库 主键 外键 唯一键区别
下面我通过一个小栗子来说明我们应该如何选择主键,外键和唯一键. 现在我们想建立学生表,用来存储,一个系统的登陆信息.建表如下: create table student4 ( stu_id in ...
- MySql数据库主键外键与数据库设计
MySql数据库主键外键与数据库设计 首先要指出的: 列.字段.属性是一个概念 行.记录.元组是一个概念 MySQL数据库CONSTRAINT约束:非空约束,唯一约束,主键约束,外键约束 show c ...
- Python攻城师————MySQL数据库(自增、外键、关键字)
今日学习目标 正式学习MySQL数据库语句. 文章目录 今日学习目标 学习内容 一.自增特性 二.约束条件之外键 外键的定义 外键约束创建 三.查询关键字 查询关键字之select与from 查询关键 ...
- mysql 主键外键sql_SQL外键VS主键说明了MySQL语法示例
mysql 主键外键sql A Foreign Key is a key used to link two tables. The table with the Foreign Key Constra ...
- 主键主键外键和索引_主键和外键的目的/用途是什么?
主键主键外键和索引 Primary and foreign keys are a way in which to constrain related data together to ensure d ...
- mysql中表的约束,主键外键唯一键
mysql2 表的约束 空属性(NULL) 默认值 列描述 zerofill 主键 主键属性 复合主键 追加主键 删除主键 自增长 唯一键 外键 表的约束 空属性(NULL) 此时 name 的 Nu ...
- MySQL数据库(25):外键 foreing key
外键 foreing key 外键表示了两个实体之间的联系 外键 foreing key: A表中的一个字段的值指向另B表的主键 B: 主表 A: 从表 主表:主键(主关键字) = 从表:外键(外关键 ...
- SQL-主键外键的定义
primary key 主键 需设置为不为空不重复&自增列 not null auto_increment primary key 一个表仅允许一个主键,但主键可由多列组成 create ta ...
最新文章
- 机器学习常用术语词汇表
- iOS下Html页面中input获取焦点弹出键盘时挡住input解决方案
- Geany编辑器怎么使中文不报错?
- IdeaVim插件使用技巧
- docker之数据卷管理
- 【译】Consortium Chain Development
- 【机器视觉】 assign_at算子
- BZOJ3262: 陌上花开(cdq分治)
- Linux 命令之 chown -- 用来变更文件或目录的拥有者或所属群组
- java应用开发_开发简单的Java应用
- 远程桌面服务器无法复制粘贴了怎么解决
- 电脑开机时光驱咔咔响_电脑机箱噪音大?看懂这篇内容,让你四步就能解决问题...
- json在线解析工具
- MFC下实现的简单随机点名器
- 没有基础怎么自学渗透测试工程师?
- Google好用插件推荐(一)
- java弹跳小球程序_用java实现跳动的小球示例代码
- 【Unity3D】Android 打包 ① ( Android 编译选项 | 安装 Android Build Support 模块 )
- NVIDIA GeForce GTX 1050 Ti性能如何
- 多款国外虚拟主机简单比较
热门文章
- 数据结构:关于AVL树的平衡旋转详解
- Eclipse安装插件时报No repository found containing...解决办法
- aix服务重启mysql_mysqld进程几分钟重启一次,如何解决?
- ttf_openfont可以多次调用吗_西门子OB块、FC块、FB块、DB块之间有什么关系?如何调用?...
- 教师资格证考试计算机知识题库,教师资格证考试题库
- 阿里巴巴研究员叔同:云原生是企业数字创新的最短路径
- Spring Cloud Alibaba IDE 工具重大升级
- 数控程序中r及q代表什么_你想学会数控宏程序编程,推荐你套数控编程教程
- Python单元测试之unittest
- 大学不挂科c语言题库及答案,C语言期末总复习,保你不挂科!