What is the maximum number of tables that can be created in sql and what is the maximum number of columns for a single table?
As seen here: http://msdn.microsoft.com/en-us/library/ms143432.aspx
MS SQL Server can contain 2,147,483,647 objects. Objects include tables, views, stored procedures, user-defined functions, triggers, rules, defaults, constraints and so on. In short you're unlikely to run out of room for objects though.
1024 columns per non-wide table, 30,000 for wide tables.
If you're talking about another database platform then I'm sure google will help.
That would differ by database but I can tell you that if you are thinking of anything close to the max number of columns in a table, you need to redesign. You have an absolute limit on the bytes per record as well and while you can create columns that together would add to more bytes than the record would allow in some databases (I know SQL Server will let you do this), you will eventually have to redisgn becasue one record can't fit the limit. If you are planning for each record to have a lot of null columns, you probaly need related tables instead. Less wide tables also tend to perform better and are far easier to maintain.
SQL as a language dictates no such restrictions, and assumes an unlimited amount of columns, tables and what-have-yous. Also, SQL, as a language, thinks that all operations are constant and instant in time-efficiency.
As the other answerers already have mentioned, different RDBMSes implement things very differently from each others. And few implement SQL in its entirety.