资源预览内容
第1页 / 共24页
第2页 / 共24页
第3页 / 共24页
第4页 / 共24页
第5页 / 共24页
第6页 / 共24页
第7页 / 共24页
第8页 / 共24页
第9页 / 共24页
第10页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
创创建建数数据据库库创建之前判断该数据库是否存在 if exists (select * from sysdatabases where name=databaseName) drop database databaseName go Create DATABASE database-name 删删除除数数据据库库drop database dbname 备备份份 sql server- 创建 备份数据的 device USE master EXEC sp_addumpdevice disk, testBack, c:mssql7backupMyNwind_1.dat - 开始 备份 BACKUP DATABASE pubs TO testBack 创创建建新新表表create table tabname(col1 type1 not null primary key,col2 type2 not null,.) 根据已有的表创建新表: A:go use 原数据库名 go select * into 目的数据库名 .dbo.目的表名 from 原表名(使用旧表 创建新表) B:create table tab_new as select col1,col2 from tab_old definition only 创创建建序序列列create sequence SIMON_SEQUENCE minvalue 1 - 最小值 maxvalue 999999999999999999999999999 最大值 start with 1 开始值 increment by 1 每次加几 cache 20; 删删除除新新表表drop table tabname 增增加加一一个个列列Alter table tabname add column col type 注:列增加后将不能删除。 DB2 中列加上后数据类型也不能改变,唯一 能改变的是增加 varchar 类型的长度。 添添加加主主键键Alter table tabname add primary key(col) 说明:删除主键: Alter table tabname drop primary key(col) 创创建建索索引引create unique index idxname on tabname(col.) 删除索引:drop index idxname on tabname 注:索引是不可更改的,想更改必须删除重新建。 创创建建视视图图create view viewname as select statement 删除视图:drop view viewname 几几个个简简单单的的基基本本的的 sql 语语句句选择:select * from table1 where 范围 插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where 范围 更新:update table1 set field1=value1 where 范围 查找:select * from table1 where field1 like %value1% (所有包含value1这个模式的字符串) -like 的语法很精妙,查资料 ! 排序:select * from table1 order by field1,field2 desc 总数:select count(*) as totalcount from table1 求和:select sum(field1) as sumvalue from table1 平均:select avg(field1) as avgvalue from table1 最大:select max(field1) as maxvalue from table1 最小:select min(field1) as minvalue from table1separator 几几个个高高级级查查询询运运算算词词A: UNION 运算符 UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2) 并消去表中任何重复行而派生出一个结果表。当 ALL 随 UNION 一起使用 时(即 UNION ALL),不消除重复行。两种情况下,派生表的每一行不是来 自 TABLE1 就是来自 TABLE2。 B: EXCEPT 运算符 EXCEPT 运算符通过包括所有在 TABLE1 中但不在 TABLE2 中的行并消 除所有重复行而派生出一个结果表。当 ALL 随 EXCEPT 一起使用时 (EXCEPT ALL),不消除重复行。 C: INTERSECT 运算符 INTERSECT 运算符通过只包括 TABLE1 和 TABLE2 中都有的行并消除 所有重复行而派生出一个结果表。当 ALL 随 INTERSECT 一起使用时 (INTERSECT ALL),不消除重复行。 注:使用运算词的几个查询结果行必须是一致的。 使使用用外外连连接接A、left outer join: 左外连接(左连接):结果集既包括连接表的匹配行,也包括左连接表 的所有行。 SQL: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c B:right outer join: 右外连接(右连接):结果集既包括连接表的匹配连接行,也包括右连接 表的所有行。 C:full outer join: 全外连接:不仅包括符号连接表的匹配行,还包括两个连接表中的所有 记录。 编编辑辑本本段段判判断断对对象象是是否否存存在在判判断断数数据据库库是是否否存存在在if exists (s se el le ec ct t * f fr ro om m sys.databases w wh he er re e n na am me e = 数据库名) d dr ro op p d da at ta ab ba as se e 数据库名 判判断断表表是是否否存存在在if not exists (select * from sysobjects where name = 表名 and xtype=U) begin -这里创建表 end 判判断断存存储储过过程程是是否否存存在在if exists (s se el le ec ct t * f fr ro om m sysobjects w wh he er re e id = object_id(N存储过程名) and OBJECTPROPERTY(id, NIsProcedure) = 1) d dr ro op p p pr ro oc ce ed du ur re e 存储过程名 判判断断临临时时表表是是否否存存在在if object_id(tempdb.#临时表名) i is s not null d dr ro op p t ta ab bl le e #临时表名 判判断断视视图图是是否否存存在在-SQL Server 2000 IF EXISTS (S SE EL LE EC CT T * F FR RO OM M sysviews W WH HE ER RE E object_id = dbo. 视图名 -SQL Server 2005 IF EXISTS (S SE EL LE EC CT T * F FR RO OM M sys.views W WH HE ER RE E object_id = dbo. 视图名 判判断断函函数数是是否否存存在在if exists (s se el le ec ct t * f fr ro om m dbo.sysobjects w wh he er re e id = object_id(Ndbo.函数名) and xtype in (NFN, NIF, NTF) d dr ro op p f fu un nc ct ti io on n dbo.函数名 获获取取用用户户创创建建的的对对象象信信息息S SE EL LE EC CT T n na am me e,id,crdate F FR RO OM M sysobjects w wh he er re e xtype=U /* xtype 的表示参数类型,通常包括如下这些 C = C CH HE EC CK K 约束 D = 默 认值或 D DE EF FA AU UL LT T 约束 F = F FO OR RE EI IG GN N K KE EY Y 约束 L = 日志 FN = 标量函数 IF = 内嵌表函数 P = 存储过程 PK = P PR RI IM MA AR RY Y K KE EY Y 约束(类型是 K) RF = 复制筛选存储过程 S = 系统表 TF = 表函数 TR = 触发器 U = 用 户表 UQ = U UN NI IQ QU UE E 约束(类型是 K) V = 视图 X = 扩展存储过程 */ 判判断断列列是是否否存存在在if exists(s se el le ec ct t * f fr ro om m syscolumns w wh he er re e id=object_id(表名) and n na am me e=列名) a al lt te er r t ta ab bl le e 表名 d dr ro op p c co ol lu um mn n 列名 判判断断列列是是否否自自增增列列if columnproperty(object_id(table),col,IsIdentity)=1 print 自增列 e el ls se e print 不是自增列 S SE EL LE EC CT T * F FR RO OM M sys.columns W WH HE ER RE E object_id=OBJECT_ID(表名) AND is_identity=1 判判断断表表中中是是否否存存在在索索引引if exists(s se el le ec ct t * f fr ro om m sysindexes w wh he er re e id=object_id(表名) and n na am me e=索引名) print 存在 e el ls se e print 不存在 查查看看数数据据库库中中对对象象S SE EL LE EC CT T * F FR RO OM M sys.sysobjects W WH HE ER RE E n na am me e=对象名 编编辑辑本本段段提提升升复复制制表表(只复制结构,源表名:a 新表名:b) (Access 可用) 法一:select * into b from a where 15 一一条条 sql 语语句句搞搞定定数数据据库库分分页页select top 10 b.* from (select top 20 主键字段,排序字段 from 表名 order by 排序字段 desc) a,表名 b where b.主键字段 = a.主键 字段 order by a.排序字段 前前 10 条条记记录录select top 10 * form table1 where 范围 选选择择排排名名选择在每一组 b 值相同的数据中对应的 a 最大的记录的所有信息 (类似 这样的用法可以用于论坛每月排行榜 ,每月热销产品分析 ,按
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号