当前位置: 首页 > news >正文

读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. 如果存储的是历史日期,就需要注意了

相关文章:

读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…...

易思智能物流无人值守系统文件上传漏洞复现

0x01 产品简介 易思无人值守智能物流系统是一款集成了人工智能、机器人技术和物联网技术的创新产品。它能够自主完成货物存储、检索、分拣、装载以及配送等物流作业,帮助企业实现无人值守的智能物流运营,提高效率、降低成本,为现代物流行业带…...

git获取远端分支和merge

要将远程分支拉取到本地,你可以使用以下命令: 1. 首先,使用git fetch命令从远程仓库获取最新的分支信息: git fetch origin 这个命令将会将远程仓库origin的分支信息下载到本地。 2. 接下来,可以使用git checkout命…...

linux-进程

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

整数数组区间的插入与删除

相似题参考: 56. Merge Intervals - 力扣(LeetCode)合并区间 57. 插入区间 - 力扣(LeetCode) 1272. 删除区间 package Jerry;import org.junit.Assert; import org.junit.Test;import java.util.ArrayList; import…...

Git标签

Git 中的标签,指的是某个分支某个特定时间点的状态(静态)。通过标签,可以很方便的切换到标记时的状态。 比较有代表性的是人们会使用这个功能来标记发布结点 (v1.0、v1.2等)。 下面是myatis-plus的标签: 1 标签相关命令 命令作用git tag查看标签&…...

BarCodeWiz ActiveX Control Crack

BarCodeWiz ActiveX Control Crack BarcodeWiz ActiveX Control–只需单击按钮即可将所有基本条形码类型添加到Microsoft Office中。在Microsoft Word中,创建单独的条形码、标签页或合并文档。在Microsoft Excel中,选择单元格范围并自动将每个单元格转换…...

mysql高版本(8.0+)group_by报错的处理方法

mysql高版本8.0 group_by报错的处理方法 1. 原因2. 处理方法2.1 临时方法,重启后失效2.2 修改配置my.ini文件 1. 原因 这个错误一般发生在mysql 5.7以及 5.7以上的版本中,其原因是mysql的默认配置中,sql_mode“ONLY_FULL_GROUP_BY” 这个配置严格执行了 ‘SQL92标准…...

Java 下载压缩zip

