读SQL学习指南(第3版)笔记02_数据类型

 

1. 命令行工具

1.1. mysql -u root -p;

1.2. mysql> show databases;

1.3. mysql> use sakila;

1.4. mysql> SELECT now();

1.4.1. now()是MySQL的内建函数

1.4.2. 返回当前日期和时间

1.5. mysql> SELECT now() FROM dual;

1.5.1. Oracle数据库服务器要求查询语句中必须包含from子句

1.6. 只需要输入quit;或exit;就可以返回Windows或UNIX shell

2. 数据类型

2.1. 字符集

2.1.1. 拉丁字母的语言

2.1.1.1. 单字节字符集

2.1.1.2. 字符数量很少,只需要单字节就能存储每个字符

2.1.1.3. 之前版本的MySQL服务器中,默认字符集是latin1

2.1.2. 多字节字符集

2.1.2.1. 日语

2.1.2.2. 韩语

2.1.2.3. 多字节来存储每个字符

2.1.2.4. 版本8中改为了utf8mb4

2.1.3. mysql> SHOW CHARACTER SET;

2.1.4. 可以在同一个数据表内存储不同的字符集数据

2.1.5. 为数据列指定非默认字符集,只需要在类型定义后加上系统支持的字符集名称

2.1.5.1. varchar(20) character set latin1

2.1.6. 设置整个数据库的默认字符集

2.1.6.1. create database european_sales character set latin1;

2.2. 字符型数据

2.2.1. 定长字符串

2.2.1.1. char类型

2.2.1.2. 使用空格向右填充

2.2.1.3. 并始终占用同样数量的字节

2.2.1.4. 最大长度为255字节

2.2.1.5. 存储的所有字符串长度都一样时使用

2.2.2. 变长字符串

2.2.2.1. varchar类型

2.2.2.2. 不需要向右填充

2.2.2.3. 占用的字节数不固定

2.2.2.4. 最大长度为65,535字节

2.2.2.4.1. 64KB

2.2.2.5. 字符串长度各不相同时使用

2.2.3. Oracle

2.2.3.1. char类型

2.2.3.1.1. 最大长度为2000字节

2.2.3.2. varchar2类型

2.2.3.2.1. 最大长度为4,000字节

2.2.3.3. 更大的文档,可以选择clob类型

2.2.4. SQL Server

2.2.4.1. 最大长度为8,000字节的char和varchar类型的数据

2.2.4.2. varchar(max)的列中存储最大长度达2GB的数据

2.3. 文本数据

2.3.1. 需要存储的数据超出了varchar类型的最大长度(64KB)

2.3.2. 如果所加载的数据超出了文本列类型的最大长度,会被截断

2.3.3. 在加载时,文本列数据尾部的空格不会被删除

2.3.4. 在对text类型的文本列进行排序或分组时,只使用前1,024字节

2.3.4.1. 该限制量可以根据需要增加

2.3.5. tinytext

2.3.5.1. 最大255字节

2.3.6. text

2.3.6.1. 最大65535字节

2.3.7. 一般情况下没有什么必要再使用tinytext或text类型了

2.3.8. mediumtext

2.3.8.1. 最大16777215字节

2.3.9. longtext

2.3.9.1. 最大4294967295字节

2.3.10. 存储文档

2.4. 数值型数据

2.4.1. 布尔型

2.4.1.1. 0表示false

2.4.1.2. 1表示true

2.4.2. 从1字节(tinyint)到8字节(bigint)

2.4.3. 最常用的是存储整数的数值类型

2.4.3.1. 定义为unsigned,通知服务器该列中存储的所有数据均大于或等于0

2.4.4. 如果为浮点数类型的列指定了精度和有效位,记住,超出有效位和/或精度的数据会被四舍五入

2.4.4.1. 定义为unsigned,但这只表示禁止列中存储负数,并不会改变该列所存储数据的取值范围

2.4.5. 高精度的科学或制造业数据往往需要精确到小数点后8位

2.5. 时间型(temporal)数据

2.5.1. datetime、timestamp和time类型也允许包含小数点后面最多有6位数字的秒数(微秒)

2.5.1.1. 当使用这些数据类型定义列时,可以提供一个0~6的数字

2.5.2. datetime(2)表示允许时间精确到1/100秒

2.5.3. timestamp类型

2.5.3.1. 存放的信息与datetime类型一样(包括年、月、日、时、分、秒)

