In a covalent bond, atoms are sharing electrons. (Nonmetal + nonmetal)
In a ionic bond, one atom needs to steal an electron from another atom. Ionic bonds form only between a metal + nonmetal.
In a metallic bond, all atoms give off their extra electrons and form a sea of electrons due to them having low electronegativity. This bond happens between metal + metal.