When saving a table into a DataStore, it does not change the way of saving it, meaning that you should write the same things when you save any other value(although, if the table contains an instance, the script will not save the table)
I'll give you a little example of how to use it.
-- this script inserts the name of a table(string) which it's saved in a datastore with the game id when the player leaves. local MyStore = game:GetService('DataStoreService'):GetDataStore('MyDataStore') local tab = {} local Plrs = game:GetService('Players') Plrs.PlayerAdded:Connect(function(plr) local data local s, e = pcall(function() data = MyStore:GetAsync(game.GameId) end) if s then if data ~= nil then tab = data table.insert(tab, plr.Name) else table.insert(tab, plr.Name) end else warn(e) end print(tab) end) Plrs.PlayerRemoving:Connect(function() local s, e = pcall(function() MyStore:SetAsync(game.GameId, tab) end) if not s then warn(e) end end)