You can find the complete answer on how to learn the space actually used by your database and individual tables in SQL server documentation for "sp_spaceused" SQL stored procedure. Here is brief information:
Syntax sp_spaceused [[@objname =] 'objname'] [,[@updateusage =] 'updateusage']
[@objname =] 'objname'
The name of the table for which you request reserved and allocated space usage information. objname is nvarchar(776), with a default of NULL.
[@updateusage =] 'updateusage'
Indicates whether or not DBCC UPDATEUSAGE should be run within the database (when no objname is specified) or on a specific object (when objname is specified). Values can be true or false. updateusage is varchar(5), with a default of FALSE.
You can find more information in your SQL server books.