1,MySql中数据类型介绍

整型及浮点型

数据类型

存储范围

字节

TINYINT

有符号值:-2^到2^7-1

无符号值:0到2^8-1

2

SMALLINT

有符号值:-2^15到2^15-1

无符号值:0到2^16-1

2

MEDIUMINT

有符号值:-2^23到2^23-1

无符号值:0到2^24-1

3

INT

有符号值:-2^31到2^31-1

无符号值:0到2^32-1

4

BIGINT

有符号值:-2^63到2^63-1

无符号值:0到2^64-1

8

浮点型

数据类型

存储范围

字节

FLOAT(M,D)

有符号值:-3.402823466E+38~-1.175494351E-38和0

无符号值:0和(1.175494351E-38,3.402823466E+38)

M是数字总位数,D是小数点后面的倍数。如果M和D被省略,根据硬件条件的限制进行对应保存,最在精确到小数点后7位小数。

4

DOUBLE(M,D)

有符号值:-1.7976931348623157 E+308~-2.2250738585072014E-308和0

无符号值:0和2.2250738585072014E-308~1.7976931348623157E+308

M是数字总位数,D是小数点后面的倍数。如果M和D被省略,根据硬件条件的限制进行对应保存,最在精确到小数点后7位小数。

8

日期和时间类型

数据类型

存储范围

字节

TIME

HH:MM:SS

-838:59:59 ~ 838:59:59

3

DATE

YYYY-MM-DD

1000-01-01          ~ 9999-12-31

3

DATETIME

YYYY-MM-DD HH:MM:SS

1000-01-01 00:00:00 ~ 9999-12-31 23:59:59

8

TIMESTAMP

YYYY-MM-DD HH:MM:SS

1970-01-01 00:00:01 ~ 2038

4

YEAR

YYYY

1901   ~ 2155

1

字符类型

数据类型

存储范围

字节

CHAR(M)

0<=M<=255

M个字节

VARCHAR(M)

可变长度L,最多65535

L+1

TINYTEXT

可变长度L,最多2^8-1个字符

L+1

TEXT

可变长度L,最多2^16-1个字符

L+2

MEDIUMTEXT

可变长度L,最多2^24-1个字符

L+3

LONGTEXT

可变长度L,最多2^32-1个字符

L+4

ENUM(‘value1’,’value2’.)

最多65535

1或2

SET(‘value1’,’value2’,...)

最多64个成员

1或2或3或4或8

2,MySql数据库中约束介绍:

约束类型

约束说明

NOT NULL

非空约束

PRIMARY KEY

主键约束

UNIQUE KEY

唯一约束

DEFAULT

默认约束

FOREIGN KEY

外键约束

约束介绍:约束作用是保证数据的完整性和一致性,分为表级约束和列级约束。

3,外键约束(FOREIGN KEY)介绍:

目的和作用:保持数据一致性,完整性,可以实现表与表之间一对一或一对多关系。

外键约束要求:

A:父表和子表必须有相同的存储引擎,且存储引擎必须是InnoDB。这个可以在数据MySql的配置文件中查看及修改,如下图:

B:不能使用临时表进行操作,且外键列和参照列必须具有相似的数据类型,如果是以数字类型作为外键,则数据符号及长度要相同 。

C:外键列和参照列必须创建索引,如果外键列不存在索引的话,MySql将自动创建索引。

4,外键约束的参照操作:

参照操作类型

说明

CASCADE

父表进行删除或更新操作,将自动删除或更新子表中匹配的数据。

SET NULL

父表进行删除或更新操作,将子表中对应数据外键设备为NULL。如果使用此参照类型,子表对应字段没有指定NOT NULL。

RESTRICT

拒绝对父表进行删除或更新操作。

NO ACTION

MySql中的关键字,与RESTRICT的作用相同 。

6,MySql中外键约束语句操作:

1,创建一个老师对应的表,就一个id和name字段:

CREATE TABLE teacher(id INT PRIMARY KEY,name VARCHAR(10));

2,创建一个学生表,一个学生指定有一个老师,通过teacher表的id字段进行外建约束。

CREATE TABLE student(id INT PRIMARY KEY,name VARCHAR(10),teacher_id INT,FOREIGN KEY(teacher_id) REFENERCES teacher(id));

这样就把两张表teacher与student进行了外键关联。

