(select top 1 COMMENT_DATE

1、表明:创立数据库 CREATE DATABASE database-name 2、表达:删除数据库
drop database dbname 3、表达:备份sql server — 成立 备份数据的 device
USE master EXEC sp_addumpdevice ‘disk’, ‘testBack’,
‘c:\mssql7backup\MyNwind_1.dat’ — 伊始 备份 BACKUP DATABASE pubs TO
testBack 4、表达:创制新表 create table tabname(col1 type1 [not null]

,col2 type2 [not null],..State of Qatar 遵照已部分表创建新表:
A:create table tab_new like tab_old (使用旧表创立新表) B:create
table tab_new as select col1,col2… from tab_old definition only
5、表达:删除新表drop table tabname 6、表达:扩展叁个列 Alter table
tabname add column col type
注:列增添后将不能够去除。DB2中列加上后数据类型也不可能改造,独一能更换的是扩展varchar类型的尺寸。
7、表达:增添主键: Alter table tabname add primary key(col卡塔尔国表明:删除主键: Alter table tabname drop primary key(col卡塔尔国8、表明:创建索引:create [unique] index idxname on tabname(col….)删除索引:drop index idxname
注:索引是不可改造的,想改换必需删除重新建。 9、表达:创立视图:create
view viewname as select statement 删除视图:drop view viewname
10、表明:多少个简易的着力的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 田野(field卡塔尔(قطر‎1 like
‘%value1%’ —like的语法很精美,查资料! 排序:select * from table1
order by field1,field2 [desc] 总数:select count * as totalcount from
table1 求和:select sum(田野同志1卡塔尔(قطر‎ as sumvalue from table1 平均:select
avg(田野先生1卡塔尔 as avgvalue from table1 最大:select max(田野1State of Qatar as maxvalue
from table1 最小:select min(田野同志1卡塔尔(قطر‎ as minvalue from table1
11、表达:多少个高端查询运算词 A: UNION 运算符 UNION
运算符通过整合其余多个结果表并消去表中任何重复行而派生出八个结果表。当
ALL 随 UNION
一齐利用时,不免除重复行。两种情状下,派生表的每一行不是缘于 TABLE1
正是缘于 TABLE2。 B: EXCEPT 运算符 EXCEPT 运算符通过包蕴富有在 TABLE1中但不在 TABLE2 中的行并杀绝全体重复行而派生出二个结实表。当 ALL 随
EXCEPT 一齐利用时 (EXCEPT ALL卡塔尔(قطر‎,不拔除重复行。 C: INTELacrosseSECT 运算符
INTERSECT 运算符通过只囊括 TABLE1 和 TABLE第22中学都部分行并灭绝全体重复行而派生出三个结出表。当 ALL 随 INTE奥迪Q3SECT
一齐使用时 (INTE中华VSECT ALL卡塔尔(قطر‎,不拔除重复行。
注:使用运算词的几个查询结果行必得是均等的。 12、表明:使用外连接
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:
全外连接:不仅仅蕴涵符号连接表的相配行,还包涵四个三番五次表中的全体记录。
其次,大家来看一些对的的sql语句 1、表明:复制表(只复制结构,源表名:a
新表名:bState of Qatar (Access可用卡塔尔 法一:select * into b from a where 11
法二:select top 0 * into b from a 2、表明:拷贝表(拷贝数据,源表名:a
目的表名:bState of Qatar (Access可用卡塔尔 insert into b(a, b, cState of Qatar select d,e,f from b;
3、表明:跨数据库之间表的正片(具体数量选择绝对路径State of Qatar (Access可用卡塔尔 insert
into b(a, b, c卡塔尔(قطر‎ select d,e,f from b in ‘具体数据库’ where 条件
例子:..from b in ‘”&Server.MapPath(“.”卡塔尔&”\data.mdb” &”‘ where..
4、表明:子查询(表名1:a 表名2:b卡塔尔国 select a,b,c from a where a IN
(select d from b State of Qatar 只怕: select a,b,c from a where a IN (1,2,3卡塔尔国5、表达:展现小说、提交人和最后回复时间 select
a.title,a.username,b.adddate from table a,(select max(adddateState of Qatar adddate
from table where table.title=a.title卡塔尔 b 6、表明:外接连查询(表名1:a
表名2:b卡塔尔 select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON
a.a = b.c 7、表明:在线视图查询(表名1:a 卡塔尔(قطر‎ select * from (SELECT a,b,c
FROM a卡塔尔国 T where t.a 1;
8、表达:between的用法,between节制查询数据范围时富含了边界值,not
between不包蕴 select * from table1 where time between time1 and time2
select a,b,c, from table1 where a not between 数值1 and 数值2
9、表达:in 的选择方式 select * from table1 where a [not] in
(‘值1′,’值2′,’值4’,’值6’卡塔尔国10、表明:两张关联表,删除主表中早已在副表中并未有的消息 delete from
table1 where not exists ( select * from table2 where
table1.田野(field卡塔尔国1=table2.田野1 卡塔尔国 11、表明:四表联合检查难点: select * from a
left inner join b on a.a=b.b right inner join c on a.a=c.c inner join d
on a.a=d.d where ….. 12、表明:日程布置提早五分钟提示 SQL: select *
from 日程陈设 where datediff(‘minute’,f开首时间,getdate(State of Qatar卡塔尔国5
13、说明:一条sql 语句化解数据库分页 select top 10 b.* from (select top
20 主键字段,排序字段 from 表名 order by 排序字段 descState of Qatar a,表名 b where
b.主键字段 = a.主键字段 order by a.排序字段 14、说明:前10条记下 select
top 10 * form table1 where 范围
15、表明:接受在每一组b值相符的数码中对应的a最大的笔录的富有音信(近似那样的用法能够用来论坛每月排名榜,每月销路好成品解析,按学科战表排行,等等.卡塔尔(قطر‎select a,b,c from tablename ta where a=(select max(aState of Qatar from tablename tb
where tb.b=ta.b卡塔尔 16、表明:满含富有在 TableA 中但不在 TableB和TableC
中的行并肃清全数重复行而派生出三个结果表 (select a from tableA 卡塔尔 except
(select a from tableB卡塔尔 except (select a from tableC卡塔尔17、表明:随机收取10条数据 select top 10 * from tablename order by
newid(卡塔尔国 18、表达:随机采纳记录 select newid(卡塔尔国 19、表明:删除重复记录
Delete from tablename where id not in (select max(idState of Qatar from tablename
group by col1,col2,…State of Qatar 20、表达:列出数据库里拥有的表名 select name
from sysobjects where type=’U’ 21、表明:列出表里的富有的 select name
from syscolumns where id=object_永利皇宫 ,id(‘TableName’)22、表明:列示type、vender、pcs字段,以type字段排列,case能够方便地促成多种选拔,相通select
中的case。 select type,sum(case vender when ‘A’ then pcs else 0
end卡塔尔,sum(case vender when ‘C’ then pcs else 0 end卡塔尔,sum(case vender when
‘B’ then pcs else 0 end卡塔尔(قطر‎ FROM tablename group by type 彰显结果: type
vender pcs 计算机 A 1 Computer A 1 光盘 B 2 光盘 A 2 手机 B 3 手提式有线电话机 C 3
23、表明:最早化表table1 TRUNCATE TABLE table1
24、表达:接纳从10到15的笔录 select top 5 * from (select top 15 * from
table order by id asc) table_别称 order by id desc ext: 1.
翻看数据库的版本 select @@version 高高挂起的二种SQL SE奥德赛VE福特Explorer打补丁后的本子号:
8.00.194 Microsoft SQL Server 2003 8.00.384 Microsoft SQL Server 二〇〇三SP1 8.00.532 Microsoft SQL Server 2001 SP2 8.00.760 Microsoft SQL Server
二〇〇二 SP3 8.00.818 Microsoft SQL Server 2002 SP3 w/ Cumulative Patch
MS03-031 8.00.2039 Microsoft SQL Server 二零零二 SP4 2.
翻看数据库所在机器操作系统参数 exec master..xp_msver 3.
查看数据库运维的参数 sp_configure 4. 查看数据库启动时间 select
convert(varchar(30卡塔尔(قطر‎,login_time,120State of Qatar from master..sysprocesses where
spid=1 查看数据库服务器名和实例名 print ‘Server Name……………: ‘ +
convert(varchar(30卡塔尔国,@@SERVEOdysseyNAME卡塔尔国 print ‘Instance………………: ‘ +
convert(varchar(30卡塔尔国,@@SEHighlanderVICENAME卡塔尔(قطر‎ 5. 查看全部数据库名称及大小
sp_helpdb 重命名数据库用的SQL sp_renamedb ‘old_dbname’, ‘new_dbname’

on

  1. 翻开全数数据库客商登陆音讯 sp_helplogins
    查看全体数据库客商所属的剧中人物新闻 sp_helpsrvrolemember
    修复迁移服务器时孤立客户时,能够用的fix_orphan_user脚本或然LoneUser过程改革有些数据对象的客户属主 sp_changeobjectowner [@objectname =]
    ‘object’, [@newowner =] ‘owner’ 注意:
    改良对象名的任一部分都或然破坏脚本和存款和储蓄进程。
    把一台服务器上的数据库客户登陆新闻备份出来能够用add_login_to_aserver脚本
    查看某数据库下,对象级客户权限 sp_helprotect 7. 查看链接服务器
    sp_helplinkedsrvlogin 查看远端数据库客户登入新闻 sp_helpremotelogin
    8.查看某数据库下有个别数据对象的高低 sp_spaceused @objname
    还足以用sp_toptables进度看最大的N(暗许为50State of Qatar个表
    查看某数据库下有个别数据对象的目录音信 sp_helpindex @objname
    还足以用SP_NChelpindex进度查看更详实的目录意况 SP_NChelpindex @objname
    clustered索引是把记录按物理顺序排列的,索引占的长空比少之甚少。
    对键值DML操作特别频仍的表笔者提出用非clustered索引和封锁,fillfactor参数都用默许值。
    查看某数据库下有个别数据对象的的约束音讯 sp_helpconstraint @objname
    9.翻看数据Curry全数的储存进程和函数 use @database_name
    sp_stored_procedures 查看存款和储蓄进度和函数的源代码 sp_helptext
    ‘@procedure_name’ 查看包括有些字符串@str的数目对象名称 select distinct
    object_name(id卡塔尔 from syscomments where text like ‘%@str%’
    创设加密的存款和储蓄过程或函数在AS前面加WITH ENCOdysseyYPTION参数
    解密加密过的积累进度和函数可以用sp_decrypt过程10.查看数据Curry客商和进度的新闻 sp_who 查看SQL
    Server数据库里的活动顾客和进度的音信 sp_who ‘active’ 查看SQL
    Server数据Curry的锁的情形 sp_lock 进度号1–50是SQL
    Server系统内部用的,进度号大于50的才是客户的接连进程.
    spid是经过编号,dbid是数据库编号,objid是数据对象编号
    查看进程正在实行的SQL语句 dbcc inputbuffer (卡塔尔(قطر‎推荐我们用经过纠正后的sp_who3进度能够一向看出进度运维的SQL语句 sp_who3
    检查死锁用sp_who_lock过程 sp_who_lock
    11.查看和减弱数据库日志文件的主意 查看全体数据库日志文件大小 dbcc
    sqlperf(logspace卡塔尔假如某个日志文件相当的大,收缩轻便恢复生机方式数据库日志,裁减后@database_name_log的高低单位为M
    backup log @database_name with no_log dbcc shrinkfile
    (@database_name_log, 5卡塔尔国 12.剖析SQL Server SQL 语句的秘籍: set
    statistics time {on | off} set statistics io {on | off}
    图形情势呈现查询试行布置 在查询解析器-查询-彰显推断的评估陈设(DState of Qatar-Ctrl-L
    大概点击工具栏里的图样 文本格局显示查询推行布署 set showplan_all {on |
    off} set showplan_text { on | off } set statistics profile { on | off }
    13.自然则然差别等错误时,NT事件查看器里出3624号错误,修复数据库的不二秘籍先注释掉应用程序里援用的产出分化性错误的表,然后在备份或别的机器上先过来然后做修复操作
    alter database [@error_database_name] set single_user
    修复出现不相近错误的表 dbcc
    checktable(‘@error_table_name’,repair_allow_data_loss)或许缺憾采纳修复现身不等同错误的微型数据库名 dbcc
    checkdb(‘@error_database_name’,repair_allow_data_loss) alter
    database [@error_database_name] set multi_user CHECKDB 有3个参数:
    repair_allow_data_loss
    包含对行和页举行分红和注销分配以校正分配错误、布局行或页的荒唐,
    以至去除已破坏的公文对象,那个修复恐怕会以致部分数量错过。
    修复操作能够在客商业务下完了以允许客商回滚所做的改动。
    假设回滚修复,则数据库仍会包蕴错误,应该从备份举办恢复生机。
    若是是因为所提供修复品级的缘由脱漏有个别错误的修补,则将脱漏任何决计于该修复的修复。
    修复完毕后,请备份数据库。 repair_fast
    实行小的、不耗费时间的修复操作,如修复非聚焦索引中的附加键。
    那个修复能够快捷完毕,并且不会有错失数据的安危。 repair_rebuild 执行由
    repair_fast 实现的装有修复,富含必要较长期的修复。
    施行那么些修复时不会有错过数据的危险。 sql语句实例 1 Examples
    ======================================= select id,age,Fullname from
    tableOne a where a.id!=(select max(id) from tableOne b where a.age=b.age
    and a.FullName=b.FullName) =========================================
    delete from dbo.Schedule where RoomID=29 and StartTime’2005-08-08′ and
    EndTime’2006-09-01′ and Remark like ‘preset’ and UserID=107 and (
    (ScheduleID=3177 and ScheduleID=3202 ) or (ScheduleID=3229 and
    ScheduleID=3254) or (ScheduleID=3307 and ScheduleID=3332)
    ========================================= delete tableOne where
    tableOne.id!=(select max(id) from tableOne b where tableOne.age=b.age
    and tableOne.FullName=b.FullName);
    ========================================== DataClient 12/23/2005 5:03:38
    PM select top 5 DOC_MAIN.CURRENT_VERSION_NO as Version,
    DOC_MAIN.MODIFY_DATE as ModifyDT, DOC_MAIN.SUMMARY as Summary,
    DOC_MAIN.AUTHOR_EMPLOYEE_NAME as AuthorName, DOC_MAIN.TITLE as
    Title, DOC_MAIN.DOCUMENT_ID as DocumentID, Attribute.ATTRIBUTE_ID as
    AttributeId, Attribute.CATALOG_ID as CatalogId,
    DOC_STATISTIC.VISITE_TIMES as VisiteTimes, DOC_STATISTIC.DOCUMENT_ID
    as DocumentID2 from DOC_MAIN DOC_MAIN Inner join
    CATALOG_SELF_ATTRIBUTE Attribute on
    DOC_MAIN.CATALOG_ID=Attribute.CATALOG_ID Left join DOC_STATISTIC
    DOC_STATISTIC on DOC_MAIN.DOCUMENT_ID=DOC_STATISTIC.DOCUMENT_ID
    where (DOC_MAIN.AUTHOR_EMPLOYEE_ID = 1) and (Attribute.ATTRIBUTE_ID
    = 11) order by VisiteTimes DESC ====================================
    select top 1 DOCUMENT_ID,EMPLOYEE_NAME,COMMENT_DATE,COMMENT_VALUE
    from dbo.DOC_COMMENT where DOCUMENT_ID=19 and COMMENT_DATE = (select
    max(COMMENT_DATE) from DOC_COMMENT where DOCUMENT_ID=19)
    ==================================== select TITLE, (select top 1
    EMPLOYEE_NAME from dbo.DOC_COMMENT where DOCUMENT_ID=19) Commentman,
    (select top 1 COMMENT_DATE from dbo.DOC_COMMENT where DOCUMENT_ID=19)
    COMMENT_DATE from DOC_MAIN where DOCUMENT_ID=19
    ====================================== alter view ExpertDocTopComment as
    select DOCUMENT_ID, max(ORDER_NUMBER ) as lastednum from
    dbo.DOC_COMMENT group by DOCUMENT_ID go alter view ExpertDocView as
    select TITLE , a.AUTHOR_EMPLOYEE_ID , c.EMPLOYEE_NAME ,
    c.COMMENT_DATE from dbo.DOC_MAIN a left join ExpertDocTopComment b on
    a.DOCUMENT_ID = b.DOCUMENT_ID inner join DOC_COMMENT c on
    b.DOCUMENT_ID = c.DOCUMENT_ID and b.lastednum = c. ORDER_NUMBER
    ====================================== select a.Id ,a.WindowsUsername ,
    0 , 1 , a.Email , case b.EnFirstName when null then a.Username else
    b.EnFirstName end, case b.EnLastName when null then a.Username else
    b.EnLastName end from UUMS_KM.dbo.UUMS_User a left join
    UUMS_KM.dbo.HR_Employee b on a. HR_EmployeeId = b.id
    ===================================== 列出上传文书档案最多的多个人的ID
    select AUTHOTiguan_EMPLOYEE_ID,count(AUTHOR_EMPLOYEE_ID) from
    dbo.DOC_MAIN group by AUTHOR_EMPLOYEE_ID order by
    count(AUTHOR_EMPLOYEE_ID卡塔尔国 2719 2 6 9 12 30 1 116
    列出上传文书档案最多的四个人的音讯 select distinct AUTHOTiguan_EMPLOYEE_ID
    ,AUTHOR_EMPLOYEE_NAME from dbo.DOC_MAIN where AUTHOR_EMPLOYEE_ID in
    ( select top 5 AUTHOR_EMPLOYEE_ID from dbo.DOC_MAIN group by
    AUTHOR_EMPLOYEE_ID order by count(AUTHOR_EMPLOYEE_ID) )

1116

b.DOCUMENT_ID = c.DOCUMENT_ID and

from DOC_MAIN where DOCUMENT_ID=19

as

group by AUTHOR_EMPLOYEE_ID

a.DOCUMENT_ID = b.DOCUMENT_ID

27192

RoomID=29 and StartTime2005-08-08 and EndTime2006-09-01 and Remark like
preset and UserID=107

from dbo.DOC_MAINa

1Examples =======================================

group by AUTHOR_EMPLOYEE_ID

(ScheduleID=3177 and ScheduleID=3202 )

==========================================

a.Email ,

alter view ExpertDocView

=================================

where AUTHOR_EMPLOYEE_ID

left join

from dbo.DOC_MAIN

=========================================

from dbo.DOC_MAIN

select distinct AUTHOR_EMPLOYEE_ID ,AUTHOR_EMPLOYEE_NAME

inner join

from UUMS_KM.dbo.UUMS_User a

b.lastednum = c. ORDER_NUMBER

)

order by count(AUTHOR_EMPLOYEE_ID)

列出上传文书档案最多的五人的音信

a. HR_EmployeeId = b.id

0 , 1 ,

go

or (ScheduleID=3229 and ScheduleID=3254)

where (DOC_MAIN.AUTHOR_EMPLOYEE_ID = 1) and (Attribute.ATTRIBUTE_ID
= 11)

ExpertDocTopComment b

in (

======================================

delete tableOne where tableOne.id!=(select max(id) from tableOne b where
tableOne.age=b.age and tableOne.FullName=b.FullName);

1230

from dbo.DOC_MAIN

=====================================

网站地图xml地图