读SQL学习指南(第3版)笔记02_数据类型
(资料图片)
1.命令行工具
1.1.mysql -u root -p;
1.2.mysql> show databases;
1.3.mysql> use sakila;
Database changed
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_数据类型2023-08-22
-
8月21日基金净值:天弘永利优佳混合A最新净值0.972,跌0.15%2023-08-22
-
女子花50万购买“田黄玉玺”被骗:经鉴定是价值30元工艺品,诈骗犯获刑十年半2023-08-21
-
「世界说」港媒:澳英美联盟在澳大利亚引争议 矛头直指美国2023-08-21
X 关闭
X 关闭
数据排行
- 周
- 日
- 1助职教发展 嗨学“精准”输送建造人才
- 2产教融合,让“人人皆可成才”
- 3职业教育大放异彩的时代正在到来
- 4“吴姥姥”成网红,“不刷题”的快乐人人能懂
- 5企业瞄准职教?专家:避免过度逐利
- 6云南瑞丽:16日起防范区人员可在市内有序流动
- 7江苏启东一学校三名学生坠楼事件最新进展
- 8云南瑞丽发布调整风险区域实行分类防控最新通告
- 9瑞丽调整人员和物资进出姐告边境贸易区管理措施
- 10成都市金牛区顶峰水岸汇景小区16日起解封 恢复常态化管理
- 1天天观热点:思仪科技IPO:实控人中国电科持股50.54%,董事长张红卫年薪142万
- 212月29日化学纤维行业十大熊股一览
- 3每日精选:11月广西煤炭价格小幅下降
- 4即时:支持开票 | Python实证指标构建与文本分析
- 5简讯:知名老戏骨“藏妻”28年,突然高调秀恩爱,妻子首度曝光:难怪他要“拒绝”巩俐!
- 6楚江新材(002171.SZ)收到政府补助1.01亿元 环球热议
- 712月29日鲁阳节能涨5.99%,大成新锐产业混合基金重仓该股 焦点热门
- 8焦点热门:快e贷逾期19年延迟还款会不会上征信
- 9鼎泰高科董秘回复:公司将不断提高技术研发实力,持续保持公司在业内的产品竞争优势
- 10【播资讯】中国交建:拟分拆下属三家设计院重组上市



