• created_at에는 DEFAULT now()라는 옵션이 붙어 있습니다. 데이터베이스 저장 시 해당 컬럼에 값이 없을 때 MySQL이 기본값을 대신 넣습니다. now()는 현재 시각을 넣으라는 뜻입니다. now() 대신 CURRENT_TIMESTAMP를 적어도 같은 뜻이 됩니다. 사용자 정보를 넣으면 created_at 컬럼에는 넣는 순간의 시각이 자동으로 기록됩니다.
• 해당 컬럼이 기본 키인 경우에 PRIMARY KEY 옵션을 설정합니다. 기본 키란 로우를 대표하는 고유한 값을 의미합니다. 데이터베이스에 데이터를 넣을 때 로우 단위로 넣습니다. 이때 로우들을 구별할 고유한 식별자가 필요합니다. 이름, 나이, 결혼 여부 컬럼은 다른 사람과 내용이 겹칠 수 있습니다. 자기소개는 내용을 입력하지 않아도 되므로 고유하지 않습니다. 따라서 id라는 새로운 컬럼을 하나 만들어 고유한 번호를 부여한 것입니다. 주민등록번호나 학번과 비슷한 개념입니다. MySQL에는 PRIMARY KEY(id)라는 옵션으로 id 컬럼이 기본 키임을 알렸습니다.
• UNIQUE INDEX는 해당 값이 고유해야 하는지에 대한 옵션이며, name 컬럼이 해당됩니다. 인덱스의 이름은 name_UNIQUE로, name 컬럼을 오름차순(ASC)으로 기억하겠다는 것입니다. 내림차순은 DESC입니다. PRIMARY KEY나 UNIQUE INDEX의 경우에는 데이터베이스가 별도로 컬럼을 관리하므로 조회 시 속도가 빨라집니다. 기본 키인 id도 사실 고유해야 하지만, PRIMARY KEY는 자동으로 UNIQUE INDEX를 포함하므로 따로 적지 않아도 됩니다.