A.胃酸的主要成分为盐酸,盐酸和氢氧化镁反应2HCl+Mg(OH)2═MgCl2+2H2O,无气体生成,故A错误;
B.胃酸的主要成分为盐酸,碳酸氢钠和盐酸反应HCl+NaHCO3=NaCl+H2O+CO2↑,有气体生成,故B正确;
C.胃酸的主要成分为盐酸,氢氧化铝与盐酸反应生成氯化铝和水,反应的化学方程式为:Al(OH)3+3HCl═AlCl3+3H2O,无气体生成,故C错误;
D.三硅酸镁和盐酸反应能生成氯化镁、二氧化硅和水,反应的化学方程式为:Mg2Si3O8?nH2O+4HCl=2MgCl2+3SiO2+(n+2)H2O,无气体生成,故D错误;
故选B.