Java压缩zip /*** 下载压缩包** param instId 实例id* param response 响应* author 梁伟浩* date 2023-08-21*/GetMapping("/downloadZip")ApiOperation(value "下载压缩包")ApiImplicitParam(name "instId", value "实例id", r…...

GTK3实现自定义列表

使用gtk,如果想自己定义列表,思路可以将每个列表项作为一个hbox,整个列表是一个vbox。通过对容器动态的添加删除,实现列表操作,同时添加任何自己所需要的控件。 下面的例子是实现一个显示图片、按钮和进度条的列表,并且进行上移下移,具有添加和删除列表项功能但没有演示…...

Go语言基础之数组

Array(数组) 数组是同一种数据类型元素的集合。 在Go语言中,数组从声明时就确定,使用时可以修改数组成员,但是数组大小不可变化。 基本语法: // 定义一个长度为3元素类型为int的数组a var a [3]int数组定义: var 数…...

信息安全从业者考试认证大全

证书是IT从业者知识水平能力的一个体现,考证同时也是拓展自身知识的一个方法。近年来,安全行业风生水起,各种认证层出不穷,眼花缭乱。这里不对任何一个证书做评价,只是做出介绍,在国内,对任何事…...

详解react 15~18新增特性

React 15.x 版本的新增特性: 创建组件类:在 React 15 中,可以使用 createClass 方法来创建组件类。这个方法允许你定义组件的生命周期方法、渲染函数以及其他功能。 PropTypes:React 15 引入了 PropTypes,它是一种用于…...

SpringBoot整合FFmpeg进行视频分片上传(Linux)

SpringBoot整合FFmpeg进行视频分片上传(Linux) 上传的核心思路: 1.将文件按一定的分割规则(静态或动态设定,如手动设置20M为一个分片),用slice分割成多个数据块。 2.为每个文件生成一个唯一标识…...

eNSP综合小实验:VRRP、MSTP、Eth-Trunk、NAT、DHCP等技术应用

完成下图要求: 拓扑图: 配置命令: 由于交换机日志太多不便于复制,所以就复制命令。大概步骤如下: 第一步先分配IP地址,在sw1和sw2上创建VLAN100用于e0/0/3口配IP,在sw1、sw2、sw3、sw4上创建VL…...

正中优配:尾盘拉升的股票第二天的走势?

尾盘拉升是指买卖日快结束时股票价格呈现上涨的状况。关于许多投资者来说,这一般是好事情,因为它可认为他们带来更高的收益。但是,人们常常会问尾盘拉升的股票第二天的走势怎么。本文将从多个角度进行剖析。 首要,咱们需求认识到这…...

ios小组件报错:Please adopt containerBackground API

iOS 17 小组件报错:Please adopt containerBackground API 使用下面的方法解决了: 代码: extension View {func widgetBackground(_ backgroundView: some View) -> some View {if #available(iOSApplicationExtension 17.0, *) {return containerBackground(for: .wi…...

基于AWS的3D模型搜索服务实现

3D模型广泛应用于计算机游戏、电影、工程、零售业、广告等许多领域。市场上有很多制作3D模型的工具,但几乎没有工具可以直观地搜索3D模型数据库以找到类似的3D模型 因为开发好的 3D 模型搜索工具非常具有挑战性。 它需要复杂的计算和 AI/ML 框架来创建模型描述符并提…...

pycharm远程连接docker容器

pycharm远程连接docker容器 1.根据镜像创建容器2.进入容器3.修改容器的root密码4. 容器安装openssh-server和openssh-client5.修改SSH配置文件6.重启ssh服务7. 退出测试8.配置pycharm并连接docker容器9. 选择docker环境 1.根据镜像创建容器 sudo docker run -itd --nameconn_t…...

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

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

RT-Thread学习日记——点亮LED

最近开始接触RT-Thread,后面会单独建立专栏以此记录我的学习过程,如果能给你的学习提供参考,本人倍感荣幸。 学习工具:正点原子战舰开发板 一、、点亮LED 在RT-Thread的配置项里搜索LED可以看到和LED相关的很多内容&#xff0c…...

粘包问题(TCP面向字节流批量发送数据导致)

粘包问题出现的原因 由于TCP协议网络传输数据的基本单位是字节流,所以当应用程序收到了传输的数据时,看到的是一连串的字节数据,而TCP协议网络传输数据有滑动窗口的机制(核心就是批量传输数据,推荐看TCP中窗口和滑动窗…...

selenium Chrome驱动下载地址

Chrome驱动官方最新版下载地址:https://googlechromelabs.github.io/chrome-for-testing/ 有稳定版,开发版等版本可以选择下载 选择 操作系统复制下载链接直接下载...

Linux命令200例:tar命令主要用于创建、查看和提取归档文件(常用)

🏆作者简介,黑夜开发者,全栈领域新星创作者✌。CSDN专家博主,阿里云社区专家博主,2023年6月csdn上海赛道top4。 🏆数年电商行业从业经验,历任核心研发工程师,项目技术负责人。 &…...

【Django】Task4 序列化及其高级使用、ModelViewSet

【Django】Task4 序列化及其高级使用、ModelViewSet Task4主要了解序列化及掌握其高级使用,了解ModelViewSet的作用,ModelViewSet 是 Django REST framework(DRF)中的一个视图集类,用于快速创建处理模型数据的 API 视…...

FFMPEG RTMP流打开速度慢优化方法一

先上使用方法: codec_ctx->flags | AVFMT_FLAG_NOBUFFER; AVFMT_FLAG_NOBUFFER 标记如果没有设置,就会导致打开时探测的数据包丢AVFormatContext的缓存区中。 播放的时候,就从这些数据包开始,但是整个探测过程时间可能较长&…...

NextJs - Middleware(中间件)

中间件允许您在请求完成之前运行代码。然后,根据传入的请求,您可以通过重写、重定向、修改请求或响应标头或直接响应来修改响应。 中间件在缓存内容和路由匹配之前运行。 使用规则 使用项目根目录中的文件 middleware.ts(或 .js&#xff09…...

记录几个Hudi Flink使用问题及解决方法

前言 如题,记录几个Hudi Flink使用问题,学习和使用Hudi Flink有一段时间,虽然目前用的还不够深入,但是目前也遇到了几个问题,现在将遇到的这几个问题以及解决方式记录一下 版本 Flink 1.15.4Hudi 0.13.0 流写 流写…...

Go:测试框架GoConvey 简介

快速开始 GoConvey是一个完全兼容官方Go Test的测试框架,一般来说这种第三方库都比官方的功能要强大、更加易于使用、开发效率更高,闲话少说,先看一个example: package utils import (. "github.com/smartystreets/goconvey…...

JavaWeb-特殊文件(propertis与XML)

目录 Properties文件 一.properties介绍 二.properties使用 三.解决中文乱码问题 XML文件 一.XML介绍 二.XML文件的语法规则 三.XML的使用 Properties文件 一.properties介绍 1.什么是properties文件 Properties文件是一种常用的配置文件格式,用于存储键值…...

wordpress知更鸟begin主题/推广网络推广平台

上一篇博客:面向对象、类与对象 目录 封装 概述封装的步骤封装的操作封装优化标准代码—JavaBean 开始 一、封装概述 面向对象的语言是对客观世界的模拟,客观世界成员变量都是隐藏在对象内部的,外界无法直接操作和修改 封装可以被认为是一…...

宁夏一站式网站建设/正规的微信推广平台

在lifelong比赛上下载了图片数据集,目标是将不同光照下不同视角物体的分类,每张图片只含有一种类别,一共有51个类别(有刀、订书机、杯子、勺子等),所以想到了用ResNet50做图片分类,顺便学习ResN…...

北京网站开发公司排名/如何查看网站收录情况

需求 通过一个聚合二维码,支付宝扫码进入到生活号的首页,微信扫码进入微信公众号关注界面 思路 判断用户使用的支付宝扫码还是微信扫码。这个比较容易,根据浏览器请求头里面的信息就可以识别获取生活号和公众号首页关注链接,根…...

wordpress怎么改后台密码/营销组合策略

如果你在 Ubuntu 16.04 LTS 操作系统中使用 Linux Kernel 4.4 内核,请注意更新系统,以安装修复安全漏洞,它适合 Ubuntu 16.04 LTS 及其 Ubuntu 16.04 衍生版本,根据 Canonical 的修复详情本次共修复了 4 项已知安全漏洞。当然&…...

金华市有网站建设最低价/合肥网站优化软件

引用与指针的区别: 指针是一个变量,有独立的存储空间,存储的是另外一个数据的地址;引用是一个别名,没有独立的地址,与原来的变量是同一个东西;指针定义时可以为空,需要时才进行初始…...

太原微信网站/怎么建网站教程图解

继承制度是关于自然人死亡后财富传承的基本制度。随着人民群众生活水平的不断提高,个人和家庭拥有的财产数量持续增加、财产形式日益多样,因继承引发的纠纷也越来越多。根据我国社家庭结构、继承观念等方面的发展变化,《民法典》继承编在《继…...