SQL 的一些核心语句

2016-01-29 16:41 2 1 收藏

SQL 的一些核心语句,SQL 的一些核心语句

【 tulaoshi.com - SQLServer 】

插入数据

向表中添加一个新记录,你要使用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语句。这部分内容对本书来说太高级了,因此不加讨论。要了解更多的信息,请参考Microsoft SQL Sever 的文档。

如果你在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的值。


删除记录
要从表中删除一个或多个记录,需要使用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快得多。

更新记录
要修改表中已经存在的一条或多条记录,应使用SQL UPDATE语句。同DELETE

来源:https://www.tulaoshi.com/n/20160129/1499309.html

延伸阅读
标签: SQLServer
  关于SQL SERVER的一些安全问题 BY XUNDI<安全焦点 xundi1@21cn.com www.xfocus.org 目前关于NT服务器的入侵,有很多种方法,如对IIS的漏洞进行利用,但 大家不知道注意到没有,其实通过与NT服务器相关联的SQL数据库服务器 的例子也是很有比例的一种手段。大家可以参看下面的一个新闻报道: http://www.vnunet.com/News/1110938。 H...
Microsoft included several hundred stored procedures in the various versions of Microsoft SQL Server and it has documented a good percentage of them. But many stored procedures remain undocumented. Some are used within the Enterprise Manager GUI in SQL 2000 and were not intended to be used by other processes. Microsof...
面包屑导航是目前主流的网站导航设计方式,无论是大网站还是小网站,都乐此不疲的使用它,本文将为您介绍关于面包屑导航的类型,关键词优化,与google,实践等相关内容。 当我们分析一个网站可用性的时候,必定会考虑到面包屑。对于用户来说,面包屑几乎是一个透明的玩意儿,有谁会仔细观察那些页面左上方的导航链接呢?是的,没人在意,但却也...
标签: SQLServer
  举个例子,设表名为bbs 回复数的字段为renum 变量名$renum 记录序号字段为id 变量名$id   当我们在论坛回贴时会要改写主贴的回复数,传统的方法要用到到两句SQL语句: //取出原值 $query1="select renum bbs where id = '$id'"; …… $renum++; //写回数据库 $query2="update bbs set renum = '$renum'...
编者:如何保障windows系统的安全,是我们一直在关注的问题;我们有专门的专题对这个话题进行讨论。 这篇文章讲的虽然是很多已被人所熟知的攻击技巧,但是收集起来展示可以让我们对于SQL Server的安全配置有更好的认识,毕竟所有人都知道的漏洞就称不上是漏洞,最要命的是所有人都知道这个漏洞,惟独就你不知道,这样无疑是非常危险的...

经验教程

290

收藏

91
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部