MySql数据库数据类型及约束介绍的更多相关文章

  1. MySQL数据库数据类型之集合类型SET测试总结

    MySQL数据库提供针对字符串存储的一种特殊数据类型:集合类型SET,这种数据类型可以给予我们更多提高性能.降低存储容量和降低程序代码理解的技巧,前面介绍了首先介绍了四种数据类型的特性总结,其后又分别 ...

  2. Mysql 常见数据类型及约束

    Mysql 常见数据类型及约束 最近在跟几个不太懂技术的同事(哈哈, 其实我也不懂), 要整一个数据库项目, 然后前端, 后端, 都没有像样的, 数据输出还不是由我们控制.... 这可难受了, 然后总 ...

  3. 查看MySQL数据库表的命令介绍

    如果需要查看MySQL数据库中都有哪些MySQL数据库表,应该如何实现呢?下面就为您介绍查看MySQL数据库表的命令,供您参考. 进入MySQL Command line client下查看当前使用的 ...

  4. MYSQL数据库数据类型

    07.14自我总结 MYSQL数据库数据类型 一.整数类型和浮点数典型 1.有符号/没符号 对于整数和负整数来说,默认情况下是有符号范围的 默认是有符号 有符号和没符号其实就是有没有包括负数,有符号是 ...

  5. MySQL数据库--外键约束及外键使用

    什么是主键.外键关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键. 比如: 学生表(学号,姓名,性别,班级) 其中每个学生的学号是唯 ...

  6. oracle数据库数据类型和约束

    今天为大家分享一下关键数据库里面的数据类型和约束.我们都知道国家要讲法律,干什么事情都要遵守法律,比如小的时候你上学的时候要遵守课堂纪律.不能迟到和早退,同样的我们在数据库中创建一些表.或者查询一些表 ...

  7. mysql数据库的权限体系介绍

    一.权限体系简介: MySQL的权限体系在实现上比较简单,相关权限信息主要存储在mysql.User.mysql.db.mysql.Host.mysql_table_priv和mysql.column ...

  8. mysql数据库 --数据类型、约束条件

    今日内容 表的详细使用 1.创建表的完成语法 2.字段类型 整型.浮点型.字符类型.日期类型.枚举与集合类型 3.约束条件 primary key.unique.not null.default 一. ...

  9. MySQL基本数据类型和约束方式

    常用数据类型 1.mysql中的基本数据类型 整型.浮点型.字符类型.日期类型.枚举和集合. 2.常用的约束条件 PRIMARY KEY.UNIPUE KEY.NOT NULL.FOREIGN KEY ...

随机推荐

  1. 自定义type

  2. Spring总结三:DI(依赖注入)

    简介: 所谓的依赖注入,其实是当一个bean实例引用到了另外一个bean实例时spring容器帮助我们创建依赖bean实例并注入(传递)到另一个bean中,比如你使用Spring容器创建的对象A里面需 ...

  3. opencv3 图片模糊操作-均值滤波 高斯滤波 中值滤波 双边滤波

    #include <iostream>#include <opencv2/opencv.hpp> using namespace std;using namespace cv; ...

  4. 30-懒省事的小明(priority_queue)

    http://acm.nyist.edu.cn/JudgeOnline/problem.php?pid=55 懒省事的小明 时间限制:3000 ms  |  内存限制:65535 KB 难度:3   ...

  5. 新装的Ubuntu没有ipconfig和ping命令

    新装的Ubuntu或者Docker pull的Ubuntu镜像创建的容器没有ipconfig和ping命令 解决办法: 1.apt-get update 2.安装和ifconfig有关的工具 apt ...

  6. 项目二:品优购 第二天 AngularJS使用 brand商品页面的增删改查

    品优购电商系统开发 第2章 品牌管理 传智播客.黑马程序员 1.前端框架AngularJS入门 1.1 AngularJS简介 AngularJS  诞生于2009年,由Misko Hevery 等人 ...

  7. PHP+SOCKET 模拟HTTP请求

    HTTP消息结构 客户端请求包括四部份:请求行(状态行).请求头.空行.请求主体(数据),如下图: 服务端响应包括四部份:响应行(状态行).响应头.空行.响应主体(数据),如图: HTTP请求方法: ...

  8. Django框架 之 MTV模型、 基本命令、简单配置

    浏览目录 MTV模型 Django框架前奏 Django基础必备三件套 Djaogo基本命令 MTV模型 Django的MTV分别代表: Model(模型):负责业务对象与数据库的对象(ORM) Te ...

  9. hrabs的数据库session的修改

    using System;using System.Data;using System.Collections;using System.Collections.Generic;using Syste ...

  10. 现代C++学习笔记之二入门篇1

    现代 C++ 强调: 基于堆栈的范围,而非堆或静态全局范围. 自动类型推理,而非显式类型名称. 智能指针而不是原始指针. std::string 和 std::wstring 类型(请参见 <s ...