日度归档:2019年7月10日

使用sql脚本获取mysql中指定数据表拥有的字段数的方法分享


摘要:
今天同事让我数一下”****”表有多少个字段?
看到这个问题,脑袋顿时一嗡,这该咋办呢,这张表的字段数,一眼看不到边啊,
通过多方资料的查阅,才知道可以通过查询系统定义表获取数据表中拥有的字段数 ,如下所示:
实验环境:mysql



实现思路:
通过检索mysql中的information_schema.COLUMNS数据表,获取相应的列数信息

   ----每列显示一行信息
   select  *  from information_schema.COLUMNS
            where TABLE_SCHEMA='数据库名称' and table_name='数据表名称'
   
   ---显示汇总列信息
   select count(*) from information_schema.COLUMNS
         where TABLE_SCHEMA='数据库名称' and table_name='数据表名称'

mssql sqlserver 数据库视图作用是什么?在什么情况下使用视图呢?


摘要:
下文将伴随着视图的作用和何时应用视图两个问题展开详细的讨论,如下所示:
实验环境:sql server 2008 R2


第一次查看同事写的视图时,我们里面都是一些表关联,百思不得其解,为什么可以使用联结形式数据,为什么要编写一个多余的视图呢?
请教了公司的DBA,得到以下的答案

一、安全性

视图是基于物理表上新建的虚拟表,通过视图的权限设置,我们可以控制相应的用户只可查看相应的数据信息,避免出现多余的用户信息被其他用户查看,可在一定程度上防止数据泄密。

二、易用性

由于我们建立了视图,可使用户在数据查询上简化操作,复杂的数据联结交给DBA去编写。

三、服务性

由于可以通过视图定义数据列,数据内容,我们可以使用BI工具,例:excel直接对应到数据库的视图表上,进行相应的数据查阅和报表编制上。

mssql sqlserver中系统存储过程 sp_help和sp_helptext关键字简介说明


摘要:
下文讲述系统存储过程sp_help和sp_helptext的功能简介,如下所示:
实验环境:sql server 2008 R2


sp_help

sp_help关键字功能:
返回数据库对象的一些信息,例:使用数据表的形式返回数据表中的数据类型信息
sp_help语法说明:

sp_help [ [ @objname = ] name ]

参数说明:
@objname参数为非必填项,缺省值为null
此参数可输入数据库中任何对象的名称(包括用户自定义类型)
—–返回值说明——
返回 0 代表运行成功
返回 1 代表运行失败
—-1.不输入参数时,返回列信息说明—–

列名

数据类型

描述
Name

nvarchar(128)

对象名
Owner

nvarchar(128)

对象所有者
Object_type

nvarchar(31)

对象类型

—-2. 输入名称为用户自定义数据类型时—–

列名

数据类型

备注
Type_name

nvarchar(128)

数据类型名称。
Storage_type

nvarchar(128)

SQL Server 类型名称。
Length

smallint

数据类型的物理长度(以字节为单位)。
Prec

int

精度(总的数字位数)。
Scale

int

小数点右边的数字位数。
Nullable

varchar(35)

指明是否允许 NULL 值:是或否。
Default_name

nvarchar(128)

绑定到该类型的默认值名称。如果没有绑定默认值,则为 NULL。
Rule_name

nvarchar(128)

绑定到该类型的规则名称。如果没有绑定默认值,则为 NULL。
Collation

sysname

数据类型的排序规则。如果是非字符数据类型,则为 NULL。

—-3. 输入名称为其它对象时—–

列名

数据类型

备注
Name

nvarchar(128)

对象名称
Owner

nvarchar(128)

对象名称所有者
Type

nvarchar(31)

对象类型
Created_datetime

datetime

创建的日期表

在sqlserver中,sp_help关键字会随着对象类型的不同,返回不同的数据列信息


sp_helptext

sp_helptext关键字功能:
显示规则、默认值、未加密的存储过程、用户定义函数、触发器或视图的文本
sp_helptext语法说明:

sp_helptext [ [ @objname = ] name ]

参数说明:
对象名称 ,此参数为必填项
—–返回值说明——
返回 0 代表运行成功
返回 1 代表运行失败
——print信息说明—–
此关键字会输出对象的定义sql脚本

  ---例:sp_helptext 输出存储过程pr_maomao的定义
   sp_helptext 'pr_maomao'