数据存储引擎+数据类型

数据存储引擎:核心功能是存储数据  涉及到存储数据的代码 就称之为存储引擎需求场景的不同催生了不同的引擎类别

引擎的分类:innodb CSV blackhole memory

不同的引擎测试创建表时在最后指定引擎名称  engine = xxxcreate table t1(id int)engine=innodb

总结: innodb是默认的引擎 因为 它是永久存储 并且  支持事务,行锁,外键

创建表的完整语法create table 表名(字段名称 数据类型[(长度) 约束条件],字段名称 数据类型[(长度) 约束条件])   *****必须的:字段名  数据类型  表名  *****可选的:长度 约束条件         *****

数据类型为什么需要将数据分类    1.为了描述事物 更加准确    2.描述起来更方便    3.节省内存空间

mysql支持的数据类型:整型tinyint(1) smallint(2) mediumint(3) int(4)  bigint(8)默认情况下整型是有符号的 需要用一个二进制位存储符号给整型加上 约束 unsigned来表示无符号如果数据超出范围就保存极限范围

修改严格模式:以上特性的出现是因为 mysql处于非严格模式    查看当前模式  show variables like "sql_mode";    修改为严格模式  set global sql_mode = "STRICT_TRANS_TABLES";严格模式下 如果值超出范围就直接报错,在一些版本中默认就是严格模式!在我们的正常开发中,我们应该先判断数据的正确性,没有问题在发给数据库

长度限制对于整型的意义:这里长度指的不是存储容量限制,而是显示的宽度如果你的数据超过了显示宽度 有几个显示几个如果不足 则补全到指定长度  得告诉它用什么来补全create table t13(id int(10) zerofill);总结 不是容量限制 而是 显示宽度    要限制显示宽度     1.创建表时 给整型加上宽度     2.加上zerofill约束

浮点型:分类: float(4)  double(8) decimal(手动指定)

给浮点设置宽度限制float(m,d)double(m,d)decimal(m,d)m表示 这个浮点数整体的长度d表示 小数部分的长度

区别相同点: 小数部分最大长度都是30        float和double的最大长度为255不同点: decimal的整体最大长度65        精度不同        double 比 float 精度高        decimal 是准确的 不会丢失精度

字符型分类:char(定长字符) varchar(变长字符)

char类型的长度是固定 无论你存储的数据有多长 占用的容量都一样如果你的数据不足指定长度 就在后面用空格补全varchar 长度是可变的 存储的数据有多长就占用多长如果是可变长度 则有问题 不知道数据从哪里开始到哪里结束  所以需要有一个位置保存数据的长度varchar 能支持的最大长度是65535  用于保存数据长度的数据最长两个bytes

使用一个 char_length的函数 可以查看字符的长度select char_length(字段名) from t18;

mysql在存储时 自动加上的空格 对使用者而言是没有意义的 所以mysql会自动帮你处理掉空格我们可以设置sql模式 来让它现出原形set global sql_mode = "PAD_CHAR_TO_FULL_LENGTH,STRICT_TRANS_TABLES"设置完成后重启msyql 再次查询长度

注意:当你在执行这样的查询语句时  mysql会自动将参数末尾的空格去除select *from t19 where  name = "yh"当你在使用模糊搜索时 要注意 定长字符 后面可能会有空格 所以最好在后面加上% 任意个数的任意字符_ 1个任意字符

区别char    存取效率高    浪费存储空间varchar    存取效率低于char    节省存储空间

char和varchar 长度都比较小 最大就是65535大文本类型:TEXT系列    TINYTEXT TEXT MEDIUMTEXT LONGTEXT     文本是带有编码BLOB 系列   TINYBLOB BLOB MEDIUMBLOB LONGBLOB   也是字符数据 但是不带编码二进制类型: 用于存储多媒体数据 比如视频   但是我们一般不会将多媒体数据存到数据 而是存储文件路径地址BINARY系列 BINARY VARBINARY    存储二进制数据

分类time   时分秒   HH:MM:SS   year   年份     date   日期  年月日   datetime 日期加时间 年月日 时分秒     年份最大是9999    timestamp 时间戳  从1970-1-1开始算    年份最大是2037    

共同点: 时间的存取通过字符串类型        都可以使用now()函数来插入当前时间

datetime 和 时间戳都能够表示日期和时间不同之处是: 年份最大范围不同            时间戳可以为空 代表当前时间            时间戳在你更新记录时 会自动更新为当前时间

原文地址:https://www.cnblogs.com/liangchengyang/p/9634957.html

时间: 2024-10-15 18:24:22

数据存储引擎+数据类型的相关文章

如何使用Iveely的数据存储引擎 Iveely Database

