title: SQL Column definition: default value and not null redundant?
body: <p>I've seen many times the following syntax which defines a column in a create/alter DDL statement:</p>
  <pre><code>ALTER TABLE tbl ADD COLUMN col VARCHAR(20) NOT NULL DEFAULT &quot;MyDefault&quot;
  </code></pre>
  <p>The question is: since a default value is specified, is it necessary to also specify that the column should not accept <code>NULL</code>s? In other words, doesn't <code>DEFAULT</code> render <code>NOT NULL</code> redundant?</p>