SQL中的五种数据类型:字符型,文本型,数值型,逻辑型和日期型

更新时间:2023-07-10 02:28:29 阅读: 评论:0

SQL中的五种数据类型:字符型,⽂本型,数值型,逻辑型和
⽇期型
简要描述⼀下SQL中的五种数据类型:字符型,⽂本型,数值型,逻辑型和⽇期型
字符型
羊奶粉排行
饮料英文  VARCHAR VS CHAR
  VARCHAR型和CHAR型数据的这个差别是细微的,但是⾮常重要。他们都是⽤来储存字符串长度⼩于255的字符(?sql rver中varchar类型最⼤长度可以到8000,oracle中可以到4000)。
  假如你向⼀个长度为四⼗个字符的VARCHAR型字段中输⼊数据Bill Gates。当你以后从这个字段中取出此数据时,你取出的数据其长度为⼗个字符——字符串Bill Gates的长度。 现在假如你把字符串输⼊⼀个长度为四⼗个字符的CHAR型字段中,那么当你取出数据时,所取出的数据长度将是四⼗个字符。字符串的后⾯会被附加多余的空格。
  当你建⽴⾃⼰的站点时,你会发现使⽤VARCHAR型字段要⽐CHAR型字段⽅便的多。使⽤VARCHAR型字段时,你不需要为剪掉你数据中多余的空格⽽操⼼。
  VARCHAR型字段的另⼀个突出的好处是它可以⽐CHAR型字段占⽤更少的内存和硬盘空间。当你的数据库很⼤时,这种内存和磁盘空间的节省会变得⾮常重要
  但是VARCHAR型字段在读取得效率上却⽐不上CHAR,对于已经限定字符长度的字段来说⽤char则优于varchar,因为可以获得更快的读取速度。例如⽇期字段固定格式为yyyy-MM-dd型的字段,固定长度是10了,那么⽤CHAR则读取速度会更快。
⽂本型
  TEXT(Sql Server)
  使⽤⽂本型数据,你可以存放超过⼆⼗亿个字符的字符串。当你需要存储⼤串的字符时,应该使⽤⽂本型数据。
  注意⽂本型数据没有长度,⽽上⼀节中所讲的字符型数据是有长度的。⼀个⽂本型字段中的数据通常要么为空,要么很⼤。
  当你从HTML FORM的多⾏⽂本编辑框(TEXTAREA)中收集数据时,你应该把收集的信息存储于⽂本型字段中。但是,⽆论何时,只要你能避免使⽤⽂本型字段,你就应该不使⽤它。⽂本型字段既⼤且慢,滥⽤⽂本型字段会使 速度变慢。⽂本型字段还会吃掉⼤量的磁盘空间。汽车报废年限
  ⼀旦你向⽂本型字段中输⼊了任何数据(甚⾄是空值),就会有2K的空间被⾃动分配给该数据。除⾮删除该记录,否则你⽆法收回这部分存储空间。
