一、什么是数据?
1、首先不谈计算机数据。谈谈生活中的数据。
比如有些工作人员负责统计订餐人员,不论写在excal表格中,还是写在纸上,这些都订餐人的名字统计出来的就是数据,是方便我们知道谁订餐的“记录”。有些工作人员负责统计电脑设备的分配,某个员工用了某个电脑,记下来,形成一条记录。公司可以根据这些“记录”去处理事情——订多少饭、把离职人员的电脑收回来、分给新入职的员工。
2 、那么计算机数据呢?
首先计算机是个机器,不像人。它没有理解力,没有思维,但它依然可以像公司一样处理一些事情。比如打开计算器计算1+1能得到2,1、2就是数据,打开音乐听歌,一首歌也是一条数据。看图片,一张图片也是一条数据。现在计算机能够处理的数据有很多,可以是符号、文字、数字、语音、图像、视频等。它是能够识别这些数据的。不然就没法进行计算、播放音乐、显示文字和图片了。
二、 数据类型——为什么要把数据进行分类?
因为计算机能够处理数据,比如上面说的加减乘除,播放歌曲,播放电影,显示文字。所以计算机需要给数据进行分类,虽然我们在生活中,一个苹果加上一个梨,有人可以理解等于2。但是没有单位,因为它俩不是同一种类,怎么一起处理呢,可能会被一起吃掉。但是计算机不会,它必须死板地给所有的数据分好类,才能方便进行同种类的数据进行处理————不能用数字去播放歌曲,也不能把图片当视频播放。
三、 数据单位——为什么数据要有单位?
因为计算机内存是负责存储和读取数据的,首先计算机内存是有大小的,比如我们的硬盘500个G,内存有8个G。既然涉及到存储,那就要知道数据占用多少大的空间,就像往行李箱里放衣物,首先知道衣物的大小才能合理分配空间,为了能够装下更多的衣物,不浪费空间。计算机内存也是一样的道理,所以数据都需要有单位————这条数据有多大。 首先说下计算机的运算规则,也是电脑运算基础————二进制。我们生活中一般数数都是十进制,比如1、2、3、4、5、6、7、8、9、数到10的时候,向前进1,个位变0,继续11、12、13....小时候学的逢十进一,借一当十.......那么二进制是怎么回事呢?它是逢2进1,借1当2。比如:1+1 已计算到2了,也就是相当于生活中数数数到10的时候,该向前进1了,就变成“10”了注意这个“10”可不是生活中数字10。因为是向前进1,写在纸上就是向左边进1,所以最右边的0叫最低位,最左边叫最高位。“10”中1是最高位,0是最低位。。。。。。。。。。。。。。那么减法呢:二进制中的减法 10-1,首先用0去-1,但是发现不够用0还没1大,所以要向前“借1当2”。那么左边的那个1就没有了,后面的0变成2了,用2再去-1就够用了,结果等于1。所以二进制中10-1=1。 上面这段二进制的基本运算其实主要就是介绍下计算机中运算机制二进制是怎么回事,也就是为什么说计算机中都是0101010101001呢。
四、数据单位——有哪些?
计算机内存存储量都是有单位的,就好比容量单位1升水=1000ml水,长度单位1米=100厘米。 那么就从计算机中最小的存储单位————“位”(bit 比特)说起了。bit是最小单位,因为它只能够存二进制数的一位,比如上面计算的二进制数“10”,它只能存个0,或者1。已经小得可怜了。 计算机中最基本的单位—————“字节(byte)”,为什么最基本的单位不是bit呢,因为bit实在是太小了,平时度量时不方便。字节也就是我们常见的Byte,简写B,比如一个文本文档12B那么大。就是12字节那么大。1 B = 8 bit。不是10哦朋友。1KB(Kilobyte 千字节) = 1024B。不是1000B哦朋友,虽然写的是K。 1MB (Megabyte 兆字节 简称“兆”)=1024KB,
1GB (Gigabyte 吉字节 又称“千兆”)=1024MB,
1TB (Trillionbyte 万亿字节 太字节)=1024GB,其中1024=2^10 ( 2 的10次方),
1PB(Petabyte 千万亿字节 拍字节)=1024TB,
1EB(Exabyte 百亿亿字节 艾字节)=1024PB,
1ZB (Zettabyte 十万亿亿字节 泽字节)= 1024 EB,
1YB (Yottabyte 一亿亿亿字节 尧字节)= 1024 ZB,
1BB (Brontobyte 一千亿亿亿字节)= 1024 YB.
五、回归数据类型 ———— 有哪些?
1. 字符串数据类型: 什么是字符串? 先解释什么是字符:字符(Character)是文字与符号的总称,包括文字、图形符号、数学符号等。比如 a、b、c、1、2、3(注意!这里123不是数字,是数字符号。它仅仅是个符号跟@、 #、 ¥、 … 、… 、& 、%、 *、 /、 这些符号一样都是符号)、放、牛、的、王、狗、蛋、儿、这些都是字符。那么这些字符在计算机中占多大的内存空间呢,不同的衣服当然占用的行李箱的空间是不一样的,字符也是如此:1个汉字字符存储需要2个字节(Byte),1个英文字符存储需要1个字节(Byte),2个数字占一个字节(Byte)。 那么什么是字符串?就是这些字符 串起来。比如abc、edadf、43434(注意它可以是字符串,不仅仅是数字四万三千四百三十四)、放牛的王狗蛋儿。这些都是字符串。刚才说过,”放牛的王狗蛋儿“这个字符串在计算机中占用多大的内存空间呢?这个字符串是7个汉字字符组成的,一个汉字字符占2个字节(Byte),所以这个字符串占14个字节。 2. 数值数据类型: 数值 跟我们生活中的数学上学的就差不多了,数学里有整数 1,2,3,4这样,也有小数 3.1415这样。所以计算机中数值的数据类型也是分两大类:整型(int)如:1、23、345。浮点型(float)3.1、3.14 这样。当然计算机为了运算更精确,或者储存它们时不浪费空间,还把整型进行分类:长整型,整型等,它们占用空间也不一样。这点新手可以先忽略。浮点型也是如此:分成精准、双精准等类型,主要是占用内存空间的不一样大。 3. 布尔值(BOOL)数据类型 只有两个值 yes或者no。用于判断条件是否成立或者是否存在等作用。 当然还有一些别的高级数据类型,比如编程中的不同的对象有不同的类型。上述三种类型大概只是计算机编程中的基础 数据类型。有一点需要理解的是,不同的编程语言里面定义的这些数据类型只是写法不一样但实际上都是这些东西:比如C语言中 char类型就是字符串类型 ,int类型就是整型 ,float、double就是浮点型。Java中string类型就是字符串类型,int类型就是整形,folat、double也是浮点型。OC中NSString 类型就是字符串的类型,NSInteger类型就是整型,NSFloat类型就是浮点型。(每种开发语言都有自己的内置数据类型,就如上述内容,它们只是写法不一样,或者高级语言为了编程方便多设计几种数据类型,可以方便处理数据。但是不论如何变,万变不离其宗)
六、oracle数据中的数据类型
最后的最后,因为某人正在学oracle数据库,重点讲下oracle数据中的数据类型: oracle也有自己设计的数据类型,大体上只是称号写法不一样。它们是字符串类型、数字类型、日期类型、LOB类型、LONG RAW& RAW类型、ROWID & UROWID类型。 1.字符串类型 题外话:在创建数据库时,会选择编码格式,什么是编码格式?计算机一开始有一个编码集,是为了让我们输入的内容转化成计算机唯一认识的二进制,因为计算机并不认识英文,它是只认识二进制,文章中开头也说了,计算机基础操作的运算都是基于二进制的。比如输一个字母a,用编码集就可以转化成计算机认识的二进制,因为编码集是人设计的,怎么转也不用管,都是前辈设计好的。这个编码集就叫ansi编码,它就是一种编码格式。扔进去英文或者%……¥这样的字符,它就把对应的设计好的16进制,再把16进制转成二进制数据扔给计算机,计算机就知道了扔进来的是a。后来汉语都是汉子扔进去并不认识,那就再做一个编码集,能够把汉字扔进去也能转成计算机认识的二进制。这样计算机就认识汉语了。 那么oracle有两种自己的编码格式在创建数据库的时候可以选择,字符串类型的数据可依编码方式分成数据库字符集(CHAR/VARCHAR2/CLOB/LONG)和国际字符集(NCHAR/NVARCHAR2/NCLOB)两种。数据库中的字符串数据都通过字符集将字符转换为数字后(二进制),才存储到数据库中的。 字符串char类型: char(n):用于表示固定长度的字符串,什么是长度,长度就是上面说的内存空间,行李箱中的空间可以用平方厘米来表示,内存中的大小都是用“长度”来表示,这个长度的单位呢,就是Byte(字节),上面文章中也已经说过了,计算机中储存的基本单位就是Byte字节还记得吗。所以char(10)的意思就是在内存中找出来10字节的空间来放你要放的字符串,就像你在行李箱中打算用10平方厘米的一个空间存放玩具(虽然玩具可能比10平方厘米大,也可能比10平方厘米小,但是char(10)就仅仅在内存空间中申请了10个字节长度的空间准备放要放的字符串)。那么如果用char(10)去放‘abc’呢?当然上面文章中也说过,一个字母在计算机中占了1个字节,所以abc,只占了3个字节。那用10个字节的字符串空间去放这3个字节长度的字符串,就会还剩余7个长度的字节空闲了。这些空闲的空间呢会被空格占用。就像abc_ _ _ _ _ _ _ 。 varchar(n):可变长度的字符串类型,比如上面说的char(10) = abc,那么它永远就是abc了,可变varchar(10) = abc的话,它可以继续拼接起来别的字符串,变成abcdef这样的字符串,或者可以截取掉一部分成为 ‘ab’或者‘a’ 。这个比较灵活,比如把身份证号的年份1993截取出来,那么那一串身份证号肯定就是可变字符串了。varchar(n)也可以存空字符串 ‘’ 。 varchar2(n):可变字符串类型,是oracle在varchar的基础上又再次设计的可变长度字符类型。当做为列类型使用时,最大长度可被定义为4000个Byte字节;当做为变量类型使用时,长度可被定义为32767Byte字节。不可以存储空字符串。 2.数值类型 number或number(p,s),这里主要说下number(p,s) p代表总位数,s代表小数点后有多少位。比如3.14用 number(2,1)处理下,因为3.14一共有3位(注意!算多少位的嘶吼这里不包括小数点)但是number(2,1) 是要处理成2位、小数点后1位,所以结果会是 3.1 ,4被截取掉了。 3.日期类型 日期类型是很特殊的一个类型,因为计算机中的时间也就是我们生活中用的时间,它不是数值类型,也不是字符串类型,它就是时间,在所有的编程语言中都是如此。 date:包含Year(年)、Month(月) 、Day(天)、Hour(时)、Minutes(分)、Second(秒)。说明:(yyyy表示4位年分;mm表示月份;dd表示天;hh表示时;mi表示分;ss表示秒) 4.大对象类型:lob:用于存储大对象类型。例如:文本信息长度超过4000、二进制文件等。最大容量为4GB。 lob分类:clob:用于存储大型文本数据。(例如:备注信息)blob:用于存储二进制数据。(例如:图片文件) bfile:作为独立文件存在的二进制数据。 5.特殊数据: null与空字符串:null与空字符串,都要用is null或is not null进行比较。 单引号:想将单引号做为字符中使用,请通过单引号进行转义。 6.注意:oracle中,没有布尔类型,上面文章中已经说过了 计算机中的BOOL类型是yes 和no 但是在不同的计算机编程语言中表示的方式不同,但是它只有两个值。可利用字符串或数值(1/0)表示。原文链接:https://www.f2er.com/oracle/207899.html