SQL之介绍和数据类型

计算机二级等级证越来越成为大学的热门。在我的周围有越来越多的同学已经考过或正在考。而visual Foxpro似乎成了热门中的热门(虽然已经过时,但是它简单啊^_^),而提到VF就不得不说道SQL。那么,今天我们就来介绍一下SQL

SQL语言简介

SQLStructured Query Language,结构化查询语言)是一种程序设计和数据库查询语言,是高级的非过程化编程语言,用来查询、存取数据以及更新和管理关系数据库系统。同时它也是数据库脚本文件的扩展名。

SQL工作在高层数据结构上,是数据库服务器和客户端连接的重要工具。它是跨底层结构的,完全不要求指定对数据的存放方法,也不需要了解具体的数据存放方式,所以,不同数据库系统,完全可以使用相同的SQL语言作为数据输入与管理。

结构化查询语言(Structured Query LanguageSQL)的前身是SQUARE语言,最初是IBM的圣约瑟研究实验室专门为其关系数据库SYSTEM R开发的一种查询语言。SQL语言以其简洁的结构,强大的功能和简单易学的特点,自1981年推出以来,就得到了广泛的应用。无论是OracleSybaseDB2InformixSQL Server这些大型的数据库管理系统,还是像Visual FoxproMySql这些PC上常用的数据库系统,都是支持SQL语言的。

而且1992年美国国家标准局(ANSI)与国际标准化组织(ISO)已经制定了SQL标准。称为SQL-92ANSI的相应标准是ANSI SQL-92。有时被称为ANSI SQL。尽管不同的关系数据库使用的SQL有一些细微的差异,但绝大多数都遵循 ANSI SQL 标准。

SQL语言的分类

SQL语言包括三种主要程序设计语言类别的语句:数据查询语言(DQL),数据定义语言(DDL),数据操作语言(DML)及数据控制语言(DCL)。

数据查询语言(Data Query LanguageDQL)用select来对关系数据库中的数据进行相关条件查询。

数据定义语言(Data Definition LanguageDDL)用来建立数据库、数据对象和定义其列。例如:CREATEDROPALTER等语句。

数据操作语言(Data Manipulation LanguageDML)用来插入、修改、删除,可以修改数据库中的数据。例如:INSERT(插入)、UPDATE(修改)、DELETE(删除)语句

数据控制语言(Data Controlling LanguageDCL)用来控制数据库组件的存取许可、存取权限等。例如:GRANTREVOKECOMMITROLLBACK等语句。

SQL的常见数据类型

简要描述一下结构化查询语言中的五种数据类型:字符型,文本型,数值型,逻辑型和日期型

1. 字符型 VARCHAR VS CHAR

 字符数据可以是是由任何字母、符号和数字任意组合而成的数据。

VARCHAR型和CHAR型数据都是用来储存字符串长度小于255的字符的,他们之间的差别是非常小的,但是却是非常重要的。Varchar 是变长字符型数据,其长度不超过 8KBChar 是定长字符型数据,其长度最多为 8KB

当你实际使用的时候,你会发现VARCHAR型字段要比CHAR型字段方便的多。使用VARCHAR型字段时,你不需要操心你数据中多余的空格,而且它比CHAR型字段占用的内存和硬盘空间更少。当你的数据库很大时,这种节省是非常重要的。

比如说你向一个长度为二十个字符的VARCHAR型字段中输入数据cuishengjie.com。当以后你从字段中取出此数据时,取出的数据的长度为十五个字符——字符串cuishengjie.com的长度。现在假如你把字符串输入一个长度为二十个字符的CHAR型字段中,那么取出数据时,所取出的数据长度将是二十个字符的长度。因为Char是定长字符型数据,其长度是固定的,长度不足,则会在字符串的后面附加多余的空格。

2. 文本型  TEXT

当你需要存储大量的字符型数据时,使用文本型数据,它几乎可以说是无限制的(可以超过二十亿个字符)。

和字符型数据不同的是,文本型数据没有长度,一个文本型字段中的数据一般情况下要么为空,要么会很大。

当你需要从表单的多行文本编辑框中收集数据时,你将会用到文本型字段。但是,你应该尽量的避免使用它,因为文本型字段既大且慢,文本型字段过多会加重服务器负担,使服务器速度变慢。而且文本型字段还会占用大量的磁盘空间,增加服务器成本。

3. 数值型 整数INT 、小数NUMERIC

在实际应用中,需要考虑的因素是多方面的,因为一旦你创建了一个字段,要修改它是很难的。因此,你应该预测一下,一个字段所需要存储的数值最大是多大,然后根据最大数值来选择适当的数据类型,尽量使用最小的整型数据。虽然看起来一个TINYINT型数据的一个字节和一个INT型数据的四个字节的差别不大,但是如果你的数据表很大的话,字节数的增长也是很快的。

当然为了方便对存放的数据有更多的控制,你也可以使用NUMERIC型数据来同时表示一个数的整数部分和小数部分。NUMERIC型数据所能表示的数比INT型数据要大的多,可以存储从-10381038范围内的数,而且还使你能表示有小数部分的数。

如果你是用来来存储钱数的话,你可以使用 INT型或NUMERIC型数据,也可以使用专门用来表示钱数的两种数据类型。如果你希望挣很多钱,并且不介意储存空间的话,你可以使用MONEY型数据。如果你的野心不大,你可以使用SMALLMONEY型数据。SMALLMONEY型数据只能存储从-214,748.3648214,748.3647 的钱数。MONEY型数据可以存储从-922,337,203,685,477.5808922,337,203,685,477.5807的钱数。如果你需要存储比这还大的金额,你可以使用NUMERIC型数据。

4. 逻辑型 BIT

如果你从网页中搜集信息只包含两个选项,你可以把此信息存储在BIT型字段中。BIT型字段只能取两个值:01。另外,

5. 日期型 DATETIME VS SMALLDATETIME

一个 DATETIME型的字段可以存储的日期范围是从175311日第一毫秒到99991231日最后一毫秒。

如果你不需要,你可以使用SMALLDATETIME型数据。它能表示的日期和时间范围比DATETIME型数据小,而且不如DATETIME型数据精确。一个SMALLDATETIME型的字段能够存储从190011日到207966日的日期,它只能精确到秒。

版权声明:
作者:崔圣杰
链接:https://www.cuishengjie.com/50.html
来源:论剑阁-崔圣杰博客
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
打赏
海报
SQL之介绍和数据类型
计算机二级等级证越来越成为大学的热门。在我的周围有越来越多的同学已经考过或正在考。而visual Foxpro似乎成了热门中的热门(虽然已经过时,但是它简单啊^_^),而提到VF就不得不说道SQL。那么,今天我们就来介绍一下SQL。
<<上一篇
下一篇>>