Insert-satsen måste skickas till mysql, inte en annan rad i skalskriptet, så du måste göra det till ett "här-dokument".
mysql --host=randomhost --user=randomuser --password=randompass randomdb << EOF
insert into table (field1,field2,field3) values('http://www.site.com/$hash','$file','$size');
EOF
<< EOF
betyder att ta allt före nästa rad som inte innehåller annat än EOF
(inget blanksteg i början) som standardinmatning till programmet.