2.5.3.2. 当行被添加到数据表或被修改时,MySQL服务器会自动为timestamp类型的列填充当前的日期/时间

2.5.4. 只需要存放年份的列可以使用year类型

2.5.5. 存放完成某项任务所需时间的列可以使用time类型

2.5.5.1. 通过两个datetime类型的列来获取(一个存放任务开始的日期/时间,另一个存放任务结束的日期/时间),计算两者的差值就可以得到所花费的时间

2.5.5.2. 使用单个time类型的列更简单

2.5.6. Oracle Datebase接受的日期范围是公元前4712年至公元9999年

2.5.7. MySQL其时间范围是公元1000年至公元9999年

2.5.8. SQL Server则只能处理公元1753年至公元9999年

2.5.8.1. SQL Server 2008的datetime2数据类型,其日期范围从公元1年至公元9999年

2.5.9. 如果存储的是历史日期,就需要注意了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/84231.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

wifi-RTL8723-RK3568

文章目录 前言一、RTL8723DU二、原理图三、设备树四、修改drivers/net/wireless/rockchip_wlan目录下文件五、修改RTL8723DU代码工程修改Makefile文件修改驱动入口函数其他说明效果前言 本文主要介绍如何在RK3568平台下,参考官方文档移植RTL8723DU这款wifi模块 提示:以下是本…

【数据结构入门指南】二叉树顺序结构: 堆及实现(全程配图,非常经典)

【数据结构入门指南】二叉树顺序结构: 堆及实现(全程配图,非常经典) 一、前言:二叉树的顺序结构二、堆的概念及结构三、堆的实现(本篇博客以实现小堆为例)3.1 准备工作3.2 初始化3.3 堆的插入3.3.1 向上调…

蓝凌OA custom.jsp 任意文件读取

​曾子曰:“慎终追远,民德归厚矣。” 漏洞复现 访问漏洞url: 出现漏洞的文件为 custom.jsp,构造payload: /sys/ui/extend/varkind/custom.jsp var{"body":{"file":"file:///etc/passwd&q…

代码随想录打卡—day24—【回溯】— 基础,最新820 8.21 todo

1 理论基础 回溯法也可以叫做回溯搜索法,它是一种搜索的方式。回溯算法——回溯和递归是相辅相成的。回溯法的效率,回溯法其实就是暴力查找,并不是什么高效的算法。回溯法解决的问题都可以抽象为树形结构(N叉树) 1.1…

《HeadFirst设计模式(第二版)》第九章代码——组合模式

上一章链接: 《HeadFirst设计模式(第二版)》第九章代码——迭代器模式_轩下小酌的博客-CSDN博客 前面说到,当一个菜单里面出现了子菜单的时候,前面的迭代器模式得换成组合模式。 组合模式: 允许将对象组合成树形结构来表现部分-整…

Ohio主题 - 创意组合和代理机构WordPress主题

Ohio主题是一个精心制作的多用途、简约、华丽、多功能的组合和创意展示主题,具有敏锐的用户体验,您需要构建一个现代且实用的网站,并开始销售您的产品和服务。它配备了最流行的WordPress页面构建器 WPBakery Page Builder(以前称为…

部署问题集合(十九)linux设置Tomcat、Docker,以及使用脚本开机自启(亲测)

前言 因为不想每次启动虚拟机都要手动启动一遍这些东西,所以想要设置成开机自启的状态 设置Tomcat开机自启 创建service文件 vi /etc/systemd/system/tomcat.service添加如下内容,注意修改启动脚本和关闭脚本的地址 [Unit] DescriptionTomcat9068 A…

无涯教程-PHP - File 函数

文件系统功能用于访问和操纵文件系统&#xff0c;PHP为您提供了操纵文件的所有功能。 运行时配置 这些功能的行为受php.ini中的设置影响。 NameDefaultChangeableChangelogallow_url_fopen"1"PHP_INI_ALLPHP_INI_ALL in PHP < 4.3.4. PHP_INI_SYSTEM in PHP &l…

测试框架pytest教程(6)钩子函数hook

在pytest中&#xff0c;"hook"是用于自定义和扩展测试流程的机制。它允许你在特定时间点插入自己的代码&#xff0c;以便对测试进行修改、补充或拦截。 pytest的hook是基于Python的插件系统实现的&#xff0c;使用特定的命名规范和装饰器来定义钩子函数。你可以在py…

qt中窗口的布局

qt中窗口的布局 常用的窗口布局方式使用拖拽控件的方式调用窗口布局使用Widget控件完成窗口布局布局中嵌套布局demo&#xff08;制作登录页面&#xff09; 如果不使用窗口布局&#xff0c;会带来的后果&#xff1a; 控件可能显示不出来不能按照期望的大小显示不能跟随窗口进行…

linux-进程

文章目录 1.先谈硬件冯诺依曼体系结构 2.再谈软件操作系统什么是操作系统&#xff1f;为什么要有操作系统&#xff1f;如何管理&#xff1f;系统调用 3.再谈进程那么具体Linux是怎么做的?指令 ps ajx 查看所有进程 非实时top 实时查看进程 相当于任务管理器ls /proc 内存级进程…

leetcode 322. 零钱兑换

本题属于完全背包问题&#xff0c;但要求最少的硬币个数。于是设定dp数组的含义dp[i]:总金额为i时&#xff0c;能凑成i的最少硬币个数。 需要注意初始化dp数组时&#xff0c;除0以外的其他地方需要初始化为INT_MAX以保证在递推过程中能被正确的覆盖。 代码如下&#xff1a; …

Nacos

Nacos介绍 Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service的⾸字⺟简称&#xff0c;⼀个更易于构 建云原⽣应⽤的动态服务发现、配置管理和服务管理平台。 在这个介绍中&#xff0c;可以看出Nacos⾄少有三个核⼼功能&#xff1a; 1. 动态服务发现 2. 配…

R包开发一:R与Git版本控制

目录 1.安装Git 2-配置Git&#xff08;只需配置一次&#xff09; 3-用SSH连接GitHub(只需配置一次) 4-创建Github远程仓库 5-克隆仓库到本地 目标&#xff1a;创建的R包&#xff0c;包含Git版本控制&#xff0c;并且能在远程Github仓库同步&#xff0c;相当于发布在Github。…

redis Windows版本安装过程(5.0.14)

官网不提供Windows版本的redis安装包&#xff0c;但可以在GitHub网站上找到redis的安装包&#xff1a; Releases tporadowski/redis GitHub &#xff08;相比较Linux其他版本的Redis,Windows版的redis的缺点是版本比较老&#xff0c;官方不提供且不更新&#xff09; 1、zip…

cuda gdb调试

如果cudaDeviceEnablePeerAccess函数不支持或不起作用&#xff0c;您仍然可以尝试其他方法来实现GPU之间的数据交换和通信。以下是一些替代方法&#xff1a; 通过主机内存进行数据传输&#xff1a; 如果GPU之间的数据交换不是非常频繁&#xff0c;您可以将数据从一个GPU复制到…

【笔记】Spark3 AQE(Adaptive Query Execution)

提效 7 倍&#xff0c;Apache Spark 自适应查询优化在网易的深度实践及改进 Performance Tuning 配置Spark SQL开启Adaptive Execution特性 How To Use Spark Adaptive Query Execution (AQE) in Kyuubi 【spark系列3】spark 3.0.1 AQE(Adaptive Query Exection)分析 玩转Spark…

开源全球地理空间数据可视化框架——Cesium学习(2023.8.21)

Cesium学习 2023.8.21 1、Cesium简介1.1 Github上的Cesium 2、Cesium下载安装使用2.1 方式一&#xff1a;页面在线引用2.2 方式二&#xff1a;页面离线使用2.3 方式三&#xff1a;完整项目使用 3、CesiumJS学习教程&#xff08;快速上手 API文档&#xff09;3、Cesium官方示例…

Git相关命令

SSH密钥文件 Github里面S设置SH公钥有两者选择方式 账号下的每个仓库都设置一个公钥&#xff0c;因为GitHub官方要求每个仓库的公钥都不能相同&#xff0c;所以每个账号都要搞一个密钥&#xff08;很麻烦&#xff09;给账号分配一个公钥&#xff0c;然后这个公钥就可以在这个…

Ribbon 源码分析

Ribbon 源码分析 Ribbon Debug 分析 断点 LoadBalancerInterceptor LoadBalancerInterceptor 实现了 ClientHttpRequestInterceptor 接口&#xff0c;重写了其中的 intercept 方法&#xff0c;用来拦截请求&#xff1b; 获取原始的 uri 和 服务名&#xff0c;调用 LoadBalanc…