复习MySQL②数据类型及约束条件
数据类型分为数值类型、日期和时间类型、字符串类型
数值类型:
– INT:有符号的和无符号的。有符号大小-2147483648~2147483647,无符号大0~4294967295。 宽度最多为11个数字- int(11)
– TINYINT:有符号的和无符号的。有符号大小-128~127,无符号大小为0~255。宽度最多为4个数 字- tinyint(4)
– SMALLINT:有符号的和无符号的。有符号大小-32768~32767,无符号大小为0~65535。宽度最 多为6个数字- smallint(6)
– MEDIUMINT:有符号的和无符号的。有符号大小-8388608~8388607,无符号大小为0~16777215。 宽度最多为9个数字- mediumint(9)
– BIGINT:有符号的和无符号的。宽度最多为20个数字- bigint(20)
– FLOAT(M,D):只能为有符号的。默认为(10,2)
– DOUBLE(M,D):只能为有符号的。默认为(16,4)
– DECIMAL(M,D):只能为有符号的。
日期和时间类型
– DATE:YYYY-MM-DD格式,在1000-01-01和9999-12-31之间。例如:1973-12-30
– DATETIME:YYYY-MM-DD HH:MM:SS格式,位于1000-01-01 00:00:00和9999-12-31 23:59:59 之间。例如:1973-12-30 15:30:00
– TIMESTAMP:称为时间戳,在1970-01-01 00:00:00和2037-12-31 23:59:59之间。例如,1973年 12月30日下午15:30,则在数据库中存储为:19731230153000
– TIME: 以HH:MM:SS格式, -838:59:59~838:59:59
– YEAR(2|4): 以2位或4位格式存储年份值。如果是2位,1970~2069;如果是4位,1901~2155。 默认长度为4
字符串类型
– CHAR(M):固定长度字符串,长度为1-255。如果内容小于指定长度,右边填充空格。如果不指 定长度,默认为1
– VARCHAR(M): 可变长度字符串,长度为1-255。定义该类型时必须指定长度
– BLOB 或TEXT:最大长度65535。存储二进制大数据,如图片。不能指定长度。两者区别: BLOB 大小写敏感
– TINYBLOB 和TINYTEXT:最大长度255。不能指定长度。
– MEDIUMBLOB 或MEDIUMTEXT:最大长度16777215 字符
– LONGBLOB 或LONGTEXT:最大长度4294967295 字符
– ENUM:枚举。例如:ENUM(‘A’,’B’,’C’)。NULL 值也可
约束条件
PRIMARY KEY 主键约束 字段名 数据类型 PRIMARY KEY
NOT NULL 非空约束 字段名 数据类型 NOT NULL
UNIQUE 唯一约束 字段名 数据类型 UNIQUE
AUTO_INCREMENT 自增字段 字段名 数据类型 AUTO_INCREMENT
DEFAULT 默认值 字段名 数据类型 DEFAULT 默认值
主键约束:保证表中每行记录都不重复
主键,又称为”主码”,是数据表中一列或多列的组合。 主键约束要求主键列的数据必须是唯一的,并且 不允许为空。 使用主键,能够惟一地标识表中的一条记录,并且可以结合外键来 定义不同数据表之间的关 系,还可以加快数据库查询的速度
非空约束,指的是字段的值不能为空
唯一性约束,要求该列的值必须是唯一的:
允许为空,但只能出现一个空值; 一个表中可以有多个字段声明为唯一的; 唯一约束确保数据表的一列或几列不出现重复值
默认约束,指定某个字段的默认值:
如果新插入一条记录时没有为默认约束字段赋值,那么系统就会自动为这个字段赋值为默认约束设定的值
自增字段:一个表只能有一个自增字段,自增字段必须为主键的一部分。默认情况下从1开始自增
复习MySQL②数据类型及约束条件的更多相关文章
- MySQL数据类型和约束条件
一.数据库操作数据的存储引擎 INNODB:支持事务 行锁 外键 查询速度比MYSiam慢 但是保证了数据的安全性 5.1 版本之后 MYSIAM:老版本用 5.1版本之前 搜索速度快 不支持事务 没 ...
- MySQL数据类型与操作
内容提要: 建表完整语法规范(create table 表格(字段名1 类型 (宽度) 约束条件)) MySQL数据库数据类型(整型.浮点型.字符类型(char与varchar).日期类型.枚举与集合 ...
- mysql引擎,完整的见表语句,数据库模式, 常用数据类型,约束条件
引擎 show engines : 查看引擎 innodb(默认引擎):支持事务,行级锁,外键 myisam:查询效率由于innodb,不需要支持事务,行级锁,外键,可以选用myisam来优化数据库 ...
- MySQL数据库:SQL语句基础、库操作、表操作、数据类型、约束条件、表之间的关系
数据库相关概念: 1. 数据库服务器:运行数据库管理软件的计算机 2. 数据库管理软件:MySQL.Oracle.db2.slqserver 3. 库:文件夹,用来组织文件/表 4. 表:文件(类似于 ...
- mysql数据库 --数据类型、约束条件
今日内容 表的详细使用 1.创建表的完成语法 2.字段类型 整型.浮点型.字符类型.日期类型.枚举与集合类型 3.约束条件 primary key.unique.not null.default 一. ...
- MySQL数据类型2
一.MySQL的数据类型 主要包括以下五大类: 整数类型:BIT.BOOL.TINY INT.SMALL INT.MEDIUM INT. INT. BIG INT 浮点数类型:FLOAT.DOUBLE ...
- MySQL--表操作(innodb表字段数据类型、约束条件)、sql_mode操作
一.创建表的完整语法 #[]内的可有可无,即创建表时字段名和类型是必须填写的,宽度与约束条件是可选择填写的.create table 表名(字段名1 类型[(宽度) 约束条件],字段名2 类型[(宽度 ...
- MySQL(数据类型和完整约束)
MySQL数据类型 MySQL支持多种数据类型,主要有数值类型.日期/时间类型和字符串类型. 1.数值数据类型 包括整数类型TINYINT.SMALLINT.MEDIUMINT.INT.BIGINT. ...
- Mysql数据类型最细讲解
文章原创于公众号:程序猿周先森.本平台不定时更新,喜欢我的文章,欢迎关注我的微信公众号. 数据库中事务是最重要的概念之一,所以上篇着重谈了谈数据库中事务的使用,并且举了实例如何在实际开发中去使用事务进 ...
随机推荐
- Grails里DOMAIN类的一对一,一对多,多对多关系总结及集成测试
终于干完这一章节,收获很多啊. 和DJANGO有类似,也有不同. User.groovy: package com.grailsinaction class User { String loginId ...
- Spring MVC-集成(Integration)-Hibernate验证器示例(转载实践)
以下内容翻译自:https://www.tutorialspoint.com/springmvc/springmvc_hibernate_validator.htm 说明:示例基于Spring MVC ...
- dba 和 rdba 转载
一. DB(Data block) A data block is the smallest unit of storage in an Oracle database. Every datab ...
- LA 4794 状态DP+子集枚举
状态压缩DP,把切割出的面积做状态压缩,统计出某状态下面积和. 设f(x,y,S)为在状态为S下在矩形x,y是否存在可能划分出S包含的面积.若S0是S的子集,对矩形x,y横切中竖切,对竖切若f(x,k ...
- LA 3695 部分枚举
运用部分枚举的思想,很明显完全枚举点的思想是不可能的.改为枚举上下边界,当确定右边界j后,对左边界i,可以有点数为on[j]+on[i]+(leftu[j]-leftu[i])+leftd[j]-le ...
- vbs socket
http://www.bathome.net/thread-423-1-1.html http://files.cnblogs.com/files/developer-ios/mswinsck.ocx ...
- 小白学开发(iOS)OC_ 字符串写入文件(2015-08-13)
// // main.m // 字符串写入文件 // // Created by admin on 15/8/13. // Copyright (c) 2015年 admin. All rig ...
- 0x6A 网络流初步
CH Round #17-C 这个算是一个技能点吧,不点不会,点了就没什么了.懒得写看书吧书上的1应该是0... 我又回来了太懒了不想翻书还是写写吧 必须边的判定条件:该边流量为0且两端的点在残余网络 ...
- 快速排序及三向切分快排——java实现
快速排序也是一种分治算法.主要思想是选取一个切分点,将大于切分点的元素都放置到数组右侧,小于切分点的元素都放置到数组左侧:然后递归,再对切分点左侧和右侧分别排序. 归并排序时递归在前,归并在后,快速排 ...
- js实用篇之数组、字符串常用方法
常常在开发中,会使用到很多js数组和字符串的处理方法,这里列举一些我常用到的一些,方便大家参考使用. 数组方面 push:向数组尾部增加内容,返回的是新数组的长度. var arr = [1,2,3] ...