接到新数据库时,分析业务常用的SQL语句
USE DataBaseName--清空当前GridView显示,释放内存:
SELECT GETDATE()
--数据库关系图
SELECT * FROM sysdiagrams
--列出所有表
SELECT * FROM information_schema.TABLES ORDER BY TABLE_NAME ASC
--显示当前数据库的所有列名
SELECT TABLE_NAME,COLUMN_NAME,DATA_TYPE FROM information_schema.columns WHERE TABLE_NAME LIKE '%TableName%'
--查找出指定的列名在哪些表中存在:
SELECT * FROM information_schema.columns WHERE column_name ='Col1'
--查看表明细信息(数据全面,但不便快速浏览):
EXEC sp_help Orders
--查看表结构:
SELECT sys.columns.name, sys.types.name AS types, sys.columns.max_length,sys.columns.is_nullable, (SELECT COUNT(*) FROM sys.identity_columns
WHERE sys.identity_columns.object_id = sys.columns.object_id AND sys.columns.column_id = sys.identity_columns.column_id) AS is_identity ,
(SELECT value FROM sys.extended_properties WHERE sys.extended_properties.major_id = sys.columns.object_id
AND sys.extended_properties.minor_id = sys.columns.column_id) AS description FROM sys.columns, sys.tables, sys.types
WHERE sys.columns.object_id = sys.tables.object_id AND sys.columns.system_type_id=sys.types.system_type_id
AND sys.tables.name='TableName'
AND sys.types.name != 'sysname' -- 去除系统的名称
ORDER BY sys.columns.name
--显示表字段的描述信息:
SELECT objname,value FROM ::fn_listextendedproperty (NULL, 'user', 'dbo', 'table', 'XXX', 'column', DEFAULT)
--查询一个表有哪些存储过程:
EXEC sp_depends Hotel
--显示存储过程的脚本内容:
EXEC sp_helptext PPaymentLogGetInfo
--查看当前数据库中列名的默认值(不包含NULL值):
SELECT a.name,OBJECT_NAME(a.parent_object_id) AS tableName,
a.definition,a.is_system_named,b.name AS 列名
FROM sys.default_constraints a LEFT JOIN sys.columns b ON
a.parent_object_id=b.object_id AND b.column_id=a.parent_column_id
WHERE OBJECT_NAME(a.parent_object_id)='XXX'
--为字段增加描述信息:
EXEC sp_addextendedproperty --不能重复添加,可以修改。
'MS_Description', '描述字符串',
'user', dbo,
'table', 'TableName',
'column', ColumnName
EXEC sp_dropextendedproperty 'MS_Description','user',dbo,'table','TableName','column',ColumnName --删除
EXEC sp_updateextendedproperty --要存在了对应的属性才能修改;
'MS_Description',
'BookTitle',
'user', dbo,
'table', 'Books',
'column', Title
--技巧:在创建表的时候一起执行增加属性的存储过程可以实现“同时”创建字符描述:
--SQL Server - Can you add field descriptions in CREATE TABLE? - Stack Overflow
--http://stackoverflow.com/questions/1985254/sql-server-can-you-add-field-descriptions-in-create-table
--Example:
))
EXEC sp_addextendedproperty 'MS_Description', '描述字符串', 'user', dbo, 'table', 'TableName', 'column', id
--查看结果:
SELECT * FROM ::fn_listextendedproperty (NULL, 'user', 'dbo', 'table', 'TableName', 'column', DEFAULT)
--临时表
/*
[注明]
本地临时表的名称以单个数字符号 (#) 打头;它们仅对当前的用户连接是可见的;当用户从 sql server 实例断开连接时被删除。
全局临时表的名称以两个数字符号 (##) 打头,创建后对任何用户都是可见的,当所有引用该表的用户从 sql server 断开连接时被删除。
*/
IF OBJECT_ID('tempdb..#temp') IS NOT NULL
DROP TABLE #temp
SELECT * INTO #temp FROM ShipTicketWs
SELECT * FROM #tempIN
-----------------------【删除数据库里的所有表】----------------Begin-----------------
--如果由于外键约束删除table失败,则先删除所有约束:
--/第1步**********删除所有表的外键约束*************************/
DECLARE c1 CURSOR
FOR
SELECT 'alter table [' + OBJECT_NAME(parent_obj) + '] drop constraint ['+ name + ']; ' FROM sysobjects WHERE xtype = 'F';
OPEN c1;
);
FETCH NEXT FROM c1 INTO @c1;
)
BEGIN
EXEC(@c1);
FETCH NEXT FROM c1 INTO @c1;
END;
CLOSE c1;
DEALLOCATE c1;
--/第2步**********删除所有表*************************/
USE XXXXX --数据库名(是要删除表的所在的那个数据库的名称)
GO
);
BEGIN
SELECT @sql = 'drop table ' + name
FROM sysobjects
WHERE (type = 'U')
ORDER BY 'drop table ' + name;
EXEC(@sql);
END;
--删除所有的存储过程同理可得,但不需要走第一步,只需将第2步的代码的where type='U' 改成 where type='P',drop table 改成 drop Procedure。
--Sql Server 删除所有表 - jiangys - 博客园
--http://www.cnblogs.com/jys509/p/3589468.html
-----------------------【删除数据库里的所有表】----------------End----------------------
-- 一、查看表名和对应的数据行数
--SQL Server查看所有表大小,所占空间 - niky - 博客园
--http://www.cnblogs.com/nikyxxx/archive/2012/10/08/2715423.html
* FROM RequestData ORDER BY RequestDataId DESC
SELECT COUNT(*) FROM RequestData WHERE UserAgent LIKE '%Firefox%'
DELETE RequestData WHERE UserAgent LIKE '%Firefox%'
select a.name as '表名',b.rows as '表数据行数'
from sysobjects a inner join sysindexes b
on a.id = b.id
where a.type = 'u'
,)
--and a.name not like 't%'
order by b.rows desc
--二、查看表名和表占用空间信息
--判断临时表是否存在,存在则删除重建
from tempdb..sysobjects where id=object_id('tempdb..#tabName') and xtype='u')
drop table #tabName
GO
create table #tabName(
tabname ),
rowsNum ),
reserved ),
data ),
index_size ),
unused_size )
)
)
declare cur cursor for
select name from sysobjects where xtype='u' order by name
open cur
fetch next from cur into @name
begin
insert into #tabName
exec sp_spaceused @name
--print @name
fetch next from cur into @name
end
close cur
deallocate cur
select tabname as '表名',rowsNum as '表数据行数',reserved as '保留大小',data as '数据大小',index_size as '索引大小',unused_size as '未使用大小'
from #tabName
--where tabName not like 't%'
order by cast(rowsNum as int) desc
--系统存储过程说明:
--sp_spaceused 该存储过程在系统数据库master下。
exec sp_spaceused '表名' --该表占用空间信息
exec sp_spaceused --当前数据库占用空间信息
--查询建立时间 --表 select * from sysobjects where id=object_id(N'表名') and xtype='U' --表的结构 select * from syscolumns where id=object_id(N'表名') --存储过程 select * from sysobjects where id=object_id(N'dqtx') and xtype='P' --查询最后修改时间 --存储过程 select name,modify_date from sys.all_objects where name = '存储过程' and type='P' order by modify_date desc --触发器 select name,modify_date from sys.all_objects where name = '存储过程' and type='TR' order by modify_date desc --表 select * from sys.all_objects where name = '存储过程' and type='u' order by modify_date desc
接到新数据库时,分析业务常用的SQL语句的更多相关文章
- MySQL安装卸载、idea中Database的使用、常用的sql语句
MySQL安装卸载 MySQL安装 在下面的资源链接中下载MySQL软件压缩包(绿色版),这个版本是MySQL5.7.29的,本教程也只适用于这个绿色版的,如果下载的是安装包那就可能有些地方不一样了, ...
- 面试、笔试中常用的SQL语句(数据库知识必杀)一共50个!!!
Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname,T#) 课程表 SC(S#,C#,score) 成绩表 Teacher(T#,Tname) 教师表 ...
- Oracle数据库常用的Sql语句整理
Oracle数据库常用的Sql语句整理 查看当前用户的缺省表空间 : select username,default_tablespace from user_users; 2.查看用户下所有的表 : ...
- 经典SQL语句大全以及50个常用的sql语句
经典SQL语句大全 一.基础 1.说明:创建数据库CREATE DATABASE database-name 2.说明:删除数据库drop database dbname3.说明:备份sql serv ...
- 经典SQL语句大全、50个常用的sql语句
50个常用的sql语句 Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname,T#) 课程表 SC(S#,C#,score) 成绩表 Teacher(T#,T ...
- 《万能数据库查询分析器》实现使用SQL语句直接高效地访问文本文件
<万能数据库查询分析器>实现使用SQL语句直接高效地访问文本文件 马根峰 (广东联合电子服务股份有限公司, 广州 510300) 摘要 用SQL语句来直接访问文本文件?是在做梦吗? ...
- 常用经典SQL语句大全完整版--详解+实例 (存)
常用经典SQL语句大全完整版--详解+实例 转 傻豆儿的博客 http://blog.sina.com.cn/shadou2012 http://blog.sina.com.cn/s/blog_84 ...
- 常用经典SQL语句大全完整版--详解+实例 《来自网络,很全没整理,寄存与此》
常用经典SQL语句大全完整版--详解+实例 下列语句部分是Mssql语句,不可以在access中使用. SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML ...
- SQL Server中常用的SQL语句(转):
SQL Server中常用的SQL语句 转自:http://www.cnblogs.com/rainman/archive/2013/05/04/3060428.html 1.概述 名词 笛卡尔积.主 ...
随机推荐
- Java : java基础(4) 线程
java开启多线程的方式,第一种是新建一个Thread的子类,然后重写它的run()方法就可以,调用类的对象的start()方法,jvm就会新开一个线程执行run()方法. 第二种是类实现Runabl ...
- PHP一些常用魔术方法
魔术方法 调用方法 作用__set 有两个 ...
- Hadoop(3)-Hadoop介绍
Hadoop三大发行版本 Hadoop三大发行版本:Apache.Cloudera.Hortonworks. Apache版本最原始(最基础)的版本,对于入门学习最好. Cloudera在大型互联网企 ...
- python应用:爬虫实例(动态网页)
以爬取搜狗图片为例,网页特点:采用“瀑布流”的方式加载图片,图片的真实地址存放在XHR中 #-*-coding:utf8-*- import requests import urllib import ...
- EXKMP学习笔记QAQ
因为一本通少了一些算法,所以我就自行补充了一些东西上去. EXKMP也就是扩展KMP,是一种特别毒瘤的东西 EXKMP确实很难,我理解他的时间与AC机的时间差不多,而且还很难记,因此一学会就马上写博客 ...
- Spring MVC - URL路径映射
1. 普通映射 A. @RequestMapping("/test1") B. @RequestMapping(value={"/test1", "/ ...
- Memcached Hash算法
本文来自网易云社区 作者:吕宗胜 Hash算法 1. Memcached Hash介绍 我们在前面的文章中已经介绍过了Memcached的内存管理方式,LRU的策略.由于Memcached的数据存储方 ...
- 【APUE】Chapter15 Interprocess Communication
15.1 Introduction 这部分太多概念我不了解.只看懂了最后一段,进程间通信(IPC)内容被组织成了三个部分: (1)classical IPC : pipes, FIFOs, messa ...
- Windows自带的磁盘填充命令
一张不用了的SD卡要给别人,之前一直是手机使用的,担心有一些资料被恢复,想要将它内容清空.以前就知道数字公司有一个磁盘填充的工具,后来网上搜一搜发现Windows有一个自带的命令用于磁盘填充. 首先进 ...
- NOI中“大整数加法”问题不能AC的解决建议
一.检查输入000和00相加是否出结果. 二.数组不要开小了,亲测256的数组不够.推荐1024. 附录AC程序: 如果不能AC请将256改为1024,255改为1023. #include &l ...