版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、初学SQL Server数据库的一些常用操 作总结对于初学者来说,SQL Server数据库的学习似乎有一定的难度。本文我们主要对 SQLServer数据库的一些常用操作进行了总结,希望能够对初学者有所帮助。1增加字段1. alter table docdsp2. add dspcode char(200)2删除字段1. ALTER TABLE table_NAME DROP COLUMN column_NAME3. 修改字段类型1. ALTER TABLE table_ name2. ALTER COLUMN column_ name new_data_type4. sp_re name改名
2、更改当前数据库中用户创建对象(如表、列或用户定义数据类型)的名称。语法:1. sp_re name objn ame = 'object_ name',2. newname = 'new_name'3. , objtype = 'object_type' 如:1. EXEC sp_rename2. 'newname','PartStock'5. sp_help 显示表的一些基本情况1. sp_help 'object_name'2. 如:3. EXEC sp_help4. 'PartStoc
3、k'6. 判断某一表 PartStock 中字段 PartVelocity 是否存在1. if exists (select * from syscolumns where id=object_id('PartStock') and name='PartVelocity')2. print 'PartVelocity exists'3. else print 'PartVelocity not exists'另法:你的表名判断表的存在性:1. select count(*) from sysobjects where ty
4、pe='U' and name='判断字段的存在性:1. select count(*) from syscolumns2. where id3. = (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
5、by newid()mysql : select * From 表名 Order By rand() Limit n8. 说明:日程安排提前五分钟提醒select * from 日程安排 where datediff(minute,f 开始时间 ,getdate()>59. 前 10 条记录select top 10 * form table1 where范围10. 包括所有在 TableA 中但不在 TableB 和 TableC 中的行并消除所有重复行而派生出一个结果表(select a from tableA ) except (select a from tableB) exce
6、pt (select a from tableC)11. 说明:随机取出 10 条数据select top 10 * from tablename order by newid()12. 列出数据库里所有的表名select name from sysobjects where type=U13. 列出表里的所有的字段名select name from syscolumns where id=object_id(TableName)14. 说明:列示 type 、vender 、 pcs 字段,以 type 字段排列, case 可以方便 地实现多重选择,类似 select 中的 case 。1
7、. select type,sum(case vender when A then pcs else 0 end),sum(case vender when C then pcs else 0 end),2. sum(case vender when B then pcs else 0 end) FROM tablename group by type15. 说明:初始化表 table1TRUNCATE TABLE table116. 说明:几个高级查询运算词A: UNION 运算符UNION 运算符通过组合其他两个结果表(例如 TABLE1和TABLE2)并消去表中任何重复行而派生出一个结果
8、表。当 ALL 随 UNION 一起使用时(即UNION ALL ),不消除重复行。两种情况下, 派生表的每一行不是来自 TABLE1就是来自 TABLE2。B: EXCEPT 运算符EXCEPT 运算符通过包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所 有重复行而派生出一个结果表。 当 ALL 随 EXCEPT 一起使用时 (EXCEPT ALL), 不消除重复行。C: INTERSECT 运算符INTERSECT 运算符通过只包括 TABLE1 和 TABLE2 中都有的行并消除所有 重复行而派生出一个结果表。 当 ALL 随 INTERSECT 一起使用时 (INTER
9、SECT ALL),不消除重复行。注:使用运算词的几个查询结果行必须是一致的。17. 说明:在线视图查询 (表名 1:a )select * from (SELECT a,b,c FROM a) T where t.a > 1;18. 说明: between 的用法 ,between 限制查询数据范围时包括了边界值 ,not between 不包括1. select * from table1 where time between time1 and time22. select a,b,c, from table1 where a not between数值 1 and 数值 219.
10、 说明: in 的使用方法select * from table1 where a not in (值 1','值 2 ','值 4','值 6')20. 说明:两张关联表,删除主表中已经在副表中没有的信息delete from table1 where not exists ( select * from table2 wheretable1.field1=table2.field1 )21. 说明:复制表 (只复制结构 ,源表名: a 新表名: b) (Access 可用) 法一: select * into b from a whe
11、re 1<>1法二: select top 0 * into b from a22. 说明:拷贝表 ( 拷贝数据 ,源表名: a 目标表名: b) (Access 可用)insert into b(a, b, c) select d,e,f from b;23. 说明:跨数据库之间表的拷贝 (具体数据使用绝对路径 ) (Access 可用) insert into b(a, b, c) select d,e,f from b in具体数据库' where 条件例子: .from b in "&Server.MapPath(".")&am
12、p;"/data.mdb" &" where.24. 创建数据库CREATE DATABASE database-name25. 说明:删除数据库drop database dbname26. 说明:备份 sql server1. 创建备份数据的 device2. USE master3. EXEC sp_addumpdevice disk, testBack, c:/mssql7backup/MyNwin d_1.dat4. 开始备份5. BACKUP DATABASE pubs TO testBack27. 说明:创建新表create table ta
13、bname(col1 type1 not null primary key,col2 type2 not null,.)根据已有的表创建新表:A: create table tab_new like tab_old ( 使用旧表创建新表 )B: create table tab_new as select col1,col2 from tab_old definition only28. 说明:删除新表: drop table tabname29. 说明:增加一个列: Alter table tabname add column col type注:列增加后将不能删除。 DB2 中列加上后数据
14、类型也不能改变,唯一能改变 的是增加 varchar 类型的长度。30. 说明:添加主键:Alter table tabname add primary key(col)说明:删除主键:Alter table tabname drop primary key(col)31. 说明:创建索引:create uniq ue in dex idx name on tab name(col.)删除索引:drop index idxname注:索引是不可更改的,想更改必须删除重新建32. 说明:创建视图:create view viewname as select statement删除视图:drop
15、view viewname33. 说明:几个简单的基本的 sql 语句选择: select * from table1 where范围插入: insert into table1(field1,field2) values(value1,value2)范围更新: update table1 set field1=value1 where查找: select * from table1 where field1 like'%value1% ' -like 的语法很精妙,查资料 !排序:select * from table1 order by field1,field2 desc
16、总数: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 table1以上就是 SQL Server 数据库的一些常用的操作的全部内容,本文我们就介绍到 这里了,希望本次的介绍能够对您有所帮助。2.3 SQLPlus 常用命
17、令SQL> help index 查看所有可用的命令SQL> SET SQLBLANKLINES ON 支持空格行SQL> SELECT * FROM dept WHERE deptno=&tt; &tt 设置 tt 为变量SQL> list 简写 L 查看历史语句SQL> change/n/m简写c,将缓存区中语句中的n变成mSQL> / 执行缓存区中的语句SQL> delete 4 简写 DEL 删除缓存区中第几行SQL> a 语句 在缓冲区中添加命令SQL> save 路径 保存缓冲区中的语句SQL> 路径 执行
18、某一个脚本SQL> get 路径 查看某一个脚本SQL> edit 使用外部编辑器来编辑缓存区中的命令SQL> col 标签命令SQL> DESC 表名 查看表结构SQL> ? 命令 查看命令用法3.SQL 语言基础3.1 语言分类DDL 语句(数据定义语言 ) Data Define Language ,如 CREATE,ALTER,DROP 特点:1、建立和修改数据对象2、建立和修改直接存入库中 ,直接生效DML 语句 (数据操作语言 ) Data Manipulate Language, 如SELECT,INSERT,DELETE,UPDATE特点:1、对数
19、据起作用的2、这些语句的修改是在内存中发生的要想改动存入库中必须要commit 语句DCL语句(数据控制语句)Data Control Language ,如grant授予权限,revoke撤销权限3.2 常用 SQL 命令INSERT 插入记录INSERT INTO 表名(字段1,字段2)VALUES (值 1,值 2 )SELECT字段1,字段2 FROM 表名eDELETE删除记录DELETE FROM 表名WHERE 条件UPDATE更新记录UPDATE表名SET字段1='值,字段2='值,WHERE 条件DROP删除表DROP TABLE 表名TRUNCATE删除所有
20、表数据TRUNCATE TABLE 表名SELECT简单查询SELECT DISTINCT字段1,字段2FROM 表名1,表名2,WHERE 条件ORDER BY 字段ASC/DESCGROUP BY 字段 1,字段 2HAVING 条件CREATE创建CREATETABLE新表名(字段1类型1,字段2类型2)AS SELECT查询 VIEW 新视图名 AS SELECT查询INDEX新索引名ON表名(字段1,字段2)ALTER TABLE 修改表ALTER TABLE 表名ADD 字段 类型DROP 字段MODIFY 字段 类型3.3常用函数字符函数Length()计算字符串长度,Ltrim
21、()截取字符串最左边的空格,Rtrim()截取字符串最右边边的空格,Substr('字符串,起始位,截取数量)截取字符串日期:Sysdate系统时间curre nt_daten ext_day转换:To_char,to_date,to_ nu mber聚集函数:Sum,avg,max, min,count其他:User用户信息Decode(字段值真,假)字段值为真或假时执行条件Nvl2(字段,值1,值2)字段为空显示值1,否则显示值24.视图、同义词、序列4.1视图定义:视图是基于一个表或多个表或视图的逻辑表,本身不包含数据,通过它可以对表里面的数据进行查询和修改。视图基于的表称为基表
22、。优点:1. 对数据库的访问,因为视图可以有选择性的选取数据库里的一部分2. 用户通过简单的查询可以从复杂查询中得到结果。3. 维护数据的独立性,试图可从多个表检索数据。4. 对于相同的数据可产生不同的视图。创建:CREATE OR REPLACE FORCE|NOFORCE VIEW view_name(alias, alias.)AS subqueryWITH CHECK OPTION CONSTRAINT constraintWITH READ ONLY其中:OR REPLACE:若所创建的试图已经存在,ORACLE自动重建该视图;FORCE:不管基表是否存在 ORACLE都会自动创建该
23、视图;NOFORCE :只有基表都存在 ORACLE 才会创建该视图:alias :为视图产生的列定义的别名;subquery :一条完整的SELECT语句,可以在该语句中定义别名;WITH CHECK OPTION :插入或修改的数据行必须满足视图定义的约束;WITH READ ONLY :该视图上不能进行任何 DML 操作。视图的定义原则:1. 视图的查询可以使用复杂的 SELECT语法,包括连接/分组查询和子查询;2. 在没有 WITH CHECK OPTION 和 READ ONLY 的情况下, 查询中不能使用 ORDER BY 子句;3. 如果没有为 CHECK OPTION 约束命
24、名,系统会自动为之命名,形式为 SYS_Cn;4. OR REPLACE 选项可以不删除原视图便可更改其定义并重建,或重新授予对 象权限。视图上 DML 操作应遵循的原则:1. 简单视图可以执行 DML 操作;2. 在视图包含 GROUP 函数, GROUP BY 子句, DISTINCT 关键字时不能删除 数据行;3. 在视图不出现下列情况时可通过视图修改基表数据或插入数据:a.视图中包含GROUP函数,GROUP BY子句,DISTINCT关键字;b .使用表达式定义的列c. ROWNUM 伪列d. 基表中未在视图中选择的其他列定义为非空且无默认值视图的删除:DROP VIEW VIEW_
25、NAME 删除视图的定义不影响基表中的数据。只有视图所有者和具备 DROP VIEW 权 限的用户可以删除视图。 视图被删除后, 基于被删除视图的其他视图或应用将无 效。系统视图数据字典表Dba_views DBA 视图, All_views 所有视图, User_views 当前用户视图4.2 同义词定义:是指向其它数据库表的数据库指针。类型:私有 (private) 私有的同义词是在指定的模式中创建并且只创建者使用的模式访问公共 (public) 公共同义词是由 public 指定的模式访问所有数据库模式 (用户)都 可以访问它创建:CREATE PUBLIC SYNONYM table_
26、name FOR user.table_name其中: PUBLIC 创建公共同义词 删除:DROP PUBLIC SYNONYM table_name其中: PUBLIC 创建公共同义词系统同义词数据字典表Dba_synonyms 公共同义词 , all_synonyms 所有视图 ,user_synonyms 当前 用户同义词4.3 序列定义:序列是用于产生唯一数码的数据库对象,序列创建时带有 初始值,增量值,最 大值等,最大可达 38 位整数。格式:create sequence < 序列名称 >start with < 起始数> increment by <
27、; 增长量>maxvalue 值 minvalue 值cycle 当到达最大值的时候,将继续从头开始 Nocycle 一直累加,不循环 Cache 应用:NEXTVAL :第一次返回的是初始值,往后递加CURRVAL :返回当前序列中系统序列数据字典表Dba_sequences ALL_sequences user_sequences删除:drop sequence 序列名称修改:ALTER SEQUENCE < 序列名称 >只有序列的所有者或者有 ALTER ANY SEQUENCE 权限才能改动序列 . 可以 alter 除 start 至以外的所有 sequence 参数 .如果想要改变 start 值,必须删除序 列后重建序列。5.安全管理创建配置文件:Create profile 文件名 limitFAILED_LOGIN_ATTEMPTS :
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中秋节联欢会致辞范文(10篇)
- 九月大班上学期月计划范文(5篇)
- 中秋晚会董事长致辞范文(13篇)
- 曹植课件教学课件
- 讲师比赛课件教学课件
- 影响高中数学成绩的原因及解决方法
- 消费品和有关服务的比较试验 实施要求 编制说明
- 爱婴医院课件教学课件
- 南宫市八年级上学期语文10月月考试卷
- 八年级上学期语文期中考试卷
- 外汇兑换居间劳务协议
- 少儿趣味编程Scratch综合实战《小车巡线》教学设计
- 第4课《公民的基本权利和义务》(课件)-部编版道德与法治六年级上册
- 糖尿病患者体重管理专家共识(2024年版)解读
- 中国融通集团招聘笔试题库2024
- ICU谵妄患者的护理
- 村医卫生室考勤管理制度
- 2024新版英语英语3500个单词分类大全
- 2024至2030年中国软件和信息技术服务产业全景调查及投资咨询报告
- 住宅小区物业快递柜合作合同2024年
- 1《百合花》第一课公开课一等奖创新教学设计统编版高中语文必修上册
评论
0/150
提交评论