[SQL]: INSERT

김대현·2024년 6월 6일

(1) INSERT
(2) INSERT 문법


(1) INSERT

mysql> INSERT INTO tablename (columnl, column2,)
       VALUES (valuel, value2, ...);
Query OK, 1 rows affected (0.03 sec)
  • INSERT 구문은 SQL에서 새로운 데이터를 데이터베이스 테이블에 추가하는 명령어로 사용된다.

  • 예를 들어 한글이나 워드에서 친구들의 연락처를 저장하는 표(테이블)를 만든다고 상상해보자. 이 표(테이블)의 이름은 friends이고, 이 표에는 name (이름), age (나이), phone (전화번호) 가 있고 새로운 친구의 전화번호 및 정보를 추가하고 싶은 상황이 있다 치면 INSERT 구문을 활용해 FRIENDS라는 표(테이블)에 정보를 추가하면 된다.



(2) INSERT 문법

mysql> INSERT INTO person (id, name, age, sex)
       VALUES (1, `이효리`, 43, 'F');
Query OK, 1 row affected (0.03 sec)
mysql>select * from person;
+----+-------+----+-----+
| id | name  | age| sex |
+----+-------+----+-----+
| 1  | 이효리 | 43 | F   |
+----+-------+----+-----+
1 row in set (0.03 sec)
  • INSERT 구문을 사용할 때 지정한 열의 순서와 개수가 VALUES 에 제공된 값의 순서와 개수가 일치해야 하며 제공하는 VALUES 값의 데이터 타입이 열의 데이터 타입과 맞아야 한다. 예를 들어, age 열이 숫자형이라면 문자열 값을 제공하면 오류가 발생한다.

  • INSERT INTO tablename: tablename은 데이터를 추가하려는 테이블의 이름이다.

  • (column1, column2, ...): column1, column2, ...은 데이터를 삽입할 테이블의 열(column) 이름이다. 이 부분은 생략 가능하지만, 생략하면 VALUES의 값이 테이블의 모든 열에 순서에 따라 그대로 나열되어야 한다.

  • VALUES (value1, value2, ...): value1, value2, ...은 각 열(column)에 삽입할 값(VALUES) 이다. 이 값들은 열 이름에 지정된 순서대로 들어가도록 주의해야 한다


✏ INSERT 문법 모든 열(컬럼)에 삽입할 값을 추가하는 경우

mysql> INSERT INTO person (id, name, age, sex)
       VALUES (2, `이상순`, 48, 'M`);
Query OK, 1 row affected (0.03 sec)
mysql>select * from person;
+----+-------+----+-----+
| id | name  | age| sex |
+----+-------+----+-----+
| 1  | 이효리 | 43 | F   |
| 2  | 이상순 | 48 | M   |
+----+-------+----+-----+
1 row in set (0.03 sec)
  • SQL에서 INSERT 구문을 사용할 때, 열(column) 이름을 지정하지 않아도 되는 경우가 있다.
    이는 모든 열의 값을 삽입할 때에만 가능하다. 이 경우에도 마찬가지로 입력하는 값(values)의 순서가 테이블의 이전에 생성했던 열(column) 순서와 일치해야 한다.

  • 그래서 VALUES (2, '이상순', 48, 'M'); '2'person(테이블)'id' 열에, '이상순'name 열에, 48age 열에, 'M'SEX 열에 삽입되게 된다.

profile
데이터 분석 스쿨 블로그 입니다.

0개의 댓글