07.14自我总结 MYSQL数据库约束类型 一.主键约束(primary key) 主键约束要求主键列的数据唯一,并且不能为空。主键分为两种类型:单字段主键和多字段联合主键。...,字段n] 2.自动增长 只能与primary key 联用 语法:字段 数据类型 primary key auto_increment n #n为起始位置,可以不填不填默认从1开始 二.外键约束(foreign...非空约束 语法规则:字段名 数据类型 not null 创建表格后 alter table test modify 段名 数据类型 not null; 四.唯一性约束(Unique) 指定唯一约束 唯一约束...语法规则:字段名 数据类型 Uniquel 再所有列创建完毕后:unique (字段名称) 创建表格后 alter table test modify 段名 数据类型 Unique; 五.默认约束(Default...语法规则: 字段名 数据类型 Dfault 默认值 创建表格后 alter table test modify 段名 数据类型 Dfault 默认值;
1.索引类型 1.1 普通索引 NORMAL: 是最基本的索引,它没有任何限制。 1.2 唯一索引 SPATIAL: 与前面的普通索引类似,不同的就是:索引列的值必须唯一,但允许有空值。...所以我们在数据库设计时不要让字段的默认值为null。 3.2 使用短索引 对串列进行索引,如果可能应该指定一个前缀长度。...因此数据库默认排序可以符合要求的情况下不要使用排序操作;尽量不要包含多个列的排序,如果需要最好给这些列创建复合索引。
MySQL索引类型: 1、普通索引 最基本的索引,它没有任何限制,用于加速查询。 创建方法: a.
MYSQL数据库-数据类型 零、前言 一、数据类型分类 二、数据库的字段属性 三、数值类型 1、tinyint类型 2、bit类型 3、float类型 4、decimal类型 四、字符串类型 1、char...类型 2、varchar类型 3、char和varchar比较 4、日期和时间类型 5、enum和set类型 零、前言 本章主要讲解学习MYSQL数据库的数据类型 一、数据类型分类 数据类型示图:...二、数据库的字段属性 所谓字段属性就是用来修饰数据类型的 主要的字段属性: UnSigned:无符号的,声明了该列不能为负数 ZEROFILL:0填充的,不足位数的用0来填充 , 如int...较大的数据 8个字节 float 浮点数 4个字节 double 浮点数 8个字节 decimal 字符串形式的浮点数,一般用于金融计算 1、tinyint类型 数值越界测试: 说明: 在MySQL...,占用空间4个字节 示例:小数float(4,2)表示的范围是-99.99 ~ 99.99,MySQL在保存值时会进行四舍五入 示例:如果定义的是float(4,2) unsigned 这时,因为把它指定为无符号的数
5.日期类型 5.1 datetime类型 与时区无关的, 占用8个字节的存储空间 datetime(6) 用于存储毫秒级别 时间范围是1000-01-01 00:00:00 到 9999-12-31...23:59:59 5.2 timestamp类型 本质存储的是时间戳, 使用int存储, 占用了4个字节....时间范围是1970-01-01到2038-01-19 类型显示依赖于所指定的时区 5.3 date类型和time类型 date类型存储常用于生日的存储....相比于字符串/datetime/int存储要更少, 只需要使用3个字节 使用date类型还可以利用日期时间函数进行日期之间的计算 时间范围: 1000-01-01到9999-12-31 不要使用字符串类型来存储日期时间数据...日期时间类型通常比字符串占用的存储空间更小 日期时间类型在进行查找过滤的时候可以利用日期来进行对比 日期时间 类型还有着丰富的处理函数, 可以方便的对时期类型进行日期计算 使用int不如使用timestamp
MySQL数据库数据类型分类 在MySQL数据库中,MySQL数据类型分有四大类:数值类型、文本/二进制类型、时间日期和String类型。...以下是这四大类的具体类型: 数值类型 数值类型的范围和字节大小: tinyint类型 tinyint类型只有一个字节大小,其数据范围为:【-128,127】 有符号举例: mysql> create...无符号举例: mysql> create table tt2( --tt2表,只有num字段,类型为tinyiny unsigned,表示无符号 -> num tinyint unsigned...举例: mysql> create table tt3( --创建tt3表,字段有id 类型为int,a 类型为bit(8).表示有8位比特位 -> id int, -> a bit(...字符串类型 char类型 语法: char(L): 固定长度字符串,L是可以存储的长度,单位为字符,最大长度值可以为255 举例: mysql> create table tt8( ->
07.14自我总结 MYSQL数据库数据类型 一.整数类型和浮点数典型 1.有符号/没符号 对于整数和负整数来说,默认情况下是有符号范围的 默认是有符号 有符号和没符号其实就是有没有包括负数,有符号是包括负数的...(0,+) 超出范围取极值 2.严选/非严选 我们不推荐使用非严格模式下建立table,因为它会可能造成数据丢失的情况,所以我们必须在5.6版本中将mysql设置为严格模式。...STRICT_TRANS_TABLES '; 方法二:直接修改配置文件; [mysqld] sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 并重启服务端mysql...严选情况下,数据超过他的设置范围他会报错 非严选情况下,数据超过他的设置范围不会报错,但是只存他设置大小的那一部分的数据,多余的会丢掉 3.常见的类型 1.整数型 数据类型 字节数 符号范围 有符号范围...longtext 4.enum与set 规定这个里面输入内容是什么,你可以输入他的内容,也可以输入他的索引 enum与set区别,enum只能输一个,set能输入一个或多个,且用集合的形式输入 注意: mysql
概述 MySQL主要包括五大数据类型: 数字、字符串、时间、其他。数据类型(data_type)是指系统中所允许的数据的类型。 MySQL数据类型定义了列中可以存储什么数据以及该数据怎样存储的规则。...数据库中的每个列都应该有适当的数据类型,用于限制或允许该列中存储的数据。例如,列中存储的为数字,则相应的数据类型应该为数值类型。...如果使用错误的数据类型可能会严重影响应用程序的功能和性能,所以在设计表时,应该特别重视数据列所用的数据类型。更改包含数据的列不是一件小事,这样做可能会导致数据丢失。...数据类型 数值类型 类型 大小 范围(有符号) 范围(无符号) 用途 TINYINT 1 字节 (-128, 127) (0, 255) 小整数值 SMALLINT 2 字节 (-32 768, 32...二进制类型 类型名称 说明 存储需求 BIT(M) 位字段类型 大约 (M+7)/8 字节 BINARY(M) 固定长度二进制字符串 M 字节 VARBINARY (M) 可变长度二进制字符串 M+1
我们在此之前已经讲过MySQL分区表的原理,分区有利于管理非常大的表,它采用分而治之的逻辑,便于对数据的管理。本期我们就来进一步了解MySQL分区表,详细看一下MySQL分区表类型究竟有几个?...MySQL支持如下几种类型的分区: 1、RANGE分区:行数据基于一个给定连续范围分区。不好理解,看例子吧。5.5版本开始支持RANGE COLUMNS分区。...4、KEY分区:根据MySQL内部提供的哈希函数进行分区。 5、COLUMNS分区:5.5版本开始支持,可以直接使用非整形的数据进行分区,分区根据类型直接比较而得,不需要转换为整形。...无论创建何种类型的分区,如果表中存在主键或唯一索引的列,则分区列必须是主键或唯一索引的一部分。索引列可以是null值。在没有主键和唯一索引的表中可以指定任意列为索引列。...当然,分区技术的应用远不止与此,区分各种分区表的类型并加以利用,我们才能更好地使用MySQL数据库查询和利用各种各样的数据。
1.2 数据类型 MySQL中的数据类型是强类型 1.2.1 数值型 1、 整型 整形 占用字节数 范围 tinyint 1 -128~127 smallint 2 -32768~32767 mediumint...1.2.2 字符型 在数据库中没有字符串概念,只有字符,所以数据库中只能用单引号 数据类型 描述 char 定长字符,最大可以到255 varchar 可变长度字符,最大可以到65535 tinytext...不支持布尔型,true和false在数据库中对应的是1和0 mysql> create table stu18( -> flag boolean -> ); Query OK, 0 rows...1.2.6 练习题 电话号码一般使用什么数据类型存储? varchar 手机号码用什么数据类型 char 性别一般使用什么数据类型存储?...char tinyint enum 年龄信息一般使用什么数据类型存储? tinyint 照片信息一般使用什么数据类型存储?
数据类型 一、数据类型分类 mysql 中的数据类型分类如下,其中红色字体的为常用的类型: 二、数值类型 mysql 中表的建立属性列:列名称 数据类型,例如 num int,它与我们平时写的语言数据类型是倒过来的...1. tinyint 接下来我们创建一个只有 tinyint 类型的表,然后分别插入 1 和 128,会发现 128 插入失败,因为越界插入了,超出类型范围: 说明: 在 MySQL 中,整型可以指定是有符号的和无符号的...如果我们在上面的表格中插入大于两个字符的数据,如下,是会越界插入的: 这也就说明了一个问题,如果我们向 mysql 特定类型中插入不合法的数据,mysql 一般都是直接拦截我们,不让我们做对应的操作!...反过来,如果我们已经有数据被成功插入到 mysql 中,一定插入的时候是合法的!...所以,mysql 中,一般而言,数据类型本身也是一种约束,所谓约束,就是倒逼用户尽可能进行正确的插入,约束的是用户,这样就能保证数据库中的数据是可预期的,完整的。
安装环境: 操作系统版本:RHEL 6.5 版本:MYSQL 5.5 常见的信息种类: 数值型:一般用于体重、身高、成绩、工资 字符型:一般用于姓名、工作单位、通信地址 枚举型:一般用于兴趣爱好...、性别 日期时间型:出生日期、注册日期 一、数值类型 1.1整数型 PS:工作中一般使用INT类型就够了 关于整数型字段 -使用UNSIGNED修饰时,对应的字段只保存正数 -数值不够指定宽度时...,在左边填空格补位 -宽度仅仅是显示宽度,存数值的大小由类型决定 -使用关键字ZEROFILL时,填0代替空格补位 -当字段值与类型不匹配时,字段值作为0处理 -数值超出范围时,仅保存最大/最小值...表字段的设置 从左至右依次为: 字段名 | 字段类型 | 是否为空 | 是否为主键 | 默认值 | 描述信息 1.2 浮点类型 关于浮点型字段 -定义格式:float(总宽度,小数位数) -...当字段值与类型不匹配时,字段值作为0处理 -数值超出范围时,仅保存最大/最小值 mysql> create table t2( -> name varchar(20), -> pay
实际上就在我们的这个mysql的安装包的这个bin目录的下面,小伙伴可以自己去找一下,这个就是一个mysql自带的程序,这个就是可以把我们的SQL雨具导出为一个.sql文件; 这个备份的这个命令里面是有这个我们登录进入数据库的这个指令的...,因此我们的备份是在最原始的这个窗口执行------而不是在mysql->这个情况下执行的; 我们的这个hsp_db02和db03就是我们想要备份的数据库的名字,后面的这个类似于重定向的符号就是我们要备份到的位置...---------恢复的语句 我们的这个备份是在dos下面执行的,不是mysql->的这个情况下,这个时候我们还没有进入我们的数据库; 但是我们的这个source进行数据库恢复的时候,就需要先进行登录...,在mysql->下使用这个source语句进行数据库的恢复; 2.约束 2.1基本概况 数据库对于数据进行校验和检查的工作机制-------------保证数据库里面不被插入非法的数据;下面的这个就是...Mysql里面的一些约束: not null----不可以是空的; unique--------不可以重复; primary key----------主键,不可以是空的,而且不可以是重复的; 2.2not
4. varchar 和char类型 4.1 varchar类型的存储特点 用于存储变长字符串, 只是占用必要的存储空间....需要根据具体选择的编码格式来进行确定的 列的长度小于255则只是占用一个额外字节用于记录字符串的长度 列的长度大于255则要占用两个额外字节用于纪录字符串长度 varchar最长为65535, 更长的话需要使用text类型...4.2 varchar的适用场景 字符串列的最大长度比平均长度大很多 字符串列很少被更新 使用了多字节字符集存储的字符串 备注: 在MySQL中更改数据存储类型, 字段长度都会造成锁表....因为不需要新增额外的字节来存储varchar的长度 4.3 char类型的存储特点 char类型是定长的 字符串存储在char类型的列中会删除末尾的空格 char类型的最大宽度为255 4.4 char...类型的适用场景 char类型适合存储长度近似的值(例如MD5加密后的字符串, 固定的主键ID) char类型适合存储短字符串(例如: 性别男女) char类型适合存储经常更新的字符串列
前言 在 MySQL 表结构设计中,数据类型的选择是最核心也最容易踩坑的环节。...一、数据类型总览:四大类覆盖所有业务场景 MySQL 提供了丰富的数据类型,按用途可分为数值类型、字符串类型、日期时间类型和特殊字符串类型(ENUM/SET),不同类型对应不同的存储规则和业务场景...总结 MySQL 数据类型的选择,本质是对业务需求的理解和对存储规则的掌握。...数据类型是 MySQL 的基础,也是表结构设计的第一步,选对了数据类型,后续的索引优化、查询优化才能事半功倍。...希望这篇文章能让你彻底搞懂 MySQL 数据类型,从此告别表结构设计的坑!
数据类型 数值类型 日期和时间类型 字符串类型 一、数值类型 整数 tinyint[M] [unsigned] [zerofill] // [ ] 表示可选,这里的M表示显示宽度,并不是取值范围...decimal存储方式,参考:http://dev.mysql.com/doc/refman/5.1/zh/precision-math.html numeric是decimal的别名 create...字符串存储需求 VARCHAR、BLOB和TEXT类是变长类型。每个类型的存储需求取决于列值的实际长度(用前面的表中的L表示),而不是该类型的最大可能的大小。... t_year values (2000); insert into t_year values ('2155'); insert into t_year values (2156); 参考: 《数据库系统概论...》 mysql 5.1 参考手册
数据库 Mysql是最流行的关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。...flush privileges; Mysql数据类型 MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。...2.日期和时间类型 ? 3.字符串类型 ?...存储引擎 创建新表时如果不指定存储引擎 , 那么系统就会使用默认存储引擎 , MySQL 5.5 之前的默认存储引擎是MyISAM , 5.5 之后改为了InnoDB 查看当前数据库支持的存储引擎类型;...2.MyISAM 和 InnoDB的区别 1)MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持 2)myisam表不支持外键 3)在执行数据库写入的操作(insert,update,delete
修改engine类型: alter table admin engine=ndbcluter; 将admin的engine类型改为ndbcluster,因为我的admin是放在mysql cluster
魏艾斯博客有一个 wordpress 站点,有一天无意中发现数据库挺大的,可是这个站也就不到 10 篇文章,没道理这么大的数据库啊。...然后开始查找原因,发现在 phpmyadmin 后台中的数据库类型和别的 wp 站点不同,这个站点是 InnoDB 类型而别的 wp 站点是 MyISAM 类型。...也忘记了怎么搞出来的,InnoDB 类型会导致数据库大小膨胀了几倍,所以决定从InnoDB 类型转换为 MyISAM 类型。...打开 SSH 软件连接到 VPS 上面,输入下面命令: mysql -uroot -p 输入 phpmyadmin 密码登陆 ? 出现“mysql>”就可以继续了。...2018 年 4 月 28 日补充资料如下: 如果 MySQL 版本高于 5.7,会报错“invalid default value for”,MySQL5.7 不允许时间戳值为 0,比如下面的: datetime
数据库软件MDBS(数据库管理系统)在上节课教大家从MySQL官网下载并且安装的mysql-installer-community-5.7.28.0.msi就是数据库软件MDBS。...它安装在操作系统上并且运行, 是用来管理数据库(DataBase)的软件。2. 数据库(DataBase)数据库是保存有组织数据的容器,也是存储数据的仓库,所有的表都放在数据库中。...我们通常讲的数据库就是这个, 而不是数据库软件。3. 表(Table)某种特定类型的结构化清单,数据库中的每一个表的名字都是唯一的。...数据库中每个列都有相应的数据类型。3.2 行(Row)表中的一个记录,表中的数据都是按行存储的,垂直的列为表列,水平行为表行。二....数据类型(DataType)所容许的数据的类型,数据库中每个列都有相应的数据类型。不同数据类型的列,存储不同格式的数据。MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。