从头开始学MySQL--------数据类型(1)

5.1.1  整数类型

        整数类型  TINYINT  SMALLINT  MEDIUMINT   INT  BIGINT 。分别占12348字节。

        INT(11)后面的数字11,表示的是这个数据能够显示的宽度。显示宽度只用于显示,不能限制取值范围与占用空间。

        这里的宽度是指:如果插入的数据小于这个宽度,这个数值会由MySQL进行填充。

CREATE TABLE t_int
(
     x  INT ,
     y  BIGINT,
     z  TINYINT 
)

5.1.2  浮点类型与定点数类型

        浮点类型有两种:单精度浮点类型FLOAT,双精度浮点类型DOUBLE。它们的区别仅在存储范围不同。分别占4,8字节。

        定点类型有一种:DECIMAL。用法与FLOAT、DOUBLE一样。只不过它的占位是 M+2 字节。

        浮点类型与定点类型都可以使用 (M,N)表示。其中M成为精度,N成为标度。

        M表示总长度,整数位+小数位。  N表示小数位。

        插入的时候,按照保留小数位四舍五入。

CREATE TABLE t_fudian
(
     x FLOAT(5,1),    //显示长度为5,其中小数位占1位
     y DOUBLE(5,2)    //显示长度为5,其中小数位占2位
);

INSERT INTO t_fudian(x,y) VALUES(2.111,'2.4461'); //加不加引号都可以成功插入

 

5.1.3  日期类型 (简写形式略)

        (1)首先要了解的是 NOW()函数,返回的是 'YYYY-MM-DD HH:MM:SS',能够适用于任何的时间类型的插入。它会被截取为适当的时间,比如插入到 YEAR类型,就插入当前的YYYY。如果插入到TIME类型,那么就插入到当前的 HH:MM:SS。

        (2)若为DATETIME插入的只有DATE格式的数据,那么它的时间部分用 00:00:00补齐。其它道理也一样。

        (1)YEAR的格式是 YYYY 。 范围是1901年到2155年 。超过这个时间报错。1个字节。支持数组与字符串插入。

CREATE TABLE t_year
(
    id INT(11) PRIMARY KEY AUTO_INCREMENT,  //一般自增的话要是一个primary key的一个
     y YEAR 
)

        (2)TIME类型用于时间。格式为 HH:MM:SS   (注:hour  minute second) 。不支持数字,必须要加引号。3字节。

CREATE TABLE t_time 
(
    t TIME
);

INSERT INTO t_time(t) VALUES('102211'),('10:12:11')

  

        向系统插入当前时间。  CURRENT_TIME、 NOW()  都能表示当前的时间。

INSERT INTO t_time(t) VALUES(CURRENT_TIME),(NOW());

 

        (3)Date类型。年月日类型。3字节。

        存储年月日。需要3个字节。格式为'YYYY-MM-DD' 或者 'YYYYMMDD'或YYYYMMDD。(注 year month day)

        MySQL允许不严格的语法,任何标点符号都能作为日期部分之间的间隔符。如'1998.11.12'、'1996@05@19'

        使用CURRENT_DATENOW()  ,插入当前日期。   

CREATE TABLE t_date
(
   id INT(11) PRIMARY KEY AUTO_INCREMENT,
   d  DATE
);

INSERT INTO t_date(d) VALUES('1994-05-10'),('1991.12.12');
INSERT INTO t_date(d) VALUES(CURRENT_DATE),(NOW());

        (4)DATETIME。包含日期+当天时间 的类型。存储需要8个字节。占位最大的数据类型。跨时间段最广。

         DATETIME的格式是  'YYYY-MM-DD HH:MM:SS' 或者是 'YYYYMMDDHHMMSS'或YYYYMMDDHHMMSS等

         DATETIME时间类型在引号下,可以用任意分割!

CREATE TABLE t_datetime
(
     dt  DATETIME
);

INSERT INTO t_datetime(dt) VALUES('1996.05.19 12:12:12');//Date部分任意分隔符形式

INSERT INTO t_datetime(dt) VALUES(19970224061844);//单纯数字形式

INSERT INTO t_datetime(dt) VALUES('1996-05-19 12:12:12');//标准形式

INSERT INTO t_datetime(dt) VALUES('1994-08-16 19*42*34');//MySQL支持的任意标点符号分割法

INSERT INTO t_datetime(dt) VALUES(NOW());//插入当前时间和日期,用 NOW() 函数

          (5)TIMESTAMP。显示的格式效果与DATETIME一样,但是范围没有它广。可以使用'任意分隔符'。这么说吧,越长的时间格式,它的要求越不严格。

INSERT INTO t_timestamp VALUES('19931122061245'),(19941122145136),('2018-06-15 12:08:14'),(NOW())

DATETIME与TIMESTAMP的区别

        DATETIME格式的时间,按实际输入的数据格式。

        TIMESTAMP格式的时间,是按照UTC世界标准时间格式存储的。存储时,先把当地时区的时间换算成世界标准时间,取出的时候,再把世界标准时间换算成当地时区的时间。      当地时间  <=====>  世界标准时间

阅读更多

         目录贴:从头开始学MySQL-------目录帖

 

 

 

.

 

 

 

 

如果你从头开始MySQL数据库,以下是一个简单的习路径建议: 1. 习基本概念:了解数据库的基本概念,如什么是数据库、表、字段、行、列、主键、外键等。可以参考MySQL官方文档或在线教程。 2. 安装和配置MySQL:根据你的操作系统,选择合适的MySQL版本并进行安装。习如何配置和启动MySQL服务器。 3. 习SQL语言:SQL是用于与数据库进行交互的语言,习SQL语句的基本语法和常用操作,如创建表、插入数据、查询数据、更新数据和删除数据等。 4. 数据库设计与规范化:习如何进行数据库设计,包括确定表结构、定义主键和外键、选择合适的数据类型等。了解数据库规范化的概念和规则,以提高数据库的性能和数据完整性。 5. MySQL工具和命令行:掌握一些常用的MySQL工具,如MySQL Workbench、phpMyAdmin等,并熟悉使用命令行界面进行数据库操作。 6. 索引和查询优化:习如何创建索引以提高查询性能,了解索引的类和使用场景。习如何优化查询语句,包括使用索引、避免全表扫描、合理使用JOIN等。 7. 数据备份和恢复:习如何进行数据库备份和恢复操作,包括完全备份、增量备份、恢复到指定时间点等。 8. 安全和权限管理:了解如何设置数据库用户和权限,限制用户的访问权限,保护数据库的安全性。 9. 实践项目:通过实践项目来巩固所知识,例如创建一个简单的数据库应用或进行数据分析。 在习过程,可以结合官方文档、在线教程、书籍和实践项目来深入理解和应用MySQL数据库。同时,多与社区和论坛互动,参与讨论和解决问题,以扩展你的知识和技能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小大宇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值