sql数据库表大小
直接在查询分析器运行即可:
declare @id int
declare @type character(2)
declare @pages
int
declare @dbname sysname
declare @dbsize dec(15,0)
declare @bytesperpage dec(15,0)
declare @pagesperMB dec(15,0)
create table #spt_space
(
objid int null,
rows int null,
reserved dec(15) null,
data dec(15) null,
indexp dec(15) null,
unused dec(15) null
)
set nocount on
-- Create a cursor to loop through the user tables
declare c_tables cursor for
select id
from sysobjects
where xtype = 'U'
open c_tables
fetch next from c_tables
into @id
while @@fetch_status = 0
begin
/* Code from sp_spaceused */
insert into #spt_space (objid, reserved)
select objid = @id, sum(reserved)
from sysindexes
where indid in (0, 1, 255)
and id = @id
select @pages = sum(dpages)
from sysindexes
where indid < 2
and id = @id
select @pages = @pages + isnull(sum(used), 0)
from sysindexes
where indid = 255
and id = @id
update #spt_space
set data = @pages
where objid = @id
/* index: sum(used) where indid in (0, 1, 255) - data */
update #spt_space
set indexp = (select sum(used)
from sysindexes
where indid in (0, 1, 255)
and id = @id)
- data
where objid = @id
/* unused: sum(reserved) - sum(used) where indid in (0, 1, 255) */
update #spt_space
set unused = reserved
- (select sum(used)
from sysindexes
where indid in (0, 1, 255)
and id = @id)
where objid = @id
update #spt_space
set rows = i.rows
from sysindexes i
where i.indid < 2
and i.id = @id
and objid = @id
fetch next from c_tables
into @id
end
select TableName = (select left(name,60) from sysobjects where id = objid),
Rows = convert(char(11), rows),
ReservedKB = ltrim(str(reserved * d.low / 1024.,15,0) + ' ' + 'KB'),
DataKB = ltrim(str(data * d.low / 1024.,15,0) + ' ' + 'KB'),
IndexSizeKB = ltrim(str(indexp * d.low / 1024.,15,0) + ' ' + 'KB'),
UnusedKB = ltrim(str(unused * d.low / 1024.,15,0) + ' ' + 'KB')
from #spt_space, master.dbo.spt_values d
where d.number = 1
and d.type = 'E'
order by reserved desc
drop table #spt_space
close c_tables
deallocate c_tables
‘贰’ 如何用sql统计数据库表的大小
查看mysql数据库大小的四种办法,分别有以下四种:
第一种:进去指定schema 数据库(存放了其他的数据库的信息)
use information_schema
第二种:查询所有数据的大小
select concat(round(sum(DATA_LENGTH/1024/1024),2),'MB') as data from TABLES(http://www.6ddd.com)
第三种:查看指定数据库的大小,比如说:数据库apoyl
select concat(round(sum(DATA_LENGTH/1024/1024),2),'MB') as data from TABLES where table_schema='apoyl';
第四种:查看指定数据库的表的大小,比如说:数据库apoyl 中apoyl_test表
select concat(round(sum(DATA_LENGTH/1024/1024),2),'MB') as data from TABLES where table_schema='apoyl' and table_name='apoyl_test';
‘叁’ SQLserver数据库怎么给指定的表区分大小写
这个 ALTER DATABASE 语句用来修改数据库的属性,比如改变它的默认排序规则(即 COLLATE)。因此,你可以使用它来设置数据库中所有表都区分大小写。
要使用这个语句,你需要先确保你有足够的权限去修改数据库。然后,你可以在 SQL Server Management Studio 中执行以下步骤:
打开 SQL Server Management Studio 并连接到你想要修改的数据库服务器。
在对象资源管理器中,右键单击你想要修改的数据库旅袜陆,然后选择“属性”。
在“数据库属性”窗口中,选择“排序规则”选项卡。
在“排序规则”下拉列表中,选择“Chinese_PRC_CS_AS”。
单击“确定”按钮以拆顷保存更改。
这样,数据库中的所有表都将区分大小写。但是,如果你只想修改某个特定的表,那么你可以在创建表时指定它的排序规则,或者使用 ALTER TABLE 语句来修改表的排序规则。
举个例子,假设你想要修改名为“TBL_ACCOUNT”的表,使其区分大小写,你可以在创建表时指定排序规则:
这个 ALTER DATABASE 语句用来修改数据库的属性,比如改变它的默认排序规则(即 COLLATE)。因此,你可以使用它来设置数据库中所有表都区分大小写。
要使用这个语句,你需要先确保你有足够的权限去修改数据库。然后,你可以在 SQL Server Management Studio 中执行以下步骤:
打开 SQL Server Management Studio 并连接到你想要修改的数据库服务器。
在对象资源管理器中,右键单击你想要修改的数据库,然后选择“属性”。
在“数据库属性”窗口中,选择“排序规则”选项卡。
在“排序规则”下拉列表中,选择“Chinese_PRC_CS_AS”。
单击“确定”按钮以保存更改。
这样,数据库中的所有表都将区分大小写。但是,如果你只想修改某个特定的表,那么你可以在创建表时指定它的排序规则,或者使用好卖 ALTER TABLE 语句来修改表的排序规则。
举个例子,假设你想要修改名为“TBL_ACCOUNT”的表,使其区分大小写,你可以在创建表时指定排序规则:
CREATE TABLE TBL_ACCOUNT (
id INT PRIMARY KEY,
username VARCHAR(255) COLLATE Chinese_PRC_CS_AS,
password VARCHAR(255)
);
或者,如果你已经创建了表,你可以使用 ALTER TABLE 语句来修改表的排序规则:
ALTER TABLE TBL_ACCOUNT
ALTER COLUMN username VARCHAR(255) COLLATE Chinese_PRC_CS_AS;
这样就可以让表“TBL_ACCOUNT”区分大小写了。
‘肆’ sql数据库中常用的数据类型有什么
一、整数数据类型:整数数据类型是最常用的数据类型之一。
1、INT(INTEGER)
INT (或INTEGER)数据类型存储从-2的31次方 (-2 ,147 ,483 ,648) 到2的31次方-1 (2 ,147 ,483,647) 之间的所有正负整数。每个INT 类型的数据按4 个字节存储,其中1 位表示整数值的正负号,其它31 位表示整数值的长度和大小。
2、SMALLINT
SMALLINT 数据类型存储从-2的15次方( -32, 768) 到2的15次方-1( 32 ,767 )之间的所有正负整数。每个SMALLINT 类型的数据占用2 个字节的存储空间,其中1 位表示整数值的正负号,其它15 位表示整数值的长度和大小。
二、浮点数据类型:浮点数据类型用于存储十进制小数。浮点数值的数据在SQL Server 中采用上舍入(Round up 或称为只入不舍)方式进行存储。
1、REAL数据类型
REAL数据类型可精确到第7 位小数,其范围为从-3.40E -38 到3.40E +38。 每个REAL类型的数据占用4 个字节的存储空间。
2、FLOAT
FLOAT数据类型可精确到第15 位小数,其范围为从-1.79E -308 到1.79E +308。 每个FLOAT 类型的数据占用8 个字节的存储空间。 FLOAT数据类型可写为FLOAT[ n ]的形式。n 指定FLOAT 数据的精度。n 为1到15 之间的整数值。
当n 取1 到7 时,实际上是定义了一个REAL 类型的数据,系统用4 个字节存储它;当n 取8 到15 时,系统认为其是FLOAT 类型,用8 个字节存储它。
三、二进制数据类型
1、BINARY
BINARY 数据类型用于存储二进制数据。其定义形式为BINARY( n), n 表示数据的长度,取值为1 到8000 。在使用时必须指定BINARY 类型数据的大小,至少应为1 个字节。BINARY 类型数据占用n+4 个字节的存储空间。
在输入数据时必须在数据前加上字符“0X” 作为二进制标识,如:要输入“abc ”则应输入“0xabc ”。若输入的数据过长将会截掉其超出部分。若输入的数据位数为奇数,则会在起始符号“0X ”后添加一个0,如上述的“0xabc ”会被系统自动变为“0x0abc”。
2、VARBINARY
VARBINARY数据类型的定义形式为VARBINARY(n)。 它与BINARY 类型相似,n 的取值也为1 到8000, 若输入的数据过长,将会截掉其超出部分。
不同的是VARBINARY数据类型具有变动长度的特性,因为VARBINARY数据类型的存储长度为实际数值长度+4个字节。当BINARY数据类型允许NULL 值时,将被视为VARBINARY数据类型。
四、逻辑数据类型
1、BIT:BIT数据类型占用1 个字节的存储空间,其值为0 或1 。如果输入0 或1 以外的值,将被视为1。 BIT 类型不能定义为NULL 值(所谓NULL 值是指空值或无意义的值)。
五、字符数据类型:字符数据类型是使用最多的数据类型。它可以用来存储各种字母、数字符号、特殊符号。一般情况下,使用字符类型数据时须在其前后加上单引号’或双引号” 。
1、CHAR
CHAR 数据类型的定义形式为CHAR[ (n) ]。 以CHAR 类型存储的每个字符和符号占一个字节的存储空间。n 表示所有字符所占的存储空间,n 的取值为1 到8000, 即可容纳8000 个ANSI 字符。
若不指定n 值,则系统默认值为1。 若输入数据的字符数小于n,则系统自动在其后添加空格来填满设定好的空间。若输入的数据过长,将会截掉其超出部分。
(4)sql数据库表大小扩展阅读:
SQL包括了所有对数据库的操作,主要是由4个部分组成:
1、数据定义:这一部分又称为“SQL DDL”,定义数据库的逻辑结构,包括定义数据库、基本表、视图和索引4部分。
2、数据操纵:这一部分又称为“SQL DML”,其中包括数据查询和数据更新两大类操作,其中数据更新又包括插入、删除和更新三种操作。
3、数据控制:对用户访问数据的控制有基本表和视图的授权、完整性规则的描述,事务控制语句等。
4、嵌入式SQL语言的使用规定:规定SQL语句在宿主语言的程序中使用的规则。
‘伍’ 在sql server数据库中如何得知表的大小而又不影响性能
你描述的不清楚到底是什么表大小,但是谈及性能,我猜想你应该是想知道表的行数,影响最低的方式就是通过系统函数来获取,如图。
selectcount(1)fromtest1
go
sp_spaceusedtest1