SQL_server基础语句解析.docx_第1页
SQL_server基础语句解析.docx_第2页
SQL_server基础语句解析.docx_第3页
SQL_server基础语句解析.docx_第4页
免费预览已结束,剩余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 table 表名 (.) create table Persons (ID int primary key not null, Name varchar(50) not null, Sex varchar(10)not null, Age int not null Address varchar) *自增identity(开始量,自增数) 2、删除一个表:drop table 表名 3、向表里添加信息: insert into 表名 (.) values (.) 4、查看结果 select (要查看的信息) from 表名 * distinct 用于返回唯一不同的值。 5、修改信息 update 表名 set 列名 = 修改的信息 where 限制 6、删除一个内容delete from 表名 where 条件*选择唯一不同的值,select distinct语句。*order by 语句默认按照升序对记录进行排序。 如果需要逆序,需要在结尾加上desc。 select * from 表名 order by 列名(升序) select * from 表名 order by 列名 desc (逆序)*top 的用法,大多数是用在大型数据的时候。便于选择数据出来。 比如说选择一个表中的%50数据出来。 select top 50 percent * from 表名 选择一个表中的前两条记录 select top 2 * from 表名*like 操作符主要用在where子句中搜索列中的指定模式。 % 替代一个或多个字符 _ 仅替代一个字符 charlist 字符列中的任何单一字符 !charlist 不在字符列中的任何单一字符 select * from 表名 where 列名 like %.*in 操作符允许我在where子句中规定多个值 select * from 表名 where 列名 in (. ,.)*between . and 用于where子句中,主要作用是选择介于两者之间的信息。 显示范围之外的信息,需要在 between 前面加 not。 select * from 表名 where 列名 between .(含) and .(含)范围 select * from 表名 where 列名 not between .(含) and .(含) 范围之外*join 用于两个或者多个表中的之间的关系,从这些表中查询数据。 inner join: 如果表中有至少一个匹配,则返回行 left join: 即使右表中没有匹配,也从左表返回所有的行 right join: 即使左表中没有匹配,也从右表返回所有的行 full join: 只要其中一个表中存在匹配,就返回行 select 列名(要查找的数据) from 左表名 inner join 右表名 on 两表中的 联系用“=”号连接。*删除列表 alter table 表名 drop column 列名*主键 primary key*外键 foreign key 本表外键 references 外表主键in 和 exists也是很好区别的.in 是一个集合运算符.a in a,c,d,s,d.这个运算中,前面是一个元素,后面是一个集合,集合中的元素类型是和前面的元素一样的.而exists是一个存在判断,如果后面的查询中有结果,则exists为真,否则为假.in 运算用在语句中,它后面带的select 一定是选一个字段,而不是select *.比如说你要判断某班是否存在一个名为小明的学生,你可以用in 运算:小明 in (select sname from student)这样(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 表B.id=表A.id)这句相当于select * from 表A where id in (select id from 表B)对于表A的每一条数据,都执行select * from 表B where 表B.id=表A.id的存在性判断,如果表B中存在表A当前行相同的id,则exists为真,该行显示,否则不显示exits适合内小外大的查询,in适合内大外小的查询IN 确定给定的值是否与子查询或列表中的值相匹配。EXISTS 指定一个子查询,检测行的存在。比较使用 EXISTS 和 IN 的查询这个例子比较了两个语义类似的查询。第一个查询使用 EXISTS 而第二个查询使用 IN。注意两个查询返回相同的信息。USE pubs GO SELECT DISTINCT pub_name FROM publishers WHERE EXISTS (SELECT * FROM titles WHERE pub_id = publishers.pub_id AND type = business) GO- Or, using the IN clause:USE pubs GO SELECT distinct pub_name FROM publishers WHERE pub_id IN (SELECT pub_id FROM titles WHERE type = business) GO下面是任一查询的结果集:pub_name - Algodata 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

提交评论