SQL之介绍和数据类型
计算机二级等级证越来越成为大学的热门。在我的周围有越来越多的同学已经考过或正在考。而visual Foxpro似乎成了热门中的热门(虽然已经过时,但是它简单啊^_^),而提到VF就不得不说道SQL。那么,今天我们就来介绍一下SQL。
SQL语言简介
SQL(Structured Query Language,结构化查询语言)是一种程序设计和数据库查询语言,是高级的非过程化编程语言,用来查询、存取数据以及更新和管理关系数据库系统。同时它也是数据库脚本文件的扩展名。
SQL工作在高层数据结构上,是数据库服务器和客户端连接的重要工具。它是跨底层结构的,完全不要求指定对数据的存放方法,也不需要了解具体的数据存放方式,所以,不同数据库系统,完全可以使用相同的SQL语言作为数据输入与管理。
结构化查询语言(Structured Query Language,SQL)的前身是SQUARE语言,最初是IBM的圣约瑟研究实验室专门为其关系数据库SYSTEM R开发的一种查询语言。SQL语言以其简洁的结构,强大的功能和简单易学的特点,自1981年推出以来,就得到了广泛的应用。无论是Oracle、Sybase、DB2、Informix、SQL Server这些大型的数据库管理系统,还是像Visual Foxpro、MySql这些PC上常用的数据库系统,都是支持SQL语言的。
而且1992年美国国家标准局(ANSI)与国际标准化组织(ISO)已经制定了SQL标准。称为SQL-92。ANSI的相应标准是ANSI SQL-92。有时被称为ANSI SQL。尽管不同的关系数据库使用的SQL有一些细微的差异,但绝大多数都遵循 ANSI SQL 标准。
SQL语言的分类
SQL语言包括三种主要程序设计语言类别的语句:数据查询语言(DQL),数据定义语言(DDL),数据操作语言(DML)及数据控制语言(DCL)。
数据查询语言(Data Query Language,DQL)用select来对关系数据库中的数据进行相关条件查询。
数据定义语言(Data Definition Language,DDL)用来建立数据库、数据对象和定义其列。例如:CREATE、DROP、ALTER等语句。
数据操作语言(Data Manipulation Language,DML)用来插入、修改、删除,可以修改数据库中的数据。例如:INSERT(插入)、UPDATE(修改)、DELETE(删除)语句
数据控制语言(Data Controlling Language,DCL)用来控制数据库组件的存取许可、存取权限等。例如:GRANT、REVOKE、COMMIT、ROLLBACK等语句。
SQL的常见数据类型
简要描述一下结构化查询语言中的五种数据类型:字符型,文本型,数值型,逻辑型和日期型
1. 字符型 VARCHAR VS CHAR
字符数据可以是是由任何字母、符号和数字任意组合而成的数据。
VARCHAR型和CHAR型数据都是用来储存字符串长度小于255的字符的,他们之间的差别是非常小的,但是却是非常重要的。Varchar 是变长字符型数据,其长度不超过 8KB。Char 是定长字符型数据,其长度最多为 8KB。
当你实际使用的时候,你会发现VARCHAR型字段要比CHAR型字段方便的多。使用VARCHAR型字段时,你不需要操心你数据中多余的空格,而且它比CHAR型字段占用的内存和硬盘空间更少。当你的数据库很大时,这种节省是非常重要的。
比如说你向一个长度为二十个字符的VARCHAR型字段中输入数据cuishengjie.com。当以后你从字段中取出此数据时,取出的数据的长度为十五个字符——字符串cuishengjie.com的长度。现在假如你把字符串输入一个长度为二十个字符的CHAR型字段中,那么取出数据时,所取出的数据长度将是二十个字符的长度。因为Char是定长字符型数据,其长度是固定的,长度不足,则会在字符串的后面附加多余的空格。
2. 文本型 TEXT
当你需要存储大量的字符型数据时,使用文本型数据,它几乎可以说是无限制的(可以超过二十亿个字符)。
和字符型数据不同的是,文本型数据没有长度,一个文本型字段中的数据一般情况下要么为空,要么会很大。
当你需要从表单的多行文本编辑框中收集数据时,你将会用到文本型字段。但是,你应该尽量的避免使用它,因为文本型字段既大且慢,文本型字段过多会加重服务器负担,使服务器速度变慢。而且文本型字段还会占用大量的磁盘空间,增加服务器成本。
3. 数值型 整数INT 、小数NUMERIC
在实际应用中,需要考虑的因素是多方面的,因为一旦你创建了一个字段,要修改它是很难的。因此,你应该预测一下,一个字段所需要存储的数值最大是多大,然后根据最大数值来选择适当的数据类型,尽量使用最小的整型数据。虽然看起来一个TINYINT型数据的一个字节和一个INT型数据的四个字节的差别不大,但是如果你的数据表很大的话,字节数的增长也是很快的。
当然为了方便对存放的数据有更多的控制,你也可以使用NUMERIC型数据来同时表示一个数的整数部分和小数部分。NUMERIC型数据所能表示的数比INT型数据要大的多,可以存储从-1038到1038范围内的数,而且还使你能表示有小数部分的数。
如果你是用来来存储钱数的话,你可以使用 INT型或NUMERIC型数据,也可以使用专门用来表示钱数的两种数据类型。如果你希望挣很多钱,并且不介意储存空间的话,你可以使用MONEY型数据。如果你的野心不大,你可以使用SMALLMONEY型数据。SMALLMONEY型数据只能存储从-214,748.3648到214,748.3647 的钱数。MONEY型数据可以存储从-922,337,203,685,477.5808到922,337,203,685,477.5807的钱数。如果你需要存储比这还大的金额,你可以使用NUMERIC型数据。
4. 逻辑型 BIT
如果你从网页中搜集信息只包含两个选项,你可以把此信息存储在BIT型字段中。BIT型字段只能取两个值:0或1。另外,
5. 日期型 DATETIME VS SMALLDATETIME
一个 DATETIME型的字段可以存储的日期范围是从1753年1月1日第一毫秒到9999年12月31日最后一毫秒。
如果你不需要,你可以使用SMALLDATETIME型数据。它能表示的日期和时间范围比DATETIME型数据小,而且不如DATETIME型数据精确。一个SMALLDATETIME型的字段能够存储从1900年1月1日到2079年6月6日的日期,它只能精确到秒。
版权声明:
作者:崔圣杰
链接:https://www.cuishengjie.com/50.html
来源:论剑阁-崔圣杰博客
文章版权归作者所有,未经允许请勿转载。


共有 0 条评论