mysql数据库内容总结
数字类型:
Tinyint(M) unsigned zerofull
1个字节 默认的是有符号的-128~127
unsigned: 无符号整数 范围0~255
M: 代表宽度 (在zerofull时才有意义),只是一个显示效果,不会影响到实际的数据长度
zerofull: 零填充(如果某列是zerofull默认就是unsigned) 因为不会有 0000-1 的情况
零填充(例: 0005,多少个零就是M限制宽度)
列一般不要为null
原因一,null不好比较(等号比较不可用,只可用is null 或 is not null);
原因二,null执行效率更低,可用not null default 0 指定默认值
Smallint 同tinyInt用法
2个字节 默认有符号范围-32768~32767; 无符号范围0~65535
Mediumint 同tinyInt用法
3个字节 默认有符号范围-8388608~8388607;无符号范围0~16777215
Int 同tinyInt用法
4个字节 默认有符号范围-2147483648~2147483647; 无符号范围0~4294967295
BigInt 同tinyInt用法
8个字节 默认有符号范围-9223372036854775808-9223372036854775807;无符号范围0~18446744073709551615
Float(m,d) 浮点型
四个字节
float(6, 2)表示共有六位(不加小数点),小数占两位.
mysql中可以指定小数位数,sql server和oracle中是不允许指定小数位数的
Double(m,d) 浮点型
八个字节
double(6, 2)表示共有六位(不加小数点),小数占两位.
mysql中可以指定小数位数,sql server和oracle中是不允许指定小数位数的
Decimal(m,d) 定点型
使用同浮点型,只是更精确。
例:float(9,2) decimal(9,2) 存入1234567.23,float会显示为1234567.25,而decimal会显示1234567.23,更精确。
浮点和定点型是四个字节或八个字节
文本类型:
Char char(M),M代表宽度 0 到 255个字符之间
,可容纳的字符数(不是字节,一个字节占八位,一个汉字占两个字节,utf-8的汉字占三个字节),char(8),可存放八个汉字
Varchar 变长 varchar(M) M代表宽度 0 到 65535个字节之间, 大约能存放22000个汉字左右
有1-2个字节来标记真实的长度
Char和Varchar区别:
1、char是定长,varchar是变长
2、char的最大的存储长度是255个字符,这与字符集的设置没有关系;而varchar的最大长度则是与字符集的设置有关的
因此,如果设置的字符集为
latin1:一个字符是一个字节 ----->则能够存储的最大字符数是65532个
gbk:一个字符是两个字节------->则能够存储的最大字符数是65532/2个
utf-8:一个字符是三个字节------->则能够存储的最大字符数是65532/3个
char定长:M个字符,如果存的小于M个字符,实占M个字符,用空格补齐
varchar变长:M个字符,存的小于M个字符,设为N,N <= M,实占N个字符
3、利用率
类型 宽度 可存字符 实存字符(i<=M)实占空间利用率
char(M) M M i M i/M <= 100%
varchar M M i i字符+(1-2)字节 i/(i + 1-2) <= 100%
char有可能等于百分百,例: 四位学号char(4),利用率为100%;varchar利用率永远小于100%
4、char的速度快于varchar
text:是文本类型 能够存储比较大的数据 但是搜索的速度比较慢,没有全文索引 没有宽度 加了也没用
因此 如果不是比较大的数据 则建议采用char或者varchar来进行查询
日期类型:
年 year
日期 date
时间 time
日期时间 dateTime
时间戳 timeStamp
year类型 一个字节 表示 1901-2155[0000,表示错误时选择]
如果输入2位,'00-69' 表示 2000-2069年 加2000 计算机的元年是从1970年开始
'70-99' 表示 1970-1999年 加1900
推荐输入四位
Date类型 典型格式 1992-08-12
存储的范围:'1000-01-01'-->'9999-12-31'
time时间类型 典型格式 hh-mm-ss
存储的范围: '-838:59:59'-->'838:59:59'
dateTime日期时间类型 典型格式 '1992-09-28 12:23:23'
存储的范围: '1000-01-01 00:00:00'-->'9999-12-31 23:59:59'
timeStamp时间戳类型
是1970-01-01:00:00:00,到当前的秒数
计算很精确,也可以方便的格式化
注意:真正开发中,很少用日期时间类型来表示一个需要精确到秒的列,而是用时间戳类型来表示
原因:虽然日期时间类型能精确到秒,并且方便查看,但是遇到边界日期计算时很麻烦,不精确,像平年和闰年2月
相关推荐
有关"mysql日期时间相关函数纪要"一文中的截图参照可在下载此附件Excel进行获取!
MYSQL 字段类型介绍 MYSQL 字段类型是指 MYSQL 数据库中可以用来定义列的数据类型。MYSQL 支持大量的列类型,可以被分为三类:数字类型、日期和时间类型以及字符串类型。 一、数字类型 MYSQL 支持多种数字类型,...
### VS2010 连接 MySQL 数据库方法详解 #### 一、环境配置与准备工作 为了能够在 Visual Studio 2010 中成功连接到 MySQL 数据库,我们需要完成一系列的配置工作。本节将详细介绍这些步骤。 ##### **1.1 硬件与...
这一步骤需要对SQL Server和MySQL的表结构和数据类型有深入理解。 总之,从SQL Server转换到MySQL涉及安装和配置相应软件,设置ODBC数据源,使用数据库管理工具迁移数据,以及可能的手动调整。整个过程需要细心操作...
优化可能包括调整复制延迟、优化网络带宽使用、选择合适的复制类型(如语句级或行级)以及监控和调整复制性能。 **4. MYSQL REPLICATE测试** **4.1 测试主备数据一致性** 定期检查主从库的数据一致性至关重要,可以...
5. **外键支持**:MySQL 5.0开始支持外键约束,增强了数据库之间的参照完整性。 6. **分区表**:对于大型数据库,MySQL 5.0引入了表分区,可以将大表分成更小、更易于管理的部分,提高查询性能。 7. **增强的SQL...
MySQL提供了多种数据类型,包括数值类型(如整数INT、浮点数FLOAT、双精度DOUBEL)、字符串类型(如CHAR、VARCHAR、TEXT)、日期和时间类型(如DATE、TIME、DATETIME、TIMESTAMP)以及二进制类型(BLOB、VARBINARY)...
- 了解实体完整性、参照完整性和用户定义完整性。 - 常用的完整性约束,比如主键(PRIMARY KEY)、外键(FOREIGN KEY)、唯一性约束(UNIQUE)、检查约束(CHECK)等。 5. 数据库安全性管理 - 用户账户的创建和...
- **识别安装文件类型**: `.bin`文件可以直接运行,`.rpm`文件需要使用`rpm`命令安装。 - **安装JDK**: 对于.bin文件,运行`./jdk-xxx.bin`。如果不在PATH环境变量中,需要指定完整路径。对于.rpm文件,使用`rpm -...
- **外键约束增强**:外键约束在5.6版本中得到了改进,支持更复杂的参照完整性检查。 - **数据恢复机制**:增强了崩溃恢复机制,即使在系统故障的情况下也能保证数据的一致性和完整性。 ### MySQL 5.6的安装步骤 #...
在重装前,确保先完全卸载 MySQL,这可以通过控制面板的“程序和功能”来实现,或者参照 `Mysql完全卸载.txt` 提供的步骤。卸载后清理注册表中的相关键值和数据文件夹,以避免冲突。 3. **MySQL 语句**: `MySQL...
这为用户提供了便利,因为通常在导入数据前,需要正确设置列名、数据类型和其他表结构元素。 标签“15k 英文 单词 mysql”进一步强调了数据库包含的单词数量(15,000个,即15k)以及它们是英文单词的事实,并且再次...
连接工具后,你可以指定要查看的binlog文件和开始位置(以事件序列号或时间戳为参照)。 binlog查看工具的主要功能包括: 1. **事件浏览**:清晰地显示binlog中的每个事件,包括事件类型、执行时间、SQL语句等。 2...
2. JSON支持:MySQL 5.7增加了对JSON数据类型的内置支持,允许存储和查询非结构化数据,这对于现代Web应用和大数据分析非常有用。 3. 查询优化器改进:新的查询优化器能够更好地处理复杂查询,通过改进的统计信息和...
- **数值类型**:Oracle的NUMBER类型对应MySQL的DECIMAL,保持精度和刻度不变。如果涉及到序列,Oracle的序列在MySQL中可使用BIGINT代替。 - **字符串类型**:Oracle的VARCHAR2对应MySQL的VARCHAR,长度不变。...
你需要确保被参照列和参照列的数据类型一致,以及参照的表和当前表在同一个引擎上。 5. 错误代码1452:与1215类似,1452表示外键约束失败,可能是因为被参照的记录不存在。在插入或更新数据时,确保所有外键对应的...
在本节中,我们学习了如何使用 MySQL 命令行客户端创建数据库和表,以及了解了 MySQL 的数据类型和数据库访问权限的重要性。这些知识点是数据库设计和实现的基础,可以帮助开发者更好地设计和实现数据库应用程序。
例如,你可以设置NOT NULL约束来禁止字段为空,UNIQUE约束保证字段值的唯一性,FOREIGN KEY约束实现参照完整性,防止非法的数据插入。 在实验过程中,理解并熟练掌握这些基本操作,对于后续更复杂的数据库操作,如...
- **创建表**:`create table 表名 (字段1 类型1, 字段2 类型2,...)`,例如`create table MyClass (id int not null primary key auto_increment, name char not null, sex int not null default '0', degree ...
- 数据完整性:包括实体完整性、参照完整性和用户定义的完整性。 - 索引:学习如何创建和使用索引来提高查询性能,如B-Tree索引和哈希索引。 - 视图:了解视图的概念,如何创建和使用视图,以及视图在数据库抽象...