SELECTNAME,WAITS,GETS," />
oracle数据库性能监控的SQL
1. 监控事例的等待
SQL> SELECT EVENT,SUM(DECODE(WAIT_TIME,0,0,1)) "PREV",SUM(DECODE(WAIT_TIME,0,1,0)) "CURR",COUNT(*) "TOT" FROM V$SESSION_WAIT GROUP BY EVENT ORDER BY 4;
2. 回滚段的争用情况
SQL> SELECT NAME, WAITS, GETS, WAITS/GETS "RATIO" FROM V$ROLLSTAT A, V$ROLLNAME B WHERE https://www.wendangku.net/doc/653555077.html,N = https://www.wendangku.net/doc/653555077.html,N;
3. 监控表空间的 I/O 比例
SQL> SELECT DF.TABLESPACE_NAME NAME,DF.FILE_NAME "FILE",F.PHYRDS PYR,
F.PHYBLKRD PBR,F.PHYWRTS PYW, F.PHYBLKWRT PBW FROM V$FILESTAT F, DBA_DATA_FILES DF WHERE F.FILE# = DF.FILE_ID
ORDER BY DF.TABLESPACE_NAME;
4. 监控文件系统的 I/O 比例
SQL> SELECT SUBSTR(A.FILE#,1,2) "#", SUBSTR(https://www.wendangku.net/doc/653555077.html,,1,30) "NAME",
A.STATUS,A.BYTES,
B.PHYRDS,B.PHYWRTS FROM V$DATAFILE A, V$FILESTAT B
WHERE A.FILE# = B.FILE#;
5.在某个用户下找所有的索引
SQL> SELECT USER_INDEXES.TABLE_NAME, USER_INDEXES.INDEX_NAME,UNIQUENESS, COLUMN_NAME FROM USER_IND_COLUMNS, USER_INDEXES WHERE USER_IND_COLUMNS.INDEX_NAME = USER_INDEXES.INDEX_NAME
AND USER_IND_COLUMNS.TABLE_NAME = USER_INDEXES.TABLE_NAME
ORDER BY USER_INDEXES.TABLE_TYPE, USER_INDEXES.TABLE_NAME,
USER_INDEXES.INDEX_NAME, COLUMN_POSITION;
6. 监控 SGA 的命中率
SQL> SELECT A.VALUE + B.VALUE "LOGICAL_READS", C.VALUE "PHYS_READS",
ROUND(100 * ((A.VALUE+B.VALUE)-C.VALUE) / (A.VALUE+B.VALUE)) "BUFFER HIT RATIO" FROM V$SYSSTAT A, V$SYSSTAT B, V$SYSSTAT C WHERE A.STATISTIC# = 38 AND B.STATISTIC# = 39 AND C.STATISTIC# = 40;
7. 监控 SGA 中字典缓冲区的命中率
SQL> SELECT PARAMETER, GETS,GETMISSES , GETMISSES/(GETS+GETMISSES)*100 "MISS RATIO",(1-(SUM(GETMISSES)/ (SUM(GETS)+SUM(GETMISSES))))*100 "HIT RATIO" FROM V$ROWCACHE WHERE GETS+GETMISSES <>0 GROUP BY PARAMETER, GETS, GETMISSES;
8. 监控 SGA 中共享缓存区的命中率,应该小于1%
SQL> SELECT SUM(PINS) "TOTAL PINS", SUM(RELOADS) "TOTAL RELOADS",
SUM(RELOADS)/SUM(PINS) *100 LIBCACHE FROM V$LIBRARYCACHE;
SQL> SELECT SUM(PINHITS-RELOADS)/SUM(PINS) "HIT RADIO",SUM(RELOADS)/SUM(PINS)
"RELOAD PERCENT" FROM V$LIBRARYCACHE;
9. 显示所有数据库对象的类别和大小
SQL> SELECT COUNT(NAME) NUM_INSTANCES ,TYPE ,SUM(SOURCE_SIZE) SOURCE_SIZE,SUM(PARSED_SIZE) PARSED_SIZE ,SUM(CODE_SIZE) CODE_SIZE ,SUM(ERROR_SIZE) ERROR_SIZE,SUM(SOURCE_SIZE) +SUM(PARSED_SIZE) +SUM(CODE_SIZE) +SUM(ERROR_SIZE) SIZE_REQUIRED FROM DBA_OBJECT_SIZE GROUP BY TYPE ORDER BY 2;
10. 监控 SGA 中重做日志缓存区的命中率,应该小于1%
SQL> SELECT NAME,
GETS,
MISSES,
IMMEDIATE_GETS,
IMMEDIATE_MISSES,
DECODE(GETS, 0, 0, MISSES / GETS * 100) RATIO1,
DECODE(IMMEDIATE_GETS + IMMEDIATE_MISSES,
0,
0,
IMMEDIATE_MISSES / (IMMEDIATE_GETS + IMMEDIATE_MISSES) * 100) RATIO2 FROM V$LATCH
WHERE NAME IN ('REDO ALLOCATION', 'REDO COPY');
11. 监控内存和硬盘的排序比率,最好使它小于 .10,增加 sort_area_size
SQL> SELECT NAME, VALUE FROM V$SYSSTAT WHERE NAME IN ('SORTS (MEMORY)', 'SORTS (DISK)');
12. 监控当前数据库谁在运行什么SQL语句
SQL> SELECT OSUSER, USERNAME, SQL_TEXT FROM V$SESSION A, V$SQLTEXT B
WHERE A.SQL_ADDRESS =B.ADDRESS ORDER BY ADDRESS, PIECE;
13. 监控字典缓冲区
SQL>SELECT (SUM(PINS - RELOADS)) / SUM(PINS) "LIB CACHE" FROM V$LIBRARYCACHE; SQL>SELECT (SUM(GETS - GETMISSES - USAGE - FIXED)) / SUM(GETS) "ROW CACHE" FROM V$ROWCACHE;
SQL>SELECT SUM(PINS) "EXECUTIONS", SUM(RELOADS) "CACHE MISSES WHILE EXECUTING" FROM V$LIBRARYCACHE;(后者除以前者,此比率小于1%,接近0%为好)
SQL>SELECT SUM(GETS) "DICTIONARY GETS",SUM(GETMISSES) "DICTIONARY CACHE GET MISSES" FROM V$ROWCACHE;
14. 查找ORACLE字符集
SQL>SELECT * FROM SYS.PROPS$ WHERE NAME='NLS_CHARACTERSET';
15. 监控 MTS
SQL>SELECT BUSY/(BUSY+IDLE) "SHARED SERVERS BUSY" FROM V$DISPATCHER;
(此值大于0.5时,参数需加大)
SQL>SELECT SUM(WAIT)/SUM(TOTALQ) "DISPATCHER WAITS" FROM V$QUEUE WHERE TYPE='DISPATCHER';
SQL>SELECT COUNT(*) FROM V$DISPATCHER;
SQL>SELECT SERVERS_HIGHWATER FROM V$MTS;
(servers_highwater接近mts_max_servers时,参数需加大)
16. 碎片程度
SQL>SELECT TABLESPACE_NAME,COUNT(TABLESPACE_NAME) FROM DBA_FREE_SPACE GROUP BY TABLESPACE_NAME HAVING COUNT(TABLESPACE_NAME)>10;
SQL>ALTER TABLESPACE NAME COALESCE;
SQL>ALTER TABLE NAME DEALLOCATE UNUSED;
SQL>CREATE OR REPLACE VIEW TS_BLOCKS_V AS
SELECT TABLESPACE_NAME,BLOCK_ID,BYTES,BLOCKS,'FREE SPACE' SEGMENT_NAME FROM DBA_FREE_SPACE
UNION ALL
SELECT TABLESPACE_NAME,BLOCK_ID,BYTES,BLOCKS,SEGMENT_NAME FROM DBA_EXTENTS;
SELECT * FROM TS_BLOCKS_V;
SQL>SELECT TABLESPACE_NAME,SUM(BYTES),MAX(BYTES),COUNT(BLOCK_ID) FROM DBA_FREE_SPACE GROUP BY TABLESPACE_NAME;
查看碎片程度高的表
SQL>SELECT SEGMENT_NAME TABLE_NAME,COUNT(*) EXTENTS
FROM DBA_SEGMENTS WHERE OWNER NOT IN ('SYS', 'SYSTEM') GROUP BY SEGMENT_NAME HAVING COUNT(*)=(SELECT MAX(COUNT(*)) FROM DBA_SEGMENTS GROUP BY SEGMENT_NAME);
17. 表、索引的存储情况检查
SQL>SELECT SEGMENT_NAME,SUM(BYTES),COUNT(*) EXT_QUAN FROM DBA_EXTENTS WHERE TABLESPACE_NAME='&TABLESPACE_NAME' AND SEGMENT_TYPE='TABLE' GROUP BY TABLESPACE_NAME,SEGMENT_NAME;
SQL>SELECT SEGMENT_NAME,COUNT(*) FROM DBA_EXTENTS WHERE SEGMENT_TYPE='INDEX' AND OWNER='&OWNER' GROUP BY SEGMENT_NAME;
18、找使用CPU多的用户session
SQL>SELECT A.SID,SPID,STATUS,SUBSTR(A.PROGRAM,1,40) PROG,A.TERMINAL,OSUSER,VALUE/60/100 VALUE FROM V$SESSION A,V$PROCESS B,V$SESSTAT C WHERE C.STATISTIC#=12 AND C.SID=A.SID AND A.PADDR=B.ADDR ORDER BY VALUE DESC; (12?OCPU USED BY THIS SESSION)
表空间统计
A、脚本说明:
这是我最常用的一个脚本,用它可以显示出数据库中所有表空间的状态,如表空间的大小、已使用空间、使用的百分比、空闲空间数及现在表空间的最大块是多大。
B、脚本原文:
SELECT UPPER(F.TABLESPACE_NAME) "表空间名"
D.TOT_GROOTTE_MB "表空间大小(M)",
D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)",
TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100,2),'990.99') "使用比",
F.TOTAL_BYTES "空闲空间(M)",
F.MAX_BYTES "最大块(M)"
FROM
(SELECT TABLESPACE_NAME,
ROUND(SUM(BYTES)/(1024*1024),2) TOTAL_BYTES,
ROUND(MAX(BYTES)/(1024*1024),2) MAX_BYTES
FROM SYS.DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME) F,
(SELECT DD.TABLESPACE_NAME, ROUND(SUM(DD.BYTES)/(1024*1024),2) TOT_GROOTTE_MB FROM SYS.DBA_DATA_FILES DD
GROUP BY DD.TABLESPACE_NAME) D
WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME
ORDER BY 4 DESC;
查看无法扩展的段
A、脚本说明:
ORACLE对一个段比如表段或索引无法扩展时,取决的并不是表空间中剩余的空间是多少,而是取于这些剩余空间中最大的块是否够表比索引的“NEXT”值大,所以有时一个表空间剩余几个G的空闲空间,在你使用时ORACLE还是提示某个表或索引无法扩展,就是由于这一点,这时说明空间的碎片太多了。这个脚本是找出无法扩展的段的一些信息。
B、脚本原文:
SELECT SEGMENT_NAME,
SEGMENT_TYPE,
OWNER,
A.TABLESPACE_NAME "TABLESPACENAME",
INITIAL_EXTENT/1024 "INITAL_EXTENT(K)",
NEXT_EXTENT/1024 "NEXT_EXTENT(K)",
PCT_INCREASE,
B.BYTES/1024 "TABLESPACE MAX FREE SPACE(K)",
B.SUM_BYTES/1024 "TABLESPACE TOTAL FREE SPACE(K)"
FROM DBA_SEGMENTS A,
(SELECT TABLESPACE_NAME,MAX(BYTES) BYTES,SUM(BYTES) SUM_BYTES FROM DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME) B
WHERE A.TABLESPACE_NAME=B.TABLESPACE_NAME AND NEXT_EXTENT>B.BYTES
ORDER BY 4,3,1;
查看段(表段、索引段)所使用空间的大小
A、脚本说明:
有时你可能想知道一个表或一个索引占用多少M的空间,这个脚本就是满足你的要求的,把<>中的内容替换一下就可以了。
B、脚本原文:
SELECT OWNER,
SEGMENT_NAME,
SUM(BYTES)/1024/1024
FROM DBA_SEGMENTS
WHERE OWNER=
AND SEGMENT_NAME=
GROUP BY OWNER,SEGMENT_NAME
ORDER BY 3 DESC;
查看数据库中的表锁
A、脚本说明:
这方面的语句的样式是很多的,各式一样,不过我认为这个是最实用的,不信你就用一下,无需多说,锁是每个DBA一定都涉及过的内容,当你相知道某个表被哪个session锁定了,你就用到了这个脚本。
B、脚本原文
SELECT A.OWNER,
A.OBJECT_NAME,
B.XIDUSN,
B.XIDSLOT,
B.XIDSQN,
B.SESSION_ID,
B.ORACLE_USERNAME,
B.OS_USER_NAME,
B.PROCESS,
B.LOCKED_MODE,
C.MACHINE,
C.STATUS,
C.SERVER,
C.SID,
C.SERIAL#,
C.PROGRAM
FROM ALL_OBJECTS A,
V$LOCKED_OBJECT B,
SYS.GV_$SESSION C
WHERE ( A.OBJECT_ID = B.OBJECT_ID )
AND (B.PROCESS = C.PROCESS )
-- AND
ORDER BY 1,2 ;
处理存储过程被锁
A、脚本说明:
实际过程中可能你要重新编译某个存储过程理总是处于等待状态,最后会报无法锁定对象,这时你就可以用这个脚本找到锁定过程的那个sid,需要注意的是查v$access这个视图本来就很慢,需要一些布耐心。
B、脚本原文:
SELECT * FROM V$ACCESS
WHERE OWNER=
AND OBJECT
?
查看回滚段状态
A、脚本说明
这也是DBA经常使用的脚本,因为回滚段是online还是full是他们的关怀之列嘛
B、脚本原文:
SELECT A.SEGMENT_NAME,B.STATUS
FROM DBA_ROLLBACK_SEGS A,
V$ROLLSTAT B
WHERE A.SEGMENT_ID=https://www.wendangku.net/doc/653555077.html,N
ORDER BY 2
看哪些session正在使用哪些回滚段
A、脚本说明:
当你发现一个回滚段处理full状态,你想使它变回online状态,这时你便会用alter rollback segment rbs_seg_name shrink,可很多时侯确shrink不回来,主要是由于某个session在用,这时你就用到了这个脚本,找到了sid的serial#余下的事就不用我说了吧。
B、脚本原文
SELECT https://www.wendangku.net/doc/653555077.html, 回滚段名,
S.SID,
S.SERIAL#,
https://www.wendangku.net/doc/653555077.html,ERNAME 用户名,
S.STATUS,
T.CR_GET,
T.PHY_IO,
https://www.wendangku.net/doc/653555077.html,ED_UBLK,
T.NOUNDO,
SUBSTR(S.PROGRAM, 1, 78) 操作程序
FROM SYS.V_$SESSION S,SYS.V_$TRANSACTION T,SYS.V_$ROLLNAME R
WHERE T.ADDR = S.TADDR AND T.XIDUSN = https://www.wendangku.net/doc/653555077.html,N
-- AND https://www.wendangku.net/doc/653555077.html, IN ('ZHYZ_RBS')
ORDER? BY T.CR_GET,T.PHY_IO
查看正在使用临时段的session
A、脚本说明:
许多的时侯你在查看哪些段无法扩展时,回显的结果是临时段,或你做表空间统计时发现临段表空间的可用空间几乎为0,这时按oracle的说法是你只有重新启动数据库才能回收这部分空间。实际过程中没那么复杂,使用以下这段脚本把占用临时段的session杀掉,然后用alter tablespace temp coalesce;这个语句就把temp表空间的空间回收回来了。
B、脚本原文
SELECT USERNAME,SID,SERIAL#,SQL_ADDRESS,MACHINE,PROGRAM,
TABLESPACE,SEGTYPE,CONTENTS FROM V$SESSION SE,V$SORT_USAGE SU
WHERE SE.SADDR=SU.SESSION_ADDR;
常用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、说明:几个高级查询运算词
SQL查询语句大全集锦 MYSQL查询语句大全集锦 一、简单查询 简单的Transact-SQL查询只包括选择列表、FROM子句和WHERE子句。它们分别说明所查询列、查询的 表或视图、以及搜索条件等。 例如,下面的语句查询testtable表中姓名为“张三”的nickname字段和email字段。 复制内容到剪贴板 代码:SELECT `nickname`,`email`FROM `testtable`WHERE `name`='张三' (一) 选择列表 选择列表(select_list)指出所查询列,它可以是一组列名列表、星号、表达式、变量(包括局部变量和全局变量)等构成。 1、选择所有列 例如,下面语句显示testtable表中所有列的数据: 复制内容到剪贴板 代码:SELECT * FROM testtable 2、选择部分列并指定它们的显示次序 查询结果集合中数据的排列顺序与选择列表中所指定的列名排列顺序相同。 例如: 复制内容到剪贴板 代码:SELECT nickname,email FROM testtable 3、更改列标题 在选择列表中,可重新指定列标题。定义格式为: 列标题=列名 列名列标题 如果指定的列标题不是标准的标识符格式时,应使用引号定界符,例如,下列语句使用汉字显示列 标题:
复制内容到剪贴板 代码:SELECT 昵称=nickname,电子邮件=email FROM testtable 4、删除重复行 SELECT语句中使用ALL或DISTINCT选项来显示表中符合条件的所有行或删除其中重复的数据行,默认 为ALL。使用DISTINCT选项时,对于所有重复的数据行在SELECT返回的结果集合中只保留一行。 5、限制返回的行数 使用TOP n [PERCENT]选项限制返回的数据行数,TOP n说明返回n行,而TOP n PERCENT时,说明n是 表示一百分数,指定返回的行数等于总行数的百分之几。 例如: 复制内容到剪贴板 代码:SELECT TOP 2 * FROM `testtable` 复制内容到剪贴板 代码:SELECT TOP 20 PERCENT * FROM `testtable` (二) FROM子句 FROM子句指定SELECT语句查询及与查询相关的表或视图。在FROM子句中最多可指定256个表或视图, 它们之间用逗号分隔。 在FROM子句同时指定多个表或视图时,如果选择列表中存在同名列,这时应使用对象名限定这些列 所属的表或视图。例如在usertable和citytable表中同时存在cityid列,在查询两个表中的cityid时应使用下面语句格式加以限定: 复制内容到剪贴板 代码:SELECT `username`,citytable.cityid FROM `usertable`,`citytable` WHERE usertable.cityid=citytable.cityid在FROM子句中可用以下两种格式为表或视图指定别名: 复制内容到剪贴板 代码:表名 as 别名 表名别名例如上面语句可用表的别名格式表示为: 复制内容到剪贴板
一、基础 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
数据库经典SQL语句大全 篇一:经典SQL语句大全 下列语句部分是Mssql语句,不可以在access中使用。 SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK) 首先,简要介绍基础语句: 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建备份数据的 device USE master EXEC sp_addumpdevice 'disk','testBack', 'c:mssql7backupMyNwind_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、说明: 删除新表: 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 注:索引是不可更改的,想更改必须删除重新建。
学会数据库是很实用D~~记录一些常用的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 X围 插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where X围 更新:update table1 set field1=value1 where X围 查找: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
经典SQL语句大全 —、基础 1说明:创建数据库 CREATE DATABASE database-n ame 2、说明:删除数据库 drop database dbn ame 3、说明:备份sql server ---创建备份数据的device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwi nd_1.dat' ---开始备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 create table tab name(col1 type1 [not nu II] [primary key],col2 type2 [not nul l] ,..) 根据已有的表创建新表: 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 tab name 6、说明:增加一个列 Alter table tab name add colu mn col type 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varc har类型的长度。 7、说明:添加主键:Alter table tab name add primary key(col) 说明:删除主键 : Alter table tab name drop primary key(col) 8、说明:创建索弓丨:create [unique] index idxname on tabname(col ….) 删除索弓丨:drop index idxname 注:索引是不可更改的,想更改必须删除重新建。 9、说明:创建视图:create view view name as select stateme nt 删除视图:drop view view name 10、说明:几个简单的基本的sql语句 选择:select * from tablei where 范围 插入:in sert 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
数据库基本SQL语句大全 数据库基本----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、d at' --- 开始备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 create table tabname(col1 type1 [not null] [primary key],col2 typ e2 [not null],、、) 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2…from tab_old definit ion 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
西门子ABB等PLC专用经典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 idxna me 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
SQL语句实例 表操作 例 1 对于表的教学管理数据库中的表STUDENTS ,可以定义如下:CREATE TABLE STUDENTS (SNO NUMERIC (6, 0) NOT NULL SNAME CHAR (8) NOT NULL AGE NUMERIC(3,0) SEX CHAR(2) BPLACE CHAR(20) PRIMARY KEY(SNO)) 例 2 对于表的教学管理数据库中的表ENROLLS ,可以定义如下: CREATE TABLE ENROLLS (SNO NUMERIC(6,0) NOT NULL CNO CHAR(4) NOT NULL GRADE INT PRIMARY KEY(SNO,CNO) FOREIGN KEY(SNO) REFERENCES STUDENTS(SNO) FOREIGN KEY(CNO) REFERENCES COURSES(CNO) CHECK ((GRADE IS NULL) OR (GRADE BETWEEN 0 AND 100))) 例 3 根据表的STUDENTS 表,建立一个只包含学号、姓名、年龄的女学生表。 CREATE TABLE GIRL
AS SELECT SNO, SNAME, AGE FROM STUDENTS WHERE SEX=' 女'; 例 4 删除教师表TEACHER 。 DROP TABLE TEACHER 例 5 在教师表中增加住址列。 ALTER TABLE TEACHERS ADD (ADDR CHAR(50)) 例 6 把STUDENTS 表中的BPLACE 列删除,并且把引用BPLACE 列的所有视图和约束也一起删除。 ALTER TABLE STUDENTS DROP BPLACE CASCADE 例7 补充定义ENROLLS 表的主关键字。 ALTER TABLE ENROLLS ADD PRIMARY KEY (SNO,CNO) ; 视图操作(虚表) 例9 建立一个只包括教师号、姓名和年龄的视图FACULTY 。( 在视图定义中不能包含ORDER BY 子句) CREATE VIEW FACULTY AS SELECT TNO, TNAME, AGE FROM TEACHERS 例10 从学生表、课程表和选课表中产生一个视图GRADE_TABLE ,它包括学生姓名、课程名和成绩。 CREATE VIEW GRADE_TABLE AS SELECT SNAME,CNAME,GRADE FROM STUDENTS,COURSES,ENROLLS WHERE STUDENTS.SNO =ENROLLS.SNO AND https://www.wendangku.net/doc/653555077.html,O=https://www.wendangku.net/doc/653555077.html,O 例11 删除视图GRADE_TABLE DROP VIEW GRADE_TABLE RESTRICT 索引操作 例12 在学生表中按学号建立索引。 CREATE UNIQUE INDEX ST ON STUDENTS (SNO,ASC) 例13 删除按学号所建立的索引。 DROP INDEX ST 数据库模式操作
数据库基本_SQL语句大全 学会数据库是很实用D~~记录一些常用的sql语句...有入门有提高有见都没见过的...好全...收藏下... 其实一般用的就是查询,插入,删除等语句而已....但学学存储过程是好事...以后数据方面的东西就不用在程序里搞喽..而且程序与数据库只要一个来回通讯就可以搞定所有数据的操作.... 一、基础 1、说明:创建数据库 Create DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建备份数据的 device USE master EXEC sp_addumpdevice ‘disk‘, ‘testBack‘, ‘c:\mssql7backup\‘ --- 开始备份 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 范围
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 [uniqu e] 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 运算符
经典实用SQL语句大全总结 [编辑语言]2015-05-26 19:56 本文导航 1、首页 2、11、说明:四表联查问题: 本文是经典实用SQL语句大全的介绍,下面是该介绍的详细信息。 下列语句部分是Mssql语句,不可以在access中使用。 SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK) 首先,简要介绍基础语句: 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、说明:
经典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 nul l],..) 根据已有的表创建新表: 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中列加上后数据类型也不能改变,唯一能改变的是增加var char类型的长度。
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。
下列语句部分是Mssql语句,不可以在access中使用。 SQL分类: DDL DDL——数据定义语言(CREATE,ALTER,DROP,DECLARE) DML——数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DML DCL——数据控制语言(GRANT,REVOKE,COMMIT,DCL ROLLBACK) 首先,简要介绍基础语句: 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(col1type1[not null][primary key],col2type2 [not null],..) 根据已有的表创建新表:
A:create table tab_new like tab_old(使用旧表创建新表) col1,col2……from tab_old definition B:create table tab_new as select col1,col2 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、说明: tabname(col…….)创建索引:create[unique]index idxname on tabname(col 删除索引:drop index idxname 注:索引是不可更改的,想更改必须删除重新建。 9、说明: 创建视图:create view viewname as select statement 删除视图:drop view viewname 10、说明:几个简单的基本的sql语句 选择:select*from table1where范围
数据库基本_SQL语句大全 学会数据库就是很实用D~~记录一些常用得sql语句、、.有入门有提高有见都没见过得.。、好全。.、收藏下。。。 其实一般用得就就是查询,插入,删除等语句而已。。.。但学学存储过程就是好事、。.以后数据方面得东西就不用在程序里搞喽、。而且程序与数据库只要一个来回通讯就可以搞定所有数据得操作。、。、 一、基础 1、说明:创建数据库 CreateDATABASE database—name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server ——- 创建备份数据得device USEmaster EXEC sp_addumpdevice‘disk‘, ‘testBack‘, ‘c:\mssql7ba ckup\MyNwind_1。dat‘ -——开始备份 BACKUPDATABASE pubs TO testBack 4、说明:创建新表 create tabletabname(col1type1 [not null] [primary key],col2 type2[not null],、、) 根据已有得表创建新表:
A:createtabletab_newlike tab_old (使用旧表创建新表) B:createtable tab_new as select col1,col2… from ta b_old definitiononly 5、说明:删除新表 droptable tabname 6、说明:增加一个列 Altertable tabname add column col type 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变得就是增加varchar类型得长度。 7、说明:添加主键: Alter tabletabname add primary key(col) 说明:删除主键:Alter table tabname drop primary key(col) 8、说明:创建索引:create [unique]index idxname on tabname(col…。) 删除索引:drop index idxname 注:索引就是不可更改得,想更改必须删除重新建。 9、说明:创建视图:createview viewname as select stat ement 删除视图:drop view viewname 10、说明:几个简单得基本得sql语句 选择:select * from table1where范围 插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where 范围