• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

SQL的基本操作(3.表的相关操作)

发布: 2007-6-21 12:06 | 作者:   | 来源:   | 查看: 17次 | 进入软件测试论坛讨论

领测软件测试网

   
  1.创建表
   (1)用Create Table 命令创建表
   语法:
   Create Table tabl_name
   ({
   }column_name As computed_column_expression
   }
   }[,...n]
   )

   [On {fiegroup | Default}]
   [Textimage_On {fiegroup | Default}]
  
   例子:
   打开cust数据库,创建一个表,该表包含了学生的有关信息,即有学号、姓名、性别、出生日期、籍贯、联系电话、住址和备注信息。
   Use cust
   Create Table students
   (
   number int not null,
   name varchar(10) not null,
   sex char(2) null,
   birthday datetime null,
   hometown varchar(30) null,
   telphone_no varchar(12) null,
   address varchar(30) null,
   others varchar(50) null
   )
   在这个表中number表示学生代号,数据类型为int,不允许为空;name表示学生姓名,数据类型为varchar,长度为10,不允许为空;sex表示学生的性别,数据类型为char,长度为2,允许为空;birthday表示学生的出生日期,数据类型为datetime,允许为空;hometown表示学生的籍贯,数据类型为varchar,长度为30,允许为空;telephone_no表示学生的联系电脑,数据类型为varchar,长度为12,允许为空;address表示学生的住址,数据类型为varchar,长度为30,允许为空;others表示学生的备注信息,长度为50,允许为空。
  
   2.修改表的结构
   (1)使用T-SQL语句增加和删除一个新列
   语法:
   Alter Table table
   {
   ADO
   {[]
   |colun_name As computed_column_expression
   |[]
   }[,...n]
   |Drop
   {Column column
   }[,...n]
   }
  
   例子:打开cust数据库,修改其中的表students的结构,增加一个新字段,字段名为ying,数据类型是varchar,长度是10,没有默认值,充许为空。
   Use cust
   Alter Table students Add ying varchar(10) null
  
   打开cust数据库,修改其中的表students的结构,删除一个字段,字段名为ying。
   Use cust
   Alter Table students Drop Column ying
  
   3.向表中插入数据
   (1)用 Insert 语句
   语法如下:
   Insert [Into]
   {table_name|view_name}[(column_list)]
   {Values|values_list|select_statement}
   注意:在插入数据时,字符数据和日期数据要使用引号引起来。
   例子:
   Use cust
   Insert Into students
   Values (11,"影子","男","1999-12-12","湖北","83779805","武汉市桥口区","VB爱好者")
   打开cust数据库,向students表中插入数据
  
   (2)用Default 选项
   在插入数据时,可以使用Default选项。Default选项有两种形式,一种形式是Default Values,另一种是Default。
   Default Values 形式为表中的某一行的所有列插入默认值。使用这种形式的前提条件是表中的所有列必须是这四种类型之一:Identity属性,Timestamp数据类型,允许为Null,或者有一个指定的默认值。否则,会错误信息。
   例子:
   Use cust
   Insert Into students Default Values
   这个例子会出现错误,因为students表的number字段是设置为不允许为空的。
  
   Default 形式是为表中的某一列插入默认值。要插入的该列必须具备一定的条件,即该列要么是Timestamp 数据类型,要么是允许为Null,要么是有一个指定的默认值,否则,会出现错误信息。
   例子:
   Use cust
   Insert Into students Values(11,"影子",Default,Default,Default,Default,Default,Default)
   由天前2个字段不能为空,所以要赋值,否则会出现错误,而后面的6个字段允许为空,因此可以调用Default默认。
  
   (3)插入部分数据
   在使用Insert语句插入数据是,还可以插入部分数据,也就是可以为每一行的指定的部分列插入数据。在插入部分数据时,应该注意以下三个问题:
   ☆在 Insert 子句中,指定要插入数据的列名。
   ☆在 Values 子句中,列出与列名对应的数据。列名的顺序和数据的顺序应该完全对应。
   ☆在 Insert 子句中,没有列出的列应该至少具有这四种类型之一:Identtty 属性,Timestamp 数据类型,允许为 Null,或者有一个指定的默认值。否则,会出现错误信息。
   例子:
   Use cust
   Insert Into students (number,name)
   Values (110,"影子")
   打开cust数据库,向students表中插入一行数据
   注意:如用下例语句将发生错误,因为name字段是不允许为空的(在创建数据库时设定的)
   Insert Into students (number)
   Values (110)
  
   (4)用 Select 语句插入多条数据
   Insert 语句插入数据的特点是每一次只能插入一行数据。相反,Select 也可以用在 Insert 语句中,并且可以一次插入多条数据。使用 Select 语句插入数据的语法形式如下:
   Insert table_name
   Select column_list
   From table_list
   Where search_conditions
   在使用 Select 语句插入数据时,应该注意下面几点:
   ☆在 Insert 语句中使用 Select 时,他们参考的表既可以是相同的,也可以是不同的。
   ☆要插入数据的表必须已经存在。
   ☆要插入数据的表必须和 Select 的结果集兼容。兼容的含义是列的数量和顺序必须相同,列的数据类型或者相同,或者SQL Server 可以自动转换。
   例子:
   Use cust
   Insert students
   Select number,name,sex,birthday,hometown,telphone_no,address,others
   From students
   注意:
   Select 后面的字段要输完整,这个例子是自己向自己插入多条数据(自己向自己插入是被允许的)
   补充:
   你还可以“From students”后面加上“Where name="影子"”,只插入name等于影子的记录,可以用And 和 Or 加上多个条件。
  
   (5)使用 Select Into 插入数据到一个新表中
   带有 Into 子句的 Select 语句允许用户定义一个新表并且把数据插入到新表中。这种方法不同于前面讲述的那些方法。在前面的那些方法中,一个共同的特点,是在数据输入之前表已经存在。而使用 Select Into 插入数据的方法,是在插入数据的过程中建立新表。
   Select Into 语句的语法如下:
   Select select_list
   Into new_table_name
   From table_list
   Where search_conditions
   在使用 Select Into 插入数据时,要注意下面几点:
   ☆在某个数据库中使用 Select Into 插入数据时,设置该数据库的 Select Into/Bulk Copy 为真。
   ☆新表不能存在,否则会产生错误信息。
   ☆新表中的列和行是基于查询结果集
   ☆要插入的数据不记录在日志中。
   ☆在select_list 中出现的列应该使用别名,否则,新表中的列没有列名。没列名的表只能通过 Select * From new_table_name 的形式查询。因此,应该为列起个别名。
   ☆这种方法多用在对列进行各种计算的情况。
   例子:
   Select number,name
   Into newcust1
   From students
   创建新的表newcust1,插入students表中的number和name字段的所有数据。
   补充:如果要插入所有字段的记录,则“Select *”,也可在“From students”后加条件,方法和上个例子一样。
  
   (6)用 UPdate 语句修改表中的数据
   Update 语句用来修改表中已存在的数据。Update 语句既可以一次修改一行数据,也可以一次修改许多行,甚至可以一次修改表中的全部数据。Update 语句使用 Where 子句指定要修改的行,使用 Set 子句给出新的数据。新数据可以是常量,也可以是指定的表达式,还可以是使用 From 子句来自其他表的数据。
   Update 语句的语法如下:
   Update {table_name|view_name}
   Set {column_list}=expression [,. . .]
   [Where clause]
   在使用 Update 语句时,如果没有使用 Where 子句,那么就对表中所有的行进行修改。如果使用Update 语句修改数据时与数据完整性约束有冲突,那么修改就不会发生,整个修改事务全部滚回。例如,这种冲突可能是所输入的值是错误的数据类型,或者所输入的值违背了在该列定义的规则约束,等等。
   例子:
   Use cust
   Update students
   Set name=name+"007"
   Where number>100
   打开cust数据库,修改students表,使number>100的数据的name的值全部加"007"。
  
   4.用 Delete 语句删除表中的数据
   当数据库中的数据不需要的进修可以删除。一般情况下,删除数据使用 Delete 语句。Delete 语句可以一次

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网