1826年数值型
转正理由  SQL⽀持许多种不同的数值型数据。你可以存储整数 INT 、⼩数 NUMERIC、和钱数 MONEY。
  INT VS SMALLINT VS TINYINT
  他们的区别只是字符长度:
  INT型数据的表数范围是从-2,147,483,647到2,147,483,647的整数
  SMALLINT 型数据可以存储从-32768到32768的整数毛笔字握笔姿势
  TINYINT 型的字段只能存储从0到255的整数,不能⽤来储存负数
  通常,为了节省空间,应该尽可能的使⽤最⼩的整型数据。⼀个TINYINT型数据只占⽤⼀个字节;⼀个INT型数据占⽤四个字节。这看起来似乎差别不⼤,但是在⽐较⼤的表中,字节数的增长是很快的。另⼀⽅⾯,⼀旦你已经创建了⼀个字段,要修改它是很困难的。因此,为安全起见,你应该预测⼀下,⼀个字段所需要存储的数值最⼤有可能是多⼤,然后选择适当的数据类型。
  NUMERIC
  为了能对字段所存放的数据有更多的控制,你可以使⽤NUMERIC型数据来同时表⽰⼀个数的整数部分和⼩数部分。NUMERIC型数据使你能表⽰⾮常⼤的数——⽐INT型数据要⼤得多。⼀个NUMERIC型字段可以存储从-1038到1038范围内的数。NUMERIC型数据还使你能表⽰有⼩数部分的数。例如,你可以在NUMERIC型字段中存储⼩数3.14。
  当定义⼀个NUMERIC型字段时,你需要同时指定整数部分的⼤⼩和⼩数部分的⼤⼩。如:NUMERIC(23,0)
  ⼀个 NUMERIC型数据的整数部分最⼤只能有28位,⼩数部分的位数必须⼩于或等于整数部分的位数,⼩数部分可以是零。
  MONEY VS SMALLMONEY
  你可以使⽤ INT型或NUMERIC型数据来存储钱数。但是,专门有另外两种数据类型⽤于此⽬的。如果你希望你的⽹点能挣很多钱,你可以使⽤MONEY型数据。如果你的野⼼不⼤,你可以使⽤SMALLMONEY型数据。MONEY型数据可以存储从-
922,337,203,685,477.5808到922,337,203,685,477.5807的钱数。如果你需要存储⽐这还⼤的⾦额,
双音节单词
你可以使⽤NUMERIC型数据。
踩小人图片  SMALLMONEY型数据只能存储从-214,748.3648到214,748.3647 的钱数。同样,如果可以的话,你应该⽤SMALLMONEY型来代替MONEY型数据,以节省空间。
逻辑型
  BIT
  如果你使⽤ ( CHECKBOX)从⽹页中搜集信息,你可以把此信息存储在BIT型字段中。BIT型字段只能取两个值:0或1。
⽇期型
  DATETIME VS SMALLDATETIME(Sql Server)
  ⼀个 DATETIME型的字段可以存储的⽇期范围是从1753年1⽉1⽇第⼀毫秒到9999年12⽉31⽇最后⼀毫秒。如果你不需要覆盖这么⼤范围的⽇期和时间,你可以使⽤SMALLDATETIME型数据。它与DATETIME型数据同样使⽤,只不过它能表⽰的⽇期和时间范围⽐DATETIME型数据⼩,⽽且不如DATETIME型数据精确。⼀个SMALLDATETIME型的字段能够存储从1900年1⽉1⽇到2079年6⽉6⽇
的⽇期,它只能精确到秒。DATETIME型的字段⽤8个字节存储⽇期时间值,⽽SMALLDATETIME型的字段只使⽤4个字节存储精确到1分钟的⽇期时间。
  DATETIME型字段在你输⼊⽇期和时间之前并不包含实际的数据,认识这⼀点是重要的。
安全问题
  由于 SQL 指令在部份进阶使⽤时,语法会依照特定条件来变换,⽽且若是表格中的字段过多时,许多开发⼈员都会习惯以字串组⽴的⽅式建⽴ SQL 指令,⽽且⼜使⽤系统管理员级的帐户连到数据库,因此让⿊客有机会利⽤ SQL 的组⽴⽅式进⾏攻击,像是在指令中添加部份刺探性或破坏性的指令 (例如 DROP TABLE、DROP DATABASE 或是 DELETE * FROM myTable 等具破坏性的指令),让数据库的资料或实体服务器被破坏,导致服务中断或是系统瘫痪等后果,此种攻击⼿法称为SQL注⼊( SQL Injection)。⽬前实务上较有效的防御⽅法,就是全⾯改⽤ 参数化查询,或是检查输⼊数据,过滤掉可能的危险指令或数据来防范。

本文发布于:2023-07-10 02:28:29,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/1088370.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数据   字段   长度   指令
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图