
sql
CREATE TABLE user_info (
id INT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
FOREIGN KEY (id) REFERENCES users (id) ON DELETE CASCADE
);
좋아, 이제 이 코드를 초등학생에게 설명하는 것처럼 쉽게 설명해볼게.
이 코드는 새로운 테이블을 만드는 SQL 명령어야. 테이블은 일종의 데이터베이스 안에 있는 표처럼 생겼고, 정보를 정리해서 저장할 수 있어. 이 코드에서 우리는 user_info라는 새로운 테이블을 만들고 있어.
CREATE TABLE user_info (
id INT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
FOREIGN KEY (id) REFERENCES users (id) ON DELETE CASCADE
);
CREATE TABLE user_info:
user_info를 만들 거야.id INT PRIMARY KEY:
id라는 컬럼을 만들 거야. 이 컬럼은 숫자(INT)로 이루어져 있고, 각각의 id는 유일해. 즉, 같은 id를 가진 두 개의 행(row)은 있을 수 없어. 그래서 PRIMARY KEY라고 불러.name VARCHAR(50) NOT NULL:
name이라는 컬럼도 만들 거야. 이 컬럼은 글자들로 이루어져 있고, 최대 50글자까지 저장할 수 있어. 그리고 이 컬럼은 빈칸일 수 없어, 그래서 NOT NULL이라고 했어.FOREIGN KEY (id) REFERENCES users (id) ON DELETE CASCADE:
id 컬럼은 user_info 테이블에서 고유하지만, 동시에 users 테이블의 id와도 연결돼 있어. 이렇게 다른 테이블과 연결되는 컬럼을 외래 키(FOREIGN KEY)라고 불러.REFERENCES users (id)는 이 id가 users 테이블의 id와 연결된다는 뜻이야.ON DELETE CASCADE는 만약 users 테이블에서 어떤 행(row)을 삭제하면, 그 행과 연결된 user_info의 행도 자동으로 삭제된다는 뜻이야.users 테이블에는 사용자의 기본 정보가 있고, user_info 테이블에는 사용자의 추가 정보가 있을 때 이렇게 관계를 만들 수 있어.ON DELETE CASCADE를 사용할 때, 데이터 삭제 시 다른 테이블의 데이터도 함께 삭제되는 것을 주의해야 해.이제 이 코드를 MySQL Workbench에 입력하고 실행해보면 새로운 user_info 테이블이 만들어질 거야. 이 테이블은 users 테이블의 id를 참조하고 있어서, 두 테이블 간에 연관된 데이터를 쉽게 관리할 수 있어.