Unfortunately, there's no easy way as you're not able to use * with the way custom metadata type records are referenced in package.xml. If you attempt to do so like below:
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>CountryMapping.*</members>
<name>CustomMetadata</name>
</types>
</Package>
You'll get an error saying
No CustomMetadata named: CountryMapping.* found
This leaves you with only two ways to delete all the records of a Custom Metadata Type (which the first option is usually the only viable option)
- You specify each specific record line by line in your destructiveChanges.xml
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>CountryMapping.UnitedStates</members>
<members>CountryMapping.OtherCountry</members>
<members>CountryMapping.EtcCountry</members>
<name>CustomMetadata</name>
</types>
</Package>
- You delete the custom metadata type itself assuming there's no references in code. You could then redeploy just the object xml (with no records) if you'd like afterwards. Requires more steps and probably not viable assuming you're referencing it in code/something.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>CountryMapping__mdt</members>
<name>CustomObject</name>
</types>
</Package>
__mdt
for theCustomMetadataType
when referencingCustomMetadataTypeRecord
. Ex.<members>CountryMapping.UnitedStates</members>