Are there any rules for naming db's, tables and fields?

For example, I know that MySQL doesn't like white spaces in these names. How about names begining with numbers? etc....

Is there a web site for this info? I tried mysql.com and couldn't find any info on this.