Iveely 数据存储引擎是为Iveely 搜索引擎提供数据存储的机制. 适用于:频繁数据插入.数据读取.数据更改或者删除数据不适合Iveely Database,存储结构是按照搜索引擎数据存储要求(频繁读.频繁写.几乎无删)设计,因此不是所有的数据存储都可以用Iveely Database. 安装部署       在下载的Iveely database中,只需要启动RunDatabase.bat,Linux下,直接启动Iveely.Database.jar,启动后,打开UI下的index.ht

.net之工作流工程展示及代码分享(三)数据存储引擎

数据存储引擎是本项目里比较有特色的模块. 第一,使用接口来对应不同的数据库.数据库可以是Oracle.Sqlserver.MogoDB.甚至是XML文件.采用接口进行对应: 1 public interface IWorkflowDB 2 { 3 List<Flow> GetFlows(); 4 bool SaveFlow(Flow flow); 5 bool DeleteFlow(Guid flowId); 6 7 FlowInstance GetFlowInstanceByInstance

MongoDB 数据存储引擎

存储引擎(Storage Engine)是MongoDB的核心组件,负责管理数据如何存储在硬盘(Disk)和内存(Memory)上.从MongoDB 3.2 版本开始,MongoDB 支持多数据存储引擎(Storage Engine),MongoDB支持的存储引擎有:WiredTiger,MMAPv1和In-Memory. 从MongoDB 3.2 版本开始,WiredTiger成为MongDB默认的Storage Engine,用于将数据持久化存储到硬盘文件中,WiredTiger提供文档级别

mysql 数据存储引擎区别

一,存储类型 二 , MyISAM默认存储引擎 MyISAM 管理非事务表.是ISAM 的扩展格式.除了提供ISAM里所没有的索引的字段管理等的大量功能.MyISAM 还使用一种表格锁定的机制.来优化多个并发的读写操作.MyISAM 提供高速存储和检索.以及全文搜索能力:在MYSQL5.5.5版本及以下的所有MYSQL配置里被支持.也是默认的存储引擎. 特性: 1:不支持事务.不具备AICD特性(原子性.一致性.分离性.永久性); 2:表级别锁定形式(更新数据时锁定整个表.这样虽然可以让锁定的实

Android数据存储引擎---SQLite数据库

目标:是否可以在PC端桌面上使用SQLite数据库制作一个财务文件? 目录: 来源: 实践: 总结和比较: SQLite数据简介 是什么,内部结构是怎样的,数据库和表的关系是什么 有什么用 常用的操作是什么 SQLite数据库使用 增 删 改 查 SQLite数据库实践上的优化措施 对于Android平台来说,系统内置了丰富的API来供开发人员操作SQLite,使我们轻松完成对数据的存取. 步骤1,熟悉创建数据库表,熟悉相关的操作指令,实现对SQLite数据库的感性认识 创建一个包含简单内容的数

MySQL存储引擎与数据类型

1 数据存储引擎 存储引擎的概念是MySQL的一个特性,它指定了表的类型(诸如表如何存储与索引数据.是否支持事务.外键等),表在计算机中的存储方式. 1.1 MySql支持的数据存储引擎 查看引擎信息 通过命令来查看引擎信息 show engines; 默认存储引擎为InnoDB,如下列出: Engine Support Comment Transactions XA Savepoints InnoDB DEFAULT Supports transactions, row-level locki

mysql修行练级之字符集,数据类型与存储引擎选择

如何选择合适的存储引擎 几个常用存储引擎的特点 下面我们重点介绍几种常用的存储引擎并对比各个存储引擎之间的区别和推荐使用方式. 特点 Myisam BDB Memory InnoDB Archive 存储限制 没有 没有 有 64TB 没有 事务安全 支持 支持 锁机制 表锁 页锁 表锁 行锁 行锁 B树索引 支持 支持 支持 支持 哈希索引 支持 支持 全文索引 支持 集群索引 支持 数据缓存 支持 支持 索引缓存 支持 支持 支持 数据可压缩 支持 支持 空间使用 低 低 N/A 高 非常低

MySQL存储引擎 SQL数据导入/导出 操作表记录 查询及匹配条件

MySQL存储引擎的配置 SQL数据导入/导出 操作表记录 查询及匹配条件 1 MySQL存储引擎的配置1.1 问题 本案例要求MySQL数据存储引擎的使用,完成以下任务操作: 可用的存储引擎类型 查看默认存储类型 更改表的存储引擎 1.2 步骤 实现此案例需要按照如下步骤进行. 步骤一:查看存储引擎信息 登入MySQL服务器,查看当前支持哪些存储引擎. 使用mysql命令连接,以root用户登入: [[email protected] ~]# mysql -u root –p Enter pa

mysql 存储引擎对比

mysql 存储引擎:存储引擎也通常被称作"表类型" 修改原始hellodb.sql存储引擎为InnoDB  sed -i '[email protected][email protected][email protected]' /home/hellodb.sql 导入修改后的sql文件  mysql -uroot -p  mydb < /home/hellodb.sql 查看表引擎,状态  mysql> show engines;    mysql> show t