数据库常见数据类型和约束

常用数据类型

MYSQL数据库支持多种类型,大致可以分为三个类型:数值型、时间/日期型和字符型

在这里就列举一些我们常用的数据类型

1、数值型

表示整数型数据类型(tinyint、smallint、mediumint、int)  浮点型数据类型(float、double)

用法:

1)、整形   ( 学号)

区别为存储大小不同,取值范围不同

tinyint(m)  取值 【-128,127】

tinyint(m)  unsigned(可省略) zerofill   取值 【0,255】

m 定义为字段长度,与zerofill搭配时,数据精度不足时,自动用0补齐  例如:(001)

2)、浮点型    (身高)

float (m , z)    m : 字段总长度    z : 小数点后的位数

取值【-3.4*10-38,3.4*1038

缺点 : 丢失精度,相较于double精度更低

2、字符型

表示字符型数据类型(char、varchar)

char (m)  m 影响存储长度  (姓名)

3、时间日期型

表示时间值的日期和时间类型(datetime、date、time和year)

Mysql中的约束

1、not null

not null 即为非空约束,指定某一行的值不能为null。

建立一个s表,将id设置为int型,not null约束

插入数据id为null就会报错

备注:所有的类型的值都可以是null,包括int、float、dateTime等数据类型 空字符串(”)是不等于null,0也不等于null 。

2、unique

unique代表唯一约束。唯一约束是指定table的列或列组合不能重复,保证数据的唯一性。但是可以为多个null,同一个表可以有多个唯一约束,多个列组合的约束。

在创建唯一约束的时候,如果不给唯一约束名称,就默认和列名相同。MySQL会给唯一约束的列上默认创建一个唯一索引;

唯一约束是通过唯一索引实现的,换句话说,唯一索引是实现唯一约束的基础。所以,建唯一约束,会自动建唯一索引,但建唯一索引,不会自动创建唯一约束。

建表给doc加上一个唯一约束

插入数据示例

插入成功。说明对于,当为null的时候,唯一索引是不进行判断唯一性的

3、primary key

作用:用来保证数据完整性

特点:

1)、主键约束相当于唯一约束+非空约束的组合,主键约束列不允许重复,也不允许出现空值;

2)、每个表最多只允许一个主键,建立主键约束可以在列级别创建,也可以在表级别上创建;

3)、MySQL的主键名总是PRIMARY, 当创建主键约束时,系统默认会在所在的列和列组合上建立对应的唯一索引;

4、foreign key

作用:保证一个或两个表之间的参照完整性,构建一个表的两个字段或是两个表的两个字段之间的参照关系。

特点:

1)、从表的外键值必须在主表中能找到或者为空。

2)、当主表的记录被从表参照时,主表的记录将不允许删除,如果要删除数据,需要先删除从表中依赖该记录的数据, 然后才可以删除主表的数据

原文地址:https://www.cnblogs.com/li8537/p/11403898.html

时间: 2024-08-02 07:36:01

数据库常见数据类型和约束的相关文章

Mysql 常见数据类型及约束

Mysql 常见数据类型及约束 最近在跟几个不太懂技术的同事(哈哈, 其实我也不懂), 要整一个数据库项目, 然后前端, 后端, 都没有像样的, 数据输出还不是由我们控制.... 这可难受了, 然后总数被围绕着, 怎么导入数据, 导出EXCEL .... 之类的, 或者是说导入数据不方便, 怎么字段还要有类型.... 每至于此, 我其实内心是崩溃的, 但非常理解. 不理解, 还能怎么办呢.(当然, 开个玩笑) 这里引出一个问题, 为啥要舌设置类型以及约束? 因为数据类型影响着数据存储的资源占用空

数据库的数据类型、约束、索引、视图

数据库的数据类型.约束.索引.视图 一.数据类型 (一)数值型数据 整数 int,bigint,smallint 小数 float,real,decimal(长度,精度),numeric(长度,精度) 常用的:float(相当于C#中的double),decimal (二)字符数据 char(n) 最大存储量:8000英文字符,4000汉字:数量一定的字符用char(n)如身份证.学号,用n限制字符数量输入: varchar(n) 最大存储量:8000英文字符,4000汉字: 数量变化的字符用v

数据库(二)约束

既然是管理,就需要有一定量的规则.数据库也一样.我们把它的管理方式叫做约束.相对正规一点的公司,都会拥有一定量的数据库进行管理.同理他们也都会做约束.数据库约束比较严谨,常见的分为以下四种:主键约束.外键约束.唯一约束.check约束. 主键约束 我们经常使用baidu与google等搜索引擎,登录各大网站搜索信息辅助工作.输入的关键字就被称为主键.同样我们在表格的设置界面中,列上右键,设置一列作为主键列,那么这一列的信息就将作为主键以参考辅助我们的搜索.为了方便搜索,信息不能重复,不能为空,一

SQL语言的分类和常见数据类型

SQL语言的分类和常见数据类型 SQL语言的分类 数据定义语言DDL DDL主要是对数据库对象进行创建.修改.删除的操作(create, alter, drop),数据库对象包括数据库.表.视图.索引: -- 创建表 create table table_name( 列名 数据类型 [键约束], ......, [约束] ); -- 修改表 alter table table_name add|modify|drop column_name; -- add|modify|drop 即向表中添加列

Oracle数据库常见错误总结(一)

实际项目实践过程中,经常会遇到一些形如"ORA-XXXX"的Oracle错误提示,此时,我们便会打开百度.Google,搜索相关技术解决方案.本系列博文的目的就在于,对常见的Oracle错误提示进行总结,不断完善. ORA-12560 ORA-12560: TNS: protocol adapter error(SQLPLUS) ORA-27101: shared memory realm does not exist(PL/SQL Developer) (1)原因分析 在path环境

SQL Server常见数据类型介绍

数据表是由多个列组成,创建表时必须明确每个列的数据类型,以下列举SQL Server常见数据类型的使用规则,方便查阅 Character 字符串: 数据类型 描述 存储 char(n) 固定长度的字符串.最多 8,000 个字符. n varchar(n) 可变长度的字符串.最多 8,000 个字符.   varchar(max) 可变长度的字符串.最多 1,073,741,824 个字符.   text 可变长度的字符串.最多 2GB 字符数据.   Unicode 字符串: 数据类型 描述

存储引擎,MySQL中的数据类型及约束

存储引擎,MySQL中的数据类型及约束 一.存储引擎 1.不同的数据应该有不同的处理机制 2.mysql存储引擎 ? Innodb:默认的存储引擎,查询速度叫myisam慢,但是更安全 ? myissam:mysql老版本用的存储引擎 ? memory:内存引擎(数据全部存在内存中) ? blackhole:无论存什么,都立马消失(黑洞) 数据库的增删改查已经介绍完毕,今天从表的详细操作开始讲解 二.创建表的完整语法 #语法: create table 表名( 字段名1 类型[(宽度) 约束条件

SQL Server常见数据类型的介绍

数据表是由多个列组成,创建表时必须明确每个列的数据类型.以下列举SQL Server常见数据类型的使用规则. 整数类型 int 存储范围是-2,147,483,648到2,147,483,647之间的整数,主键列常设置此类型.(每个数值占用 4字节) smallint 存储范围是-32,768 到 32,767 之间的整数,用来存储限定在特定数值范围内的数据.(每个数值占用 2 字节) tinyint 存储范围是0到255 之间的整数,用来存储有限数目的数值.(每个数值占用 1 字节) bigi

MySQL数据库常见管理应用(1)

MySQL数据库常见管理应用 1.创建数据库 创建一个数据库solin mysql> create database solin; 建立一个名为solin_gbk的GBK字符集 mysql> create database solin_gbk DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci; 建立一个名为solin_utf8的UTF8字符集 mysql> create database solin_utf8 DEFAULT CHARACT