MySql-Mysql技术内幕~SQL编程学习笔记(1)
1、MySQL的历史,一些相关概念。
2、MySQL数据类型
*通常一个页内可以存放尽可能多的行,那么数据库的性能就越好,选择一个正确的数据类型至关重要。
1》UNSIGNED类型:
将数字类型无符号化。
2》ZEROFILL:
可以格式化整形显示,一旦启用该属性,MySQL数据库为列自动添加UNSIGNED属性。0填充。
3》日期和时间类型
日期数据类型占用空间的情况

| 类型 | 起始范围 | 结束范围 |
| DATETIME | 1000-01-01 00:00:00 | 9999-12-31 23:59:59 |
| DATE | 1000-01-01 | 9999-12-31 |
| TIMESTAMP | 1970-01-01 00:00:00 | 2038-01-19 03:14:07 |
| YEAR | ||
| TIME |
TIMESTAMP与DATETIME显示的格式一样,但有些不同的地方:
1>表示的时间范围不同
2>TIMESTAMP类型的列可以设置一个默认值,而DATETIME类型不可以。
3>TIMESTAMP类型在更新表时可以设置自动更新为当前时间。
3》和日期时间相关的函数
1>获取当前系统时间:now()、current_timestamp()、sysdate()
1>>now():返回执行sql时的时间
2>>current_timestamp():返回执行sql时的时间
3>>sysdate():返回执行到当前sql时的时间
2>时间加减函数:
1>>date_add(date,interval expr unit):date_add(now(),interval 1 day)。expr可正可负。unit的值有year、month、day、hour、minute、second、microsecond、week。
2>>date_sub(date,interval expr unit):date_sub(now(),interval 1 day)。expr可正可负。unit的值有year、month、day、hour、minute、second、microsecond、week。
3>时间格式化函数
1>>date_format:根据用户指定的格式打印日期。
4》数字类型
1>整型

2>浮点型(非准确型)
1>>float:
2>>double precision:
3>高精度类型:decimal、numeric在mysql中被视为相同的类型。必须指明精度和标度。精度表示保存值的主要位数,标度表示小数点后面可以保存的位数。
4>位类型:即bit类型,可以保存位字段的值。
5>字符类型:
1>>char和varchar:
2>>binary和varbinary:
3>>blob和text:
4>>enum和set:
3、查询处理:逻辑查询处理、物理查询处理
1》逻辑查询处理
1.逻辑查询处理,步骤序号

MySql-Mysql技术内幕~SQL编程学习笔记(1)的更多相关文章
- MySql-Mysql技术内幕~SQL编程学习笔记(N)
1._rowid 类似Oracle的rowid mysql> ; +-------+----+----------------+-------------+---------------+--- ...
- 《MySQL技术内幕——SQL编程》读书笔记(二)——数据类型
对数据类型的选择将影响与数据库交互的应用程序的性能. 1.通常来说,如果一个页内可以存放尽可能多的行,那么数据库的性能就越好,因此选择一个正确的数据类型至关重要. 2.另一方面,如果在数据库中创建表时 ...
- postgreSQL PL/SQL编程学习笔记(六)——杂七杂八
1 PL/pgSQL Under the Hood This part discusses some implementation details that are frequently import ...
- postgreSQL PL/SQL编程学习笔记(三)——游标(Cursors)
Cursors Rather than executing a whole query at once, it is possible to set up a cursor that encapsul ...
- postgreSQL PL/SQL编程学习笔记(二)
Control Structures of PL/SQL Control structures are probably the most useful (and important) part of ...
- postgreSQL PL/SQL编程学习笔记(一)
1.Structure of PL/pgSQL The structure of PL/pgSQL is like below: [ <<label>> ] [ DECLARE ...
- postgreSQL PL/SQL编程学习笔记(五)——触发器(Triggers)
Trigger Procedures PL/pgSQL can be used to define trigger procedures on data changes or database eve ...
- postgreSQL PL/SQL编程学习笔记(四)
Errors and Messages 1. Reporting Errors and Messages Use the RAISE statement to report messages and ...
- MySQL基础之事务编程学习笔记
MySQL基础之事务编程学习笔记 在学习<MySQL技术内幕:SQL编程>一书,并做了笔记.本博客内容是自己学了<MySQL技术内幕:SQL编程>事务编程一章之后,根据自己的理 ...
随机推荐
- 解决SonarQube启动时直接挂掉问题
症状:启动SonarQube时,系统启动,但是马上关闭 查看日志,提示ElasticSearch启动有问题ClusterBlockException[blocked by: [FORBIDDEN/12 ...
- linux查杀minergate-cli/minerd病毒
redis的漏洞让公司的服务器中了挖矿的病毒,入侵者在服务器上留了后门.每次只是把进程杀杀,但是过段时间病毒又回来了,这个事情一直让人头疼.先是minerd的病毒入侵,后是minergate-cli入 ...
- API网关原理
1.API网关介绍 API网关是一个服务器,是系统的唯一入口.从面向对象设计的角度看,它与外观模式类似.API网关封装了系统内部架构,为每个客户端提供一个定制的API.它可能还具有其它职责,如身份验证 ...
- Luogu P2678 跳石头
题目链接:Click here Solution: 最小值最大,显然二分,二分出mid后贪心去除石头,判断m次内是否可行即可 Code: #include<bits/stdc++.h> # ...
- 【Leetcode】对称二叉树
递归法 执行用时 :12 ms, 在所有 C++ 提交中击败了43.44%的用户 内存消耗 :14.6 MB, 在所有 C++ 提交中击败了95.56%的用户 /** * Definition for ...
- [BZOJ3453]tyvj 1858 XLkxc:拉格朗日插值
分析 之前一直不知道拉格朗日插值是干什么用的,只会做模板题,做了这道题才明白这个神奇算法的用法. 由题意可知,\(f(x)\)是关于\(x\)的\(k+1\)次函数,\(g(x)\)是关于\(x\)的 ...
- NABCD分析——生活日历
N(Need)需求 本软件的主体为日历.如今人们的生活趋于现代化,大家主要通过手机来查看日期,但我们每一天都有想要做或未完成的事情,也存在对自己有特殊意义的日子.每天人们都会有或大或小的支出与收入,想 ...
- 大数据笔记(二十四)——Scala面向对象编程实例
===================== Scala语言的面向对象编程 ======================== 一.面向对象的基本概念:把数据和操作数据的方法放到一起,作为一个整体(类 c ...
- Vue.js之Ajax请求
Vue.js同React.Angular,可以说号称前端三巨头. 前段时间,有个哥们说,Vue.js现在出2.0版本了.可是我现在还是在用1.0的. Vue.js一直都没有好好系统的学习,包括目前公司 ...
- Ubuntu15下Qt+libusb开发
下载和安装libusb-1.0 在Ubuntu15中可以从软件仓库安装libusb,当前的libusb版本为1.0.可以使用如下命令安装libusb的全部内容. $sudo apt-get insta ...