接到新数据库时,分析业务常用的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.概述 名词 笛卡尔积.主 ...
随机推荐
- Microsoft Security Essentials 和 Windows Defender 离线升级包下载地址
自从微软提供了免费的杀毒软件之后我就卸载掉了其他的杀毒软件.但是最近遇到了个小问题,我这里有一批电脑不能联网,杀毒软件的升级成了问题.在网上搜索了一番,终于找到了官方的离线升级包下载地址.放在这里备用 ...
- Dubbo原理及配置
技术交流群:233513714 Dubbo的背景 随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进 ...
- mysql 大数据分页查询优化
应用场景: 当有一张表的数据非常大,需要使用到分页查询,分页查询在100w条后查询效率非常低: 解决方案: 1.业务层解决:只允许用户翻页一百页以内,十条一页: 2.使用where id > 5 ...
- 『JavaScript』new关键字
原文 new关键字做了什么 在JavaScript中,使用new关键字后,意味着做了如下四件事情: 创建一个新的对象,这个对象的类型是object: 设置这个新的对象的内部.可访问性和[[protot ...
- 用链表实现nodejs的内存对象管理
虽然javascript拥有垃圾收集,但是垃圾收集机制并不会自动释放持久对象,比如websocks连接. 为了能够在某些特定情况下中止一些连接(比如内存不足),显然要建立全局的对象管理器进行管理. 显 ...
- Percona-Tookit工具包之pt-mysql-summary
Preface Sometimes we need to collect information of MySQL server as a report when we first ...
- 怎么在windows10中关闭Windows Defender?
通过修改注册表,永久禁用Windows Defender 打开注册表编辑器. 按 Win +R键入regedit,点击确定. 定位需要修改的注册表 其路径如下 HKEY_LOCAL_MACHIN ...
- 梳理 Opengl ES 3.0 (三)顶点坐标变换
先来个宏观上的理解: 其实这块逻辑是个标准流程,而且其他地方介绍的也很多了,这里简单提下. 坐标转换,其实是不同坐标系之间的变换,一个渲染顶点,要想让它呈现在屏幕上的某个位置,是需要让这个顶点经过一个 ...
- 创建vpc网络
vpc相关功能点: 模块 功能点 描述 备注 VPC 创建vpc网络 创建vpc网络,指定vpc网络名称 修改vpc网络 修改vpc网络名称 删除vpc网络 删除vpc网络 vpc相关命令 ...
- c free 使用MSDN library定制
为了不使用vc6但是还要使用visual assist的各种自动功能,决定使用c free ,但是怎么调用微软的MSDN library呢,我目前使用的版本是MSDN 1.5精简版bing自动翻译的. ...