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 float(7,2)
-> );
Query OK, 0 rows affected (0.00 sec)
mysql> desc t2;
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| name | varchar(20) | YES | | NULL | |
| pay | float(7,2) | YES | | NULL | |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.01 sec)
二、、字符类型 1、定长:char(字符数) -最大长度255字符 -不够指定字符数时在右边用空格补齐 -自动截断超出指定字符数的数据
2、变长:varchar(字符数) -按数据实际大小分配存储空间 -自动截断超出指定字符数的数据
3、大文本类型:text/blob -字符数大于65535存储时使用
mysql> create table t3(
-> name char(10),
-> addr varchar(50),
-> content text
-> );
Query OK, 0 rows affected (0.00 sec)
mysql> desc t3;
+---------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| name | char(10) | YES | | NULL | |
| addr | varchar(50) | YES | | NULL | |
| content | text | YES | | NULL | |
+---------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)
三、日期时间类型 1、 DATATIME -占用8个字节 -范围:1000-01-01 00:00:00.000000~9999-12-31 23:59:59.999999
2、 TIMESTAMP -占用4个字节 -范围:1970-01-01 00:00:00.000000~2038-01-19 03:14:07.999999
3、 DATE -占用4个字节 -范围:0001-01-01~9999-12-31
4、YEAR -占用1个字节 -范围:1901-2155
5、TIME -占用3个字节 -格式:HH:MM:SS
例子:
mysql> create table shijian(
-> datetime DATETIME,
-> timestamp TIMESTAMP,
-> date DATE,
-> year YEAR,
-> time TIME
-> );
Query OK, 0 rows affected (0.00 sec)
mysql> insert into shijian values("2016-07-31 10:24:00.000000","2035-1-19 03:14:17.999999","2036-1-1","2037","03:59:00");
Query OK, 1 row affected (0.00 sec)
mysql> select * from shijian;
+---------------------+---------------------+------------+------+----------+
| datetime | timestamp | date | year | time |
+---------------------+---------------------+------------+------+----------+
| 2016-07-31 10:24:00 | 2035-01-19 03:14:17 | 2036-01-01 | 2037 | 03:59:00 |
+---------------------+---------------------+------------+------+----------+
1 row in set (0.00 sec)
6、 关于日期时间字段 当未给TIMESTAMP字段赋值时,自动以当前时间赋值,而DATETIME字段默认赋值为0 4.7 YEAR年份的处理 -默认用4位数字表示 -当只用2位数字赋值时,00-69视为2000~2069年,而70-99视为1970~1999年。
7、 时间函数
-使用select指定输出函数结果
mysql> select now(),sysdate(),curdate();
+---------------------+---------------------+------------+
| now() | sysdate() | curdate() |
+---------------------+---------------------+------------+
| 2016-07-31 10:37:25 | 2016-07-31 10:37:25 | 2016-07-31 |
+---------------------+---------------------+------------+
1 row in set (0.00 sec)
四、枚举类型
1、从给定值集中选择单个值
-ENUM
-定义格式:
enum(值1,值2,值N)
2、 从给定值集合中选择一个或者多个值-SET -定义格式:
set(值1,值2,值N)
例子:
mysql> create table meiju(
-> name varchar(20),
-> gender enum("boy","girl"),
-> interest set("book","film","music","football")
-> );
Query OK, 0 rows affected (0.01 sec)
- MySQL 教程
- MySQL 安装
- MySQL 管理与配置
- MySQL PHP 语法
- MySQL 连接
- MySQL 创建数据库
- MySQL 删除数据库
- MySQL 选择数据库
- MySQL 数据类型
- MySQL 创建数据表
- MySQL 删除数据表
- MySQL 插入数据
- MySQL 查询数据
- MySQL where 子句
- MySQL UPDATE 查询
- MySQL DELETE 语句
- MySQL LIKE 子句
- mysql order by
- Mysql Join的使用
- MySQL NULL 值处理
- MySQL 正则表达式
- MySQL 事务
- MySQL ALTER命令
- MySQL 索引
- MySQL 临时表
- MySQL 复制表
- 查看MySQL 元数据
- MySQL 序列 AUTO_INCREMENT
- MySQL 处理重复数据
- MySQL 及 SQL 注入
- MySQL 导出数据
- MySQL 导入数据
- MYSQL 函数大全
- MySQL Group By 实例讲解
- MySQL Max()函数实例讲解
- mysql count函数实例
- MYSQL UNION和UNION ALL实例
- MySQL IN 用法
- MySQL between and 实例讲解
- 每日一题 | 二进制操作问题
- Pandas | Dataframe的merge操作,像数据库一样尽情join
- 每日一题 | 灾后重建问题
- 树形结构已知子节点找父节点
- 解析 hashMap 源码之基本操作 get
- RCE(远程命令/代码执行漏洞)原理及复现
- 我的Vue不小心跨域了o(╥﹏╥)o 干它
- 金九银十准备季——Java后端多线程&并发面试题及答案(二)
- TypeScript 设计模式之观察者模式
- pytest文档46-关于https请求警告问题
- pytest文档45-allure添加环境配置(environment)
- Pytest fixture参数化params
- Python 批量合并 Excel
- 用 Python 了解一下最炫国漫《雾山五行》
- Python 基础(六):列表与元组