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编程>事务编程一章之后,根据自己的理 ...
随机推荐
- puppet运维自动化之用户管理
系统管理员离不开账户管理,账户管理,密码管理,开发机器,测试机器,线上机器,都需要创建用户,并给与相关用户的权限.你如果要创建100个,1000个账户和密码,你会不会疯掉,如何在1分钟完成百上千个账户 ...
- redis开发使用规范
redis开发使用规范 1.冷热数据分离,不要将所有数据全部都放在Redis中 根据业务只将高频热数据存储到Redis中[QPS大于5000],对于低频冷数据可以使用mysql等基于磁盘的存储方式. ...
- 【leetcode】1105. Filling Bookcase Shelves
题目如下: We have a sequence of books: the i-th book has thickness books[i][0] and height books[i][1]. W ...
- 【c++】一道关于继承和析构的笔试题
题目如下,求输出结果 class A { public: A() { cout<<"A"<<endl; } ~A() { cout<<" ...
- Python基础(四)
一.迭代器 让不同数据类型具有相同的遍历方式:list.dict.str.tuple.set 1.特点: ①省内存 ②只能向前,不能反复 ③惰性机制 2.可迭代对象 ###dir() 查看 ...
- 12.python csv文件写入和读出
import csv headers = ["class", "name", "sex", "height", &quo ...
- Idea中Springboot热部署无效解决方法
仅适用IDEA中,eclipse中不需要设置 一.开启idea自动make功能 1 - Enable Automake when the application is running PRESS: C ...
- JMS学习六(ActiveMQ消息传送模型)
ActiveMQ 支持两种截然不同的消息传送模型:PTP(即点对点模型)和Pub/Sub(即发布 /订阅模型),分别称作:PTP Domain 和Pub/Sub Domain. 一.PTP消息传送模型 ...
- Monkeyrunner自动化测试由浅入深(第一节)
(原版)Monkeyrunner自动化测试由浅入深(第一节) 博主原创,请勿转载 第一.相关软件和环境的配置 1.Android sdk下载和配置 2.java jdk下载和配置 第二.Monkeyr ...
- less基本用法
在vue中使用less首先要下载依赖: npm install less less-loader --save-dev 下载好之后就可以.vue文件中使用lang="less"和@ ...