A、金属内部存在自由移动的离子;
B、盐溶液导电是因为溶液中含有能自由移动的离子;
C、CO2水溶液能导电,是二氧化碳和水反应生成的碳酸导电;
D、CaCO3难溶于水,但溶于水的部分能完全电离.
【解析】
A、金属Al能够导电,是因为金属Al内部存在自由移动的金属阳离子的缘故,故A错误;
B、NaCl溶液导电是因为溶液中含有能自由移动的钠离子和氯离子,故B错误;
C、CO2水溶液能导电,是二氧化碳和水反应生成的碳酸导电,不是二氧化碳本身导电,故C错误;
D、CaCO3难溶于水,但溶于水的部分能完全电离,或者说碳酸钙在熔融态时能导电,所以CaCO3是电解质,故D正确.
故选D.