SQL_server基础语句解析_第1页
SQL_server基础语句解析_第2页
SQL_server基础语句解析_第3页
SQL_server基础语句解析_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、select - 从数据库表中获取数据update - 更新数据库表中的数据delete - 从数据库表中删除数据insert into - 向数据库表中插入数据create database - 创建新数据库create table - 创建新表create index - 创建索引(搜索键)alter table - 变更(改变)数据库表alter database - 修改数据库drop table - 删除表drop index - 删除索引SQL server 在编写时,对大小写不敏感。在语句的后面不用加分号。1、创建一个表:(ID(主键)、姓名、性别、年龄、住址)create ta

2、ble 表名 ( )create table Persons (ID int primary key not null,Name varchar(50) not null, Sex varchar( 10) not null , Age int not nullAddress varchar)*自增 identity( 开始量,自增数)2、删除一个表:drop table 表名3、向表里添加信息:insert into 表名 () values ()4、查看结果select (要查看的信息) from 表名* distinct 用于返回唯一不同的值。5、修改信息update 表名 set 列名

3、 = 修改的信息where 限制6、删除一个内容delete from 表名 where 条件* 选择唯一不同的值,select distinct 语句。*order by 语句默认按照升序对记录进行排序。如果需要逆序,需要在结尾加上desc。select top 的用法,大多数是用在大型数据的时候。便于选择数据出来。 from 表名order by 列名(升序)select * from 表名order by 列名desc (逆序)比如说选择一个表中的%50 数据出来。select top 50 percent 删除列表alter table 表名 drop column 列名 主键prim

4、ary key* 外键foreign key 本表外键references 外表主键 from 表名选择一个表中的前两条记录select top 2 * from 表名*like 操作符主要用在where 子句中搜索列中的指定模式。%替代一个或多个字符_仅替代一个字符charlist字符列中的任何单一字符! charlist不在字符列中的任何单一字符select * from 表名where 列名like %.*in 操作符允许我在where 子句中规定多个值select * from 表名where 列名in ( . , .)*between . and 用于 where 子句中,主要作用是

5、选择介于两者之间的信息。显示范围之外的信息,需要在between 前面加 not。select * from 表名 where 列名 between .( 含 ) and .(含)范围 select * from 表名 where 列名 not between .( 含 ) and .(含 ) 范围之外*join 用于两个或者多个表中的之间的关系,从这些表中查询数据。inner join: 如果表中有至少一个匹配,则返回行left join: 即使右表中没有匹配,也从左表返回所有的行right join: 即使左表中没有匹配,也从右表返回所有的行full join: 只要其中一个表中存在匹配,

6、就返回行select 列名(要查找的数据) from 左表名 inner join 右表名 on 两表中的联系用“ =”号连接。in和exists也是很好区别的.in是 一个集合运算符.a in a,c,d,s,d.这个运算中,前面是一个元素,后面是一个集合,集合中的元素类型是和前面的元 素一样的.而exists是一个存在判断,如果后面的查询中有结果,则exists为真,否则为假.in运算用在语句中,它后面带的select 一定是选一个字段,而不是select *.比如说你要判断某班是否存在一个名为“小明”的学生,你可以用in运算:小明in (select sname from student

7、)这样(select sname from student)返回的是一个全班姓名的集合,in用于判断小明”是否为此集合中的一个数据;同时,你也可以用exists语句:exists (select * from student where sname= 小明)这两个涵数是差不多的,但是由于优化方案的不同,通常NOT EXISTS要比 NOT IN要快,因为NOT EXISTS可以使用结合算法而 NOT IN 就不行了,而 EXISTS则不如IN快,因为这时候IN可能更多的使用结合算法.select * from 表 A where exists(select * from 表 B where i

8、fe B.id= ife A.id)这句相当于select * from 表 A where id in (select id from 表 B)对于表A的每一条数据,都执行select * from 表B where表8履=表人月 的存在 性判断,如果表B中存在表A当前行相同的id,则exists为真,该行显示,否则不显 示exits适合内小外大的查询,in适合内大外小的查询IN确定给定的值是否与子查询或列表中的值相匹配。EXISTS指定一个子查询,检测行的存在。比较使用 EXISTS 和IN的查询这个例子比较了两个语义类似的查询。第一个查询使用EXISTS而第二个查询使用IN。注意两个查询

9、返回相同的信息。USE pubsGOSELECT DISTINCT pub_nameFROM publishersWHERE EXISTS(SELECT *FROM titlesWHERE pub_id = publishers.pub_idAND type = business)GO-Or, using the IN clause:USE pubsGOSELECT distinct pub_nameFROM publishersWHERE pub_id IN(SELECT pub_idFROM titlesWHERE type = business)GO卜面是任一查询的结果集:pub_nameAlgodata Infosystems New Moon Books(2 row(s) affected)exits相当于存在

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论