数据库使用命令.docx

上传人:b****3 文档编号:4264448 上传时间:2023-05-06 格式:DOCX 页数:19 大小:19.07KB
下载 相关 举报
数据库使用命令.docx_第1页
第1页 / 共19页
数据库使用命令.docx_第2页
第2页 / 共19页
数据库使用命令.docx_第3页
第3页 / 共19页
数据库使用命令.docx_第4页
第4页 / 共19页
数据库使用命令.docx_第5页
第5页 / 共19页
数据库使用命令.docx_第6页
第6页 / 共19页
数据库使用命令.docx_第7页
第7页 / 共19页
数据库使用命令.docx_第8页
第8页 / 共19页
数据库使用命令.docx_第9页
第9页 / 共19页
数据库使用命令.docx_第10页
第10页 / 共19页
数据库使用命令.docx_第11页
第11页 / 共19页
数据库使用命令.docx_第12页
第12页 / 共19页
数据库使用命令.docx_第13页
第13页 / 共19页
数据库使用命令.docx_第14页
第14页 / 共19页
数据库使用命令.docx_第15页
第15页 / 共19页
数据库使用命令.docx_第16页
第16页 / 共19页
数据库使用命令.docx_第17页
第17页 / 共19页
数据库使用命令.docx_第18页
第18页 / 共19页
数据库使用命令.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

数据库使用命令.docx

《数据库使用命令.docx》由会员分享,可在线阅读,更多相关《数据库使用命令.docx(19页珍藏版)》请在冰点文库上搜索。

数据库使用命令.docx

数据库使用命令

1.select*fromSYS_INFO——查询SYS_INFO表

wherename='name'——筛选查看name这一行的信息

updateSYS_INFOsetvalue='上海卓繁'——修改SYS_INFO表中value这一列的全部数值为“上海着樊”

wherename='name'——筛选查看name这一行的信息

基本语句

(1)数据记录筛选:

sql="select*from数据表where字段名=字段值orderby字段名[desc]"(按某个字段值降序排列。

默认升序ASC)

sql="select*from数据表where字段名like'%字段值%'orderby字段名[desc]"

sql="selecttop10*from数据表where字段名=字段值orderby字段名[desc]"

sql="selecttop10*from数据表orderby字段名[desc]"

sql="select*from数据表where字段名in('值1','值2','值3')"

sql="select*from数据表where字段名between值1and值2"

(2)更新数据记录:

sql="update数据表set字段名=字段值where条件表达式"

sql="update数据表set字段1=值1,字段2=值2……字段n=值nwhere条件表达式"

(3)删除数据记录:

sql="deletefrom数据表where条件表达式"

sql="deletefrom数据表"(将数据表所有记录删除)

(4)添加数据记录:

sql="insertinto数据表(字段1,字段2,字段3…)values(值1,值2,值3…)"

sql="insertinto目标数据表select*from源数据表"(把源数据表的记录添加到目标数据表)

(5)数据记录统计函数:

AVG(字段名)得出一个表格栏平均值

COUNT(*;字段名)对数据行数的统计或对某一栏有值的数据行数统计

MAX(字段名)取得一个表格栏最大的值

MIN(字段名)取得一个表格栏最小的值

SUM(字段名)把数据栏的值相加

引用以上函数的方法:

sql="selectsum(字段名)as别名from数据表where条件表达式"

setrs=conn.excute(sql)

用rs("别名")获取统计的值,其它函数运用同上。

查询去除重复值:

selectdistinct*fromtable1

(6)数据表的建立和删除:

CREATETABLE数据表名称(字段1类型1(长度),字段2类型2(长度)……)

(7)单列求和:

SELECTSUM(字段名)FROM数据表

/*连接数*/

selectconnectnum=count(distinctnet_address)-1frommaster..sysprocesses

/*返回一组有关计算机和有关SQLServer可用资源及其已占用资源的有用杂项信息*/

 select*fromsys.dm_os_sys_info

/*从操作系统返回内存信息*/

select*fromsys.dm_os_sys_memory

/*返回有关调用进程的虚拟地址空间中的页范围的信息*/

select*fromsys.dm_os_virtual_address_dump

/*命令提供了SQLServer的当前内存状态的快照,也可以作为我们分析内存瓶颈的重要依据*/

 DBCCMemoryStatus

/*计数器视图,主要对缓冲区管理器和内存管理器的一些计数器进行监控,比如页面的生存周期、检查点、惰性写入器和缓冲命中率等指标*/

 select*fromsys.dm_os_performance_counters

/*缓冲池内数据库缓冲池中各个数据库的分布情况*/

selectcasedatabase_idwhen32767then'resourceDb'elsedb_name(database_id)endasdatabase_name,count(*)ascached_pages_countfromsys.dm_os_buffer_descriptorsgroupbydb_name(database_id),database_idorderbycached_pages_countdesc;

/*返回数据和日志文件的I/O统计信息*/

select*fromsys.dm_io_virtual_file_stats(null,null)

/*当前缓存的哪些批处理或过程占用了大部分CPU资源*/

SELECTTOP50     SUM(qs.total_worker_time)AStotal_cpu_time,    SUM(qs.execution_count)AStotal_execution_count,     COUNT(*)AS number_of_statements,     qs.sql_handleFROMsys.dm_exec_query_statsASqsGROUPBYqs.sql_handleORDERBYSUM(qs.total_worker_time)DESC

