初学SQLServer大数据库地一些常用操作总结材料_第1页
初学SQLServer大数据库地一些常用操作总结材料_第2页
初学SQLServer大数据库地一些常用操作总结材料_第3页
初学SQLServer大数据库地一些常用操作总结材料_第4页
初学SQLServer大数据库地一些常用操作总结材料_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

1、 初学SQL Server数据库的一些常用操 作总结 对于初学者来说,SQL Server数据库的学习似乎有一定的难度。本文我们主要对 SQL Server数据库的一些常用操作进行了总结,希望能够对初学者有所帮助。 1增加字段 1. alter table docdsp 2. add dspcode char(200) 2删除字段 1. ALTER TABLE table_NAME DROP COLUMN column_NAME 3. 修改字段类型 1. ALTER TABLE table_ name 2. ALTER COLUMN column_ name new_data_type 4.

2、sp_re name改名 更改当前数据库中用户创建对象(如表、列或用户定义数据类型)的名称。 语法: 1. sp_re name objn ame = object_ name, 2. newname = new_name 3. , objtype = object_type 如: 1. EXEC sp_rename 2. newname,PartStock 5. sp_help 显示表的一些基本情况 1. sp_help object_name 2. 如: 3. EXEC sp_help 4. PartStock 6. 判断某一表 PartStock 中字段 PartVelocity 是否存

3、在 1. if exists (select * from syscolumns where id=object_id(PartStock) and nam e=PartVelocity) 2. print PartVelocity exists 3. else print PartVelocity not exists 另法: 你的表名 判断表的存在性: 1. select count(*) from sysobjects where type=U and name= 判断字段的存在性: 1. select count(*) from syscolumns 2. where id 3. =

