网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 交易代码 > SQL语法 > 正文

sql意义

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务
sql
    开放分类:数据库、互联网、oracle、SQL
    SQL全称是“结构化查询语言(StructuredQueryLanguage)”,最早的是IBM的圣约瑟研究实验室为其关系数据库管理系统SYSTEMR开发的一种查询语言,它的前身是SQUARE语言。SQL语言结构简洁,功能强大,简单易学,所以自从IBM公司1981年推出以来,SQL语言,得到了广泛的应用。如今无论是像Oracle,Sybase,Informix,SQLserver这些大型的数据库管理系统,还是像VisualFoxporo,PowerBuilder这些微机上常用的数据库开发系统,都支持SQL语言作为查询语言。
    SQL是高级的非过程化编程语言,允许用户在高层数据结构上工作。他不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统可以使用相同的SQL语言作为数据输入与管理的接口。它以记录集合作为操纵对象,所有SQL语句接受集合作为输入,返回集合作为输出,这种集合特性允许一条SQL语句的输出作为另一条SQL语句的输入,所以SQL语言可以嵌套,这使他具有极大的灵活性和强大的功能,在多数情况下,在其他语言中需要一大段程序实现的一个单独事件只需要一个SQL语句就可以达到目的,这也意味着用SQL语言可以写出非常复杂的语句。
    SQL同时也是数据库文件格式的扩展名。
    SQL语言包含4个部分:
    数据查询语言(SELECT语句)
    数据操纵语言(INSERT,UPDATE,DELETE语句)
    数据定义语言(如CREATE,DROP等语句)
    数据控制语言(如COMMIT,ROLLBACK等语句)
    取自"zh.wikipedia.org/wiki/SQL"
    SQL(STructuredQueryLanguage)是一种资料库查询和程式设计语言,用於存取资料以及查询、更新和管理关联式资料库系统。美国国家标准局(ANSI)与国际标准化组织(ISO)已经制定了SQL标准。ANSI是一个美国工业和商业集团组织,发展美国的商务和通讯标准。ANSI同时也是ISO和InternationalElectrotechnicalCommission(IEC)的成员之一。ANSI发布与国际标准组织相应的美国标准。1992年,ISO和IEC发布了SQL的国际标准,称为SQL-92。ANSI随之发布的相应标准是ANSISQL-92。ANSISQL-92有时被称为ANSISQL。尽管不同的关联式资料库使用的SQL版本有一些差异,但大多数都遵循ANSISQL标准。SQLServer使用ANSISQL-92的扩展集,称为T-SQL,其遵循ANSI制定的SQL-92标准。
    SQL语言包括两种主要程式设计语言类别的陈述式:资料定义语言(DDL)与资料操作语言(DML)。下面我们将介绍这两类语言。
    DDL
    
    DDL用於定义和管理物件,例如资料库、资料表以及检视表(第18章将会解释何谓检视表)。DDL陈述式通常包括每个物件的CREATE、ALTER以及DROP命令。举例来说,CREATETABLE、ALTERTABLE以及DROPTABLE这些陈述式便可以用来建立新资料表、修改其属性(如新增或删除资料行)、删除资料表等,下面我们会一一介绍。
    CREATETABLE陈述式
    
    使用DDL在MyDB资料库建立一个名为Customer_Data的范例资料表,本章后面的例子我们会使用到这个资料表。如前所述,CREATETABLE陈述式可以用来建立资料表。这个范例资料表被定义成四个资料行,如下所示:
    UseMyDB
    CREATETABLECustomer_Data
    (customer_idsmallint,
    first_namechar(20),
    last_namechar(20),
    phonechar(10))
    GO
    这个陈述式能产生Customer_Data资料表,这个资料表会一直是空的直到资料被填入资料表内。
    ALTERTABLE陈述式
    
    ALTERTABLE陈述式用来变更资料表的定义与属性。在下面的例子中,我们利用ALTERTABLE在已经存在的Customer_Data资料表中新增middle_initial资料行。
    ALTERTABLECustomer_Data
    ADDmiddle_initialchar(1)
    GO
    现在资料表的定义包括了五个资料行,而不是之前的四个资料行。关於使用ALTERTABLE的更多细节,请参阅第15章。
    DROPTABLE陈述式
    
    DROPTABLE陈述式用来删除资料表定义以及所有的资料、索引、触发程序、条件约束以及资料表的权限。要删除我们的Customer_Data资料表,可利用下列命令:
    DROPTABLECustomer_Data
    GO
    关於DROPTABLE陈述式的详细内容,请参阅第15章。
    DML
    
    DML利用INSERT、SELECT、UPDATE及DELETE等陈述式来操作资料库物件所包含的资料。
    INSERT陈述式
    
    INSERT陈述式用来在资料表或检视表中插入一列资料。例如,如果要在Customer_Data资料表中新增一个客户,可使用类似以下的INSERT陈述式:
    INSERTINTOCustomer_Data
    (customer_id,first_name,last_name,phone)
    VALUES(777,"Frankie","Stein","4895873900")
    请注意SQL陈述式中第二行的资料行名称清单,清单上资料行名称的次序决定了资料数值将被放在哪个资料行。举例来说,第一个资料数值将被放在清单列出的第一个资料行customer_id、第二个资料数值放在第二个资料行,依此类推。由于我们在建立资料表时,定义资料资料行填入数值的次序与现在相同,因此我们不必特意指定栏位名称。我们可以用以下的INSERT陈述式代替:
    INSERTINTOCustomer_Data
    VALUES(777,"Frankie","Stein","4895873900")
    注意
    如果使用这种形式的INSERT陈述式,但被插入的数值次序上与建立资料表时不同,数值将被放入错误的资料行。如果资料的型别与定义不符,则会收到一个错误讯息。
    --------------------------------------------------------------------------------
    SELECT陈述式
    
    SELECT陈述式用来检索资料表中的资料,而哪些资料被检索由列出的资料行与陈述式中的WHERE子句决定。例如,要从之前建立的Customer_Data资料表中检索customer_id以及first_name资料行的资料,并且只想取出每列中first_name资料行值为Frankie的资料,那麼可以利用以下的SELECT陈述式:
    SELECTcustomer_id,first_nameFROMCustomer_Data
    WHEREfirst_name="Frankie"
    如果有一列符合SELECT陈述式中的标准,则结果将显示如下:
    customer_idfirst_name
    -------------------------
    777Frankie
    UPDATE陈述式
    
    UPDATE陈述式用来更新或改变一列或多列中的值。例如,一位名称为FrankieStein的客户想要在记录中改变他的姓氏为Franklin,可使用以下UPDATE陈述式:
    UPDATECustomer_Data
    SETfirst_name="Franklin"
    WHERElast_name="Stein"andcustomer_id=777
    我们在WHERE子句中加入customer_id的项目来确定其他名称为Stein的客户不会被影响-只有customer_id为777的客户,姓氏会有所改变。
    --------------------------------------------------------------------------------
    说明
    当您使用UPDATE陈述式时,要确定在WHERE子句提供充分的筛选条件,如此才不会不经意地改变了一些不该改变的资料。
    --------------------------------------------------------------------------------
    DELETE陈述式
    
    DELETE陈述式用来删除资料表中一列或多列的资料,您也可以删除资料表中的所有资料列。要从Customer_Data资料表中删除所有的列,您可以利用下列陈述式:
    DELETEFROMCustomer_Data
    或
    DELETECustomer_Data
    资料表名称前的FROM关键字在DELETE陈述式中是选择性的。除此之外,这两个陈述式完全相同。
    要从Customer_Data资料表中删除customer_id资料行的值小於100的列,可利用下列陈述式:
    DELETEFROMCustomer_Data
    WHEREcustomer_id&;lt;100
    现在我们已经快速浏览了SQL提供的DDL与DML陈述式,接著,下面将介绍T-SQL。
    SQL中的五种数据类型
    简要描述一下SQL中的五种数据类型:字符型,文本型,数值型,逻辑型和日期型
    字符型
    VARCHARVSCHAR
    VARCHAR型和CHAR型数据的这个差别是细微的,但是非常重要。他们都是用来储存字符串长度小于255的字符。
    假如你向一个长度为四十个字符的VARCHAR型字段中输入数据BIllGAtES。当你以后从这个字段中取出此数据时,你取出的数据其长度为十个字符——字符串BillGates的长度。现在假如你把字符串输入一个长度为四十个字符的CHAR型字段中,那么当你取出数据时,所取出的数据长度将是四十个字符。字符串的后面会被附加多余的空格。
    当你建立自己的站点时,你会发现使用VARCHAR型字段要比CHAR型字段方便的多。使用VARCHAR型字段时,你不需要为剪掉你数据中多余的空格而操心。
    VARCHAR型字段的另一个突出的好处是它可以比CHAR型字段占用更少的内存和硬盘空间。当你的数据库很大时,这种内存和磁盘空间的节省会变得非常重要
    文本型
    TEXT
    使用文本型数据,你可以存放超过二十亿个字符的字符串。当你需要存储大串的字符时,应该使用文本型数据。
    注意文本型数据没有长度,而上一节中所讲的字符型数据是有长度的。一个文本型字段中的数据通常要么为空,要么很大。
    当你从HTMLfORM的多行文本编辑框(TEXTAREA)中收集数据时,你应该把收集的信息存储于文本型字段中。但是,无论何时,只要你能避免使用文本型字段,你就应该不适用它。文本型字段既大且慢,滥用文本型字段会使服务器速度变慢。文本型字段还会吃掉大量的磁盘空间。
    一旦你向文本型字段中输入了任何数据(甚至是空值),就会有2K的空间被自动分配给该数据。除非删除该记录,否则你无法收回这部分存储空间。
    数值型
    SQL支持许多种不同的数值型数据。你可以存储整数INT、小数NUMERIC、和钱数MONEY。
    INTVSSMALLINTVSTINYINT
    他们的区别只是字符长度:
    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型字段时,你需要同时指定整数部分的大小和小数部分的大小。如:MUNERIC(23,0)
    一个NUMERIC型数据的整数部分最大只能有28位,小数部分的位数必须小于或等于整数部分的位数,小数部分可以是零。
    MONEYVSSMALLMONEY
    你可以使用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。
    当心,在你创建好一个表之后,你不能向表中添加BIT型字段。如果你打算在一个表中包含BIT型字段,你必须在创建表时完成。
    日期型
    DATETIMEVSSMALLDATETIME
    一个DATETIME型的字段可以存储的日期范围是从1753年1月1日第一毫秒到9999年12月31日最后一毫秒。
    如果你不需要覆盖这么大范围的日期和时间,你可以使用SMALLDATETIME型数据。它与DATETIME型数据同样使用,只不过它能表示的日期和时间范围比DATETIME型数据小,而且不如DATETIME型数据精确。一个SMALLDATETIME型的字段能够存储从1900年1月1日到2079年6月6日的日期,它只能精确到秒。
    
  • 上一篇资讯: SQL打印(1)
  • 下一篇资讯: sql性能调整
  • 设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
    版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师