/*缓存计划所占用的CPU总使用率*/

SELECT     total_cpu_time,     total_execution_count,     number_of_statements,     s2.text     --(SELECTSUBSTRING(s2.text,statement_start_offset/2,((CASEWHENstatement_end_offset=-1THEN(LEN(CONVERT(NVARCHAR(MAX),s2.text))*2)ELSEstatement_end_offsetEND)-statement_start_offset)/2))ASquery_textFROM     (SELECTTOP50           SUM(qs.total_worker_time)AStotal_cpu_time,           SUM(qs.execution_count)AStotal_execution_count,           COUNT(*)AS number_of_statements,           qs.sql_handle--,           --MIN(statement_start_offset)ASstatement_start_offset,           --MAX(statement_end_offset)ASstatement_end_offset     FROM           sys.dm_exec_query_statsASqs     GROUPBYqs.sql_handle     ORDERBYSUM(qs.total_worker_time)DESC)ASstats     CROSSAPPLYsys.dm_exec_sql_text(stats.sql_handle)ASs2

/*CPU平均占用率最高的前50个SQL语句*/

 SELECTTOP50total_worker_time/execution_countAS[AvgCPUTime],(SELECTSUBSTRING(text,statement_start_offset/2,(CASEWHENstatement_end_offset=-1thenLEN(CONVERT(nvarchar(max),text))*2ELSEstatement_end_offsetend-statement_start_offset)/2)FROMsys.dm_exec_sql_text(sql_handle))ASquery_text,*FROMsys.dm_exec_query_statsORDERBY[AvgCPUTime]DESC

/*查看CPU、计划程序内存和缓冲池信息*/

 selectcpu_count,hyperthread_ratio,scheduler_count,physical_memory_in_bytes/1024/1024asphysical_memory_mb,virtual_memory_in_bytes/1024/1024asvirtual_memory_mb,bpool_committed*8/1024asbpool_committed_mb,bpool_commit_target*8/1024asbpool_target_mb,bpool_visible*8/1024asbpool_visible_mbfromsys.dm_os_sys_info

/*查询显示SQL等待分析和前10个等待的资源*/

 selecttop10*fromsys.dm_os_wait_stats--wherewait_typenotin('CLR_SEMAPHORE','LAZYWRITER_SLEEP','RESOURCE_QUEUE','SLEEP_TASK','SLEEP_SYSTEMTASK','WAITFOR')orderbywait_time_msdesc

/*计算可运行状态下的工作进程数量,来观察CPU压力*/

SELECTCOUNT(*)asworkers_waiting_for_cpuFROMsys.dm_os_workersWHEREo.state='RUNNABLE'GROUPBYs.scheduler_id

/*检查闩锁等待统计信息以确定I/O瓶颈*/

selectwait_type,waiting_tasks_count,wait_time_ms,signal_wait_time_ms,wait_time_ms/waiting_tasks_countfromsys.dm_os_wait_stats wherewait_typelike'PAGEIOLATCH%' andwaiting_tasks_count>0orderbywait_type

/*系统中的每个工作线程*/

 select*fromsys.dm_os_workers

/*系统中的所有SQLOS工作线程*/

selectCOUNT(*)fromsys.dm_os_threads

/*SQLServer实例中的每个活动任务*/

select*fromsys.dm_os_tasks

/*连接的所有用户名*/

select  hostname  from  master..sysprocesses  where  hostname<>''  group  by  hostname/*不同计算机连接的用户数*/select  count(distinct(hostname))  from  master..sysprocesses  where  hostname<>''/*所有连接的用户数*/select  count(hostname)  from  master..sysprocesses  where  hostname<>''

sp_monitor

sp_who    

Select*frommaster.dbo.spt_monitor

Select*fromsys.dm_os_tasks

 Select*frommaster..sysprocesseswherehostname<>''

Selectcount(hostname)frommaster..sysprocesseswherehostname<>''

Select*fromsys.dm_os_tasks

Selectconnectnum=count(distinctnet_address)-1frommaster..sysprocesses

 Selectconnectnum=count(distinctnet_address)-1frommaster..sysprocesses

select*frommaster.dbo.spt_monitor

常用

SQL

语句大全

 

一、基础

 

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] [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 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 field1 like 

%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 table1 

11

、说明:

几个高级查询运算词

 

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)

,不消除重复行。

 

注:

使用运算词的几个查询结果行必须是一致的。

 

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

 

全外连接:

不仅包括符号连接表的匹配行,还包括两个连接表中的所有记录。

 

二、提升

 

1

、说明:

复制表

只复制结构

源表名:

新表名:

b) (Access

可用

) 

法一:

select * into b from a where 1<>1 

法二:

select top 0 * into b from a 

2

、说明:

拷贝表

拷贝数据

源表名:

目标表名:

b) (Access

可用

) 

insert into b(a, b, c) select d,e,f from b; 

3

、说明:

跨数据库之间表的拷贝

具体数据使用绝对路径

) (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

表名

2

b) 

select a,b,c from a where a IN (select d from b ) 

或者

:

 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(adddate) adddate 

from table where table.title=a.title) b 

6

、说明:

外连接查询

表名

1

表名

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

不包括

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2