4、(select id from sysobjects where type=U and name=你的表名 ) 4. and name = 你要判断的字段名 7. 随机读取若干条记录 Access 语法: SELECT top 10 * From表名 ORDER BY Rnd(id) Sql server : select top n * from表名 order by newid() mysql : select * From 表名 Order By rand() Limit n 8. 说明:日程安排提前五分钟提醒 select * from 日程安排 where datediff(minu

5、te,f 开始时间 ,getdate()5 9. 前 10 条记录 select top 10 * form table1 where范围 10. 包括所有在 TableA 中但不在 TableB 和 TableC 中的行并消除所有重复行而派生出 一个结果表 (select a from tableA ) except (select a from tableB) except (select a from tableC) 11. 说明:随机取出 10 条数据 select top 10 * from tablename order by newid() 12. 列出数据库里所有的表名 sel

6、ect name from sysobjects where type=U 13. 列出表里的所有的字段名 select name from syscolumns where id=object_id(TableName) 14. 说明:列示 type 、vender 、 pcs 字段,以 type 字段排列, case 可以方便 地实现多重选择,类似 select 中的 case 。 1. select type,sum(case vender when A then pcs else 0 end),sum(cas e vender when C then pcs else 0 end),

7、2. sum(case vender when B then pcs else 0 end) FROM tablename g roup by type 15. 说明:初始化表 table1 TRUNCATE TABLE table1 16. 说明:几个高级查询运算词 A: UNION 运算符 UNION 运算符通过组合其他两个结果表(例如 TABLE1和TABLE2)并消去 表中任何重复行而派生出一个结果表。当 ALL 随 UNION 一起使用时(即 UNION ALL ),不消除重复行。两种情况下, 派生表的每一行不是来自 TABLE1 就是来自 TABLE2。 B: EXCEPT 运算符

8、 EXCEPT 运算符通过包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所 有重复行而派生出一个结果表。 当 ALL 随 EXCEPT 一起使用时 (EXCEPT ALL), 不消除重复行。 C: INTERSECT 运算符 INTERSECT 运算符通过只包括 TABLE1 和 TABLE2 中都有的行并消除所有 重复行而派生出一个结果表。 当 ALL 随 INTERSECT 一起使用时 (INTERSECT ALL),不消除重复行。 注:使用运算词的几个查询结果行必须是一致的。 17. 说明:在线视图查询 (表名 1:a ) select * from (SELECT a,

9、b,c FROM a) T where t.a 1; 18. 说明: between 的用法 ,between 限制查询数据范围时包括了边界值 ,not between 不包括 1. select * from table1 where time between time1 and time2 2. select a,b,c, from table1 where a not between数值 1 and 数值 2 19. 说明: in 的使用方法 select * from table1 where a not in ( 值 1,值 2 ,值 4,值 6) 20. 说明:两张关联表,删除主表

10、中已经在副表中没有的信息 delete from table1 where not exists ( select * from table2 where table1.field1=table2.field1 ) 21. 说明:复制表 (只复制结构 ,源表名: a 新表名: b) (Access 可用) 法一: select * into b from a where 11 法二: select top 0 * into b from a 22. 说明:拷贝表 ( 拷贝数据 ,源表名: a 目标表名: b) (Access 可用) insert into b(a, b, c) select

11、d,e,f from b; 23. 说明:跨数据库之间表的拷贝 (具体数据使用绝对路径 ) (Access 可用) insert into b(a, b, c) select d,e,f from b in具体数据库 where 条件 例子: .from b in 2. 在没有 WITH CHECK OPTION 和 READ ONLY 的情况下, 查询中不能使用 ORDER BY 子句; 3. 如果没有为 CHECK OPTION 约束命名,系统会自动为之命名,形式为 SYS_Cn; 4. OR REPLACE 选项可以不删除原视图便可更改其定义并重建,或重新授予对 象权限。 视图上 DML

12、 操作应遵循的原则: 1. 简单视图可以执行 DML 操作; 2. 在视图包含 GROUP 函数, GROUP BY 子句, DISTINCT 关键字时不能删除 数据行; 3. 在视图不出现下列情况时可通过视图修改基表数据或插入数据: a.视图中包含GROUP函数,GROUP BY子句,DISTINCT关键字; b .使用表达式定义的列 c. ROWNUM 伪列 d. 基表中未在视图中选择的其他列定义为非空且无默认值 视图的删除: DROP VIEW VIEW_NAME 删除视图的定义不影响基表中的数据。只有视图所有者和具备 DROP VIEW 权 限的用户可以删除视图。 视图被删除后, 基于

13、被删除视图的其他视图或应用将无 效。 系统视图数据字典表 Dba_views DBA 视图, All_views 所有视图, User_views 当前用户视图 4.2 同义词 定义: 是指向其它数据库表的数据库指针。 类型: 私有 (private) 私有的同义词是在指定的模式中创建并且只创建者使用的模式访 问 公共 (public) 公共同义词是由 public 指定的模式访问所有数据库模式 (用户)都 可以访问它 创建: CREATE PUBLIC SYNONYM table_name FOR user.table_name 其中: PUBLIC 创建公共同义词 删除: DROP PUB

14、LIC SYNONYM table_name 其中: PUBLIC 创建公共同义词 系统同义词数据字典表 Dba_synonyms 公共同义词 , all_synonyms 所有视图 ,user_synonyms 当前 用户同义词 4.3 序列 定义: 序列是用于产生唯一数码的数据库对象,序列创建时带有 初始值,增量值,最 大值等,最大可达 38 位整数。 格式: create sequence start with increment by maxvalue 值 minvalue 值 cycle 当到达最大值的时候,将继续从头开始 Nocycle 一直累加,不循环 Cache 应用: NEX

15、TVAL :第一次返回的是初始值,往后递加 CURRVAL :返回当前序列中 系统序列数据字典表 Dba_sequences ALL_sequences user_sequences 删除: drop sequence 序列名称 修改: ALTER SEQUENCE 只有序列的所有者或者有 ALTER ANY SEQUENCE 权限才能改动序列 . 可以 alter 除 start 至以外的所有 sequence 参数 .如果想要改变 start 值,必须删除序 列后重建序列。 5.安全管理 创建配置文件: Create profile 文件名 limit FAILED_LOGIN_ATTEM

16、PTS :指定锁定用户的登录失败次数 PASSWORD_LOCK_TIME :指定用户被锁定天数 PASSWORD_LIFE_TIME :指定口令可用天数 PASSWORD_REUSE_TIME :指定在多长时间内口令不能重用 PASSWORD_REUSE_MAX :指定在重用口令前口令需要改变的次数 SESSIONS_PER_USER限制用户并发会话个数 CPU_PER_SESSION:限制会话所占用的CPU时间(百分之一秒) CPU_PER_CALL:限制每次调用所占用的 CPU时间(百分之一秒) CONNECT_TIME :限制会话的总计连接时间(分钟) IDLE_TIME :限制会话的

17、空闲时间(分钟); 用户创建: CREATE USER 用户名 IDENTIFIED BY 密码 DEFAULT TABLESPACE 表空间名 TEMPORARY TABLESPACE 临时表空间名 PROFILE provile 文件名 QUOTA 限制空间大小 ON 表空间名 删除用户 DORP USER 用户名 CASCADE 其中 CASCADE 用户实体马上被删除,应再进入数据文件进行物理删除,当前 连接的用户不得删除 用户修改: ALTER USER 用户名IDENTIFIED BY 密码 ACCOUNT UNLOCK/LOCK账户锁定及解锁 创建角色: CREATE ROLE 角色名 删除角色 DROP ROLE角色名 撤销权限: REVOKE 角色权限 FROM 用户名角色 授权命令: GRANT 角色权限 TO 用户名

温馨提示

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

评论

0/150

提交评论