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编程>事务编程一章之后,根据自己的理 ...
随机推荐
- Python服务器开发三:Socket
Python服务器开发三:Socket socket是操作系统中I/O的延续,它可以使进程和机器之间的通信成为可能.socket可以看成一个标准的文件描述符.不同的是文件需要用open()函数打开 ...
- C的随机数用法
rand() #include <stdio.h> #include <stdlib.h> int main() { ; i < ; i++) { printf(&quo ...
- javascript基本知识图解
转载自 网络博客 变量 数据类型 javascript运算符 javascript流程语句 javascript 数组 javascript window对象 javascript DOM javas ...
- ClustrixDB安装配置
前提条件 在安装ClustrixDB之前,需要: ClustrixDB安装程序和许可证密钥. 运行CentOS或RHEL 7.4的服务器(本地或云中). 具有root或sudo特权来安装Clustri ...
- 创建ThreadFactory实例的多种方式
spring的CustomizableThreadFactory guava的MoreExecutors.platformThreadFactory()静态方法 guava的ThreadFactory ...
- docker安装xxl-job
一 安装mysql root@localhost tmp]# docker run -itd --name xxl-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD= ...
- java jts
来自:UCMapForOpenGIS https://bbs.csdn.net/topics/380204896?list=992863 对比 其实geotools就是基于jts开发的,而geoser ...
- Android如何安装系统应用,及自己增加安装系统应用的接口
根据SIM卡安装系统应用 功能: 1:如何安装系统应用,apk放在system/app系统分区下面. 2:根据SIM卡的归属国家选择性的安装应用. 一:本人使用方法: 在开机的服务里面添加接口(Pac ...
- (50)LINUX应用编程和网络编程之五 Linux信号(进程间通信)
信号实现进程间的通信 3.5.1.什么是信号 ...
- [CSP-S模拟测试]:maze(二分答案+最短路)
题目传送门(内部题88) 输入格式 第一行两个数$n,m$.第二行四个数$sx,sy,tx,ty$.分别表示起点所在行数.列数,终点所在行数.列数.接下来$n$行,每行$m$个数,描述迷宫.最后一行一 ...