sql的三个首要语句及一点能力
发布时间:2018-08-21 15:50:29 所属栏目:电商 来源:站长网
导读:1.插入数据 (insert) 向表中添加一个新记录,你要行使SQL INSERT 语句。这里有一个怎样行使这种语句的例子: INSERT mytable (mycolumn) VALUES (some data') 这个语句把字符串'some data'插入表mytable的mycolumn字段中。将要被插入数据的字段的名字在
1.插入数据 (insert) 向表中添加一个新记录,你要行使SQL INSERT 语句。这里有一个怎样行使这种语句的例子: INSERT mytable (mycolumn) VALUES (‘some data') 这个语句把字符串'some data'插入表mytable的mycolumn字段中。将要被插入数据的字段的名字在第一个括号中指定,现实的数据在第二个括号中给出。 INSERT 语句的完备句法如下: INSERT [INTO] {table_name|view_name} [(column_list)] {DEFAULT VALUES | Values_list | select_statement} 假如一个表有多个字段,通过把字段名和字段值用逗号离隔,你可以向全部的字段中插入数据。假设表mytable有三个字段first_column,second_column,和third_column。下面的INSERT语句添加了一条三个字段都有值的完备记录: INSERT mytable (first_column,second_column,third_column) VALUES (‘some data','some more data','yet more data') 留意 你可以行使INSERT语句向文本型字段中插入数据。可是,假如你必要输入很长的字符串,你应该行使WRITETEXT语句. 假如你在INSERT 语句中只指定两个字段和数据会怎么样呢?换句话说,你向一个表中插入一条新记录,但有一个字段没有提供数据。在这种环境下,有下面的四种也许: 假如该字段有一个缺省值,该值会被行使。譬喻,假设你插入新记录时没有给字段third_column提供数据,而这个字段有一个缺省值'some value'。在这种环境下,当新记录成立时会插入值'some value'。 假如该字段可以接管空值,并且没有缺省值,则会被插入空值。 假如该字段不能接管空值,并且没有缺省值,就会呈现错误。你会收到错误信息: The column in table mytable may not be null. 最后,假如该字段是一个标识字段,那么它会自动发生一个新值。当你向一个有标识字段的表中插入新记录时,只要忽略该字段,标识字段会给本身赋一个新值。 留意 :向一个有标识字段的表中插入新记录后,你可以用SQL变量@@identity来会见新记录 的标识字段的值。思量如下的SQL语句: INSERT mytable (first_column) VALUES(‘some value') INSERT anothertable(another_first,another_second) VALUES(@@identity,'some value') 假如表mytable有一个标识字段,该字段的值会被插入表anothertable的another_first字段。这是由于变量@@identity老是生涯最后一次插入标识字段的值。 字段another_first应该与字段first_column有沟通的数据范例。可是,字段another_first不能是应该标识字段。Another_first字段用来生涯字段first_column的值。 2.删除记录 要从表中删除一个或多个记录,必要行使SQL DELETE语句。你可以给DELETE 语句提供WHERE 子句。WHERE子句用来选摘要删除的记录。譬喻,下面的这个DELETE语句只删除字段first_column的值便是'Delete Me'的记录: DELETE mytable WHERE first_column='Deltet Me' DELETE 语句的完备句法如下: DELETE [FROM] {table_name|view_name} [WHERE clause] 在SQL SELECT 语句中可以行使的任何前提都可以在DELECT 语句的WHERE子句 中行使。譬喻,下面的这个DELETE语句只删除那些first_column字段的值为'goodbye'或second_column字段的值为'so long'的记录: DELETE mytable WHERE first_column='goodby' OR second_column='so long' 假如你不给DELETE 语句提供WHERE 子句,表中的全部记录都将被删除。你不该该有这种设法。假如你想删除应该表中的全部记录,应行使第十章所讲的TRUNCATE TABLE语句。 留意 为什么要用TRUNCATE TABLE 语句取代DELETE语句?当你行使TRUNCATE TABLE语句时,记录的删除是不作记录的。也就是说,这意味着TRUNCATE TABLE 要比DELETE快得多。 3.更新记录 要修改表中已经存在的一条或多笔记录,应行使SQL UPDATE语句。同DELETE语句一样,UPDATE语句可以行使WHERE子句来选择更新特定的记录。请看这个例子: UPDATE mytable SET first_column='Updated!' WHERE second_column='Update Me!' 这个UPDATE 语句更新全部second_column字段的值为'Update Me!'的记录。对全部被选中的记录,字段first_column的值被置为'Updated!'。 下面是UPDATE语句的完备句法: UPDATE {table_name|view_name} SET [{table_name|view_name}] {column_list|variable_list|variable_and_column_list} [,{column_list2|variable_list2|variable_and_column_list2}... [,{column_listN|variable_listN|variable_and_column_listN}]] [WHERE clause] 留意 你可以对文本型字段行使UPDATE语句。可是,假如你必要更新很长的字符串,应行使UPDATETEXT语句。这部门内容对本书来说太高级了,因此不加接头。要相识更多的信息,请参考Microsoft SQL Sever 的文档。 假如你不提供WHERE子句,表中的全部记录都将被更新。偶然这是有效的。譬喻,假如你想把表titles中的全部书的价值更加,你可以行使如下的UPDATE 语句: 你也可以同时更新多个字段。譬喻,下面的UPDATE语句同时更新first_column,second_column,和third_column这三个字段: UPDATE mytable SET first_column='Updated!' Second_column='Updated!' Third_column='Updated!' WHERE first_column='Update Me1' 能力 SQL忽略语句中多余的空格。你可以把SQL语句写成任何你最轻易读的名目。 用SELECT 建设记录和表 你大概已经留意到,INSERT 语句与DELETE语句和UPDATE语句有一点差异,它一次只操纵一个记录。然而,有一个要领可以使INSERT 语句一次添加多个记录。要作到这一点,你必要把INSERT 语句与SELECT 语句团结起来,象这样: INSERT mytable (first_column,second_column) SELECT another_first,another_second FROM anothertable WHERE another_first='Copy Me!' 这个语句从anothertable拷贝记录到mytable.只有表anothertable中字段another_first的值为'Copy Me!'的记录才被拷贝。 当为一个表中的记录成立备份时,这种情势的INSERT 语句长短常有效的。在删除一个表中的记录之前,你可以先用这种要领把它们拷贝到另一个表中。 假如你必要拷贝整个表,你可以行使SELECT INTO 语句。譬喻,下面的语句建设了一个名为newtable的新表,该表包括表mytable的全部数据: SELECT * INTO newtable FROM mytable 你也可以指定只有特定的字段被用来建设这个新表。要做到这一点,只需在字段列表中指定你想要拷贝的字段。其它,你可以行使WHERE 子句来限定拷贝到新表中的记录。下面的例子只拷贝字段second_columnd的值便是'Copy Me!'的记录的first_column字段。 SELECT first_column INTO newtable FROM mytable WHERE second_column='Copy Me!' 行使SQL修改已经成立的表是很坚苦的。譬喻,假如你向一个表中添加了一个字段,没有轻易的步伐往复除它。其它,假如你不警惕把一个字段的数据范例给错了,你将没有步伐改变它。可是,行使本节中报告的SQL语句,你可以绕过这两个题目。 譬喻,假设你想从一个表中删除一个字段。行使SELECT INTO 语句,你可以建设该表的一个拷贝,但不包括要删除的字段。这使你既删除了该字段,又保存了不想删除的数据。 假如你想改变一个字段的数据范例,你可以建设一个包括正确数据范例字段的新表。建设好该表后,你就可以团结行使UPDATE语句和SELECT 语句,把原本表中的全部数据拷贝到新表中。通过这种要领,你既可以修改表的布局,又能生涯原有的数据。 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |