본문 바로가기
번역/MariaDB

[MariaDB Tutorial 번역] 16. Insert

by 촌쥐 2021. 7. 11.

[MariaDB Tutorial 번역 글]

  1. Select : https://rural-mouse.tistory.com/43
  2. Order By : https://rural-mouse.tistory.com/44
  3. Where : https://rural-mouse.tistory.com/45
  4. Distinct : https://rural-mouse.tistory.com/46
  5. Between : https://rural-mouse.tistory.com/48
  6. Like : https://rural-mouse.tistory.com/49
  7. In : https://rural-mouse.tistory.com/50
  8. Limit : https://rural-mouse.tistory.com/51
  9. Is Null : https://rural-mouse.tistory.com/52
  10. Joins : https://rural-mouse.tistory.com/53
  11. Inner Join : https://rural-mouse.tistory.com/54
  12. Left Join : https://rural-mouse.tistory.com/55
  13. Group By : https://rural-mouse.tistory.com/56
  14. Having : https://rural-mouse.tistory.com/59
  15. Subqueries : https://rural-mouse.tistory.com/60
  16. Insert ←←
  17. Insert Multiple Rows : https://rural-mouse.tistory.com/62
  18. Insert Into Select : https://rural-mouse.tistory.com/63
  19. Update : https://rural-mouse.tistory.com/64

원문 : https://www.mariadbtutorial.com/mariadb-basics/mariadb-insert/

 

Learn MariaDB Insert Statement By Practical Examples

In this tutorial, you will learn how to use the MariaDB insert statement to insert a new row into a table.

www.mariadbtutorial.com


여기에 있는 모든 예제는 MariaDB sample database인 nation을 가지고 진행됩니다.

만약 읽고 따라 해 보시는 게 목적이라면 다운로드를 받고 읽어보시길 추천합니다.

원본 링크 : https://www.mariadbtutorial.com/getting-started/mariadb-sample-database/

 

MariaDB Sample Database

In this tutorial, you will learn about a MariaDB sample database nation and how to load the sample database into the MariaDB server.

www.mariadbtutorial.com


MariaDB의 Insert 명령문에 대한 소개

insert 명령문은 Table에 새로운 Row를 추가할 수 있습니다. 다음은 insert 명령문의 문법을 보여줍니다.

insert into table_name(column_list)
values(value_list);
  • 첫 번째로 데이터를 넣고 싶은 Table의 이름을 insert into 키워드 뒤에 작성합니다.
  • 두 번째로 Table뒤 괄호 안에 Column 목록을 지정합니다.
  • 세 번째로 values 키워드 뒤에 오는 괄호 안에 값들의 목록을 작성합니다. 값들의 수는 반드시 지정한 Column들과 동일한 개수를 가지고 있어야 합니다. 그리고 Column과 value는 같은 순서를 가지고 있어야 합니다.

Column 리스트는 선택사항이라도 insert 명령문에 항상 넣어주는 것이 좋습니다. 그것은 좋은 프로그래밍 실력을 쌓을 수 있도록 만들어 줍니다.

만약 Column 리스트 작성을 건너뛰면 생략된 column에 기본값이 있는지 확인하지 않는다면 오류가 발생할 수 있습니다.

MariaDB는 Column을 지정하지 않은 경우 다음과 같이 Column 리스트에 삽입합니다.

  • Column이 auto_increment 속성이 있는 경우 다음 숫자를 가져옵니다.
  • Nullalbe 한 Column일 경우 Null을 가져옵니다.
  • Column에 default value가 지정된 경우 지정된 default value를 가져옵니다.
  • Column이 생성된 Column인 경우 생성된 value를 가져옵니다.

Table에 여러 개의 Row를 하나의 명령문을 사용하여 넣는 경우에는 다음 튜토리얼인 insert multiple rows를 통해 배우도록 하겠습니다.

MaraiDB의 insert 명령문의 예제

다음 명령문은 contacts라고 하는 연락처를 저장하는 새로운 Table을 만드는 코드입니다.

create table contacts(
    id int auto_increment,
    first_name varchar(50) not null,
    last_name varchar(50) not null,
    full_name varchar(101) 
        as (concat(first_name, ' ', last_name)) virtual,
    phone varchar(100),
    contact_group varchar(50) default 'General',
    primary key(id)
);

이 contact Table에서는

  • id Column은 auto_increment Column입니다. 그러므로 insert 명령문에 어떠한 값을 지정해주지 않더라도 MariaDB는 자동으로 다음에 해당하는 숫자를 삽입할 것입니다.
  • full_name은 first_name과 last_name에서 파생되어 값이 생성됩니다.
  • contact_group은 default value로 'General'을 가지고 있습니다. 만약 Column에 데이터를 insert하거나 update할때 값을 명시하지 않는다면 default value가 사용될 것입니다.

 

A) MariaDB의 간단한 insert 예제

다음은 insert를 사용한 새로운 Row를 contacts Table에 삽입하는 명령문 예제입니다.

insert into contacts(first_name, last_name, phone)
values('John','Doe','(408)-934-2443');

MariaDB는 다음 같은 메시지를 보여줄 것입니다.

Affected rows: 1  Found rows: 0  Warnings: 0  Duration for 1 query: 0.000 sec.

contacts Table에 하나의 Row가 insert 되었다는 뜻입니다.

이 문장은 contacts Table의 데이터를 선택하는 쿼리문입니다.

select * from contacts;

삽입된 데이터를 확인 할 수 잇습니다.

B) MariaDB에서 하나의 새로운 Row를 삽입하고 삽입된 id를 반환하는 예제

다음은 insert를 사용한 새로운 Row를 contacts Table에 삽입하는 명령문 예제입니다.

insert into contacts(first_name, last_name, phone, contact_group)
values('Jane','Doe','(408)-456-8934','Leads');

삽입된 id를 얻기 위해서 last_insert_id()를 사용하면 됩니다.

select last_insert_id();

이 문장은 contacts Table의 데이터를 선택하는 쿼리문입니다.

select * from contacts;

id가 2인 Row를 확인할 수 있습니다.

C) MariaDB에서 insert 명령문과 default 키워드를 사용하는 예제

기본 값이 있는 Column을 지정하고 Table에 새로운 Row를 삽입할때 default value를 사용하려고 한다면, 값의 리스트에 default 키워드를 사용 할 수 있습니다. 다음은 그에 대한 예제입니다.

insert into contacts(first_name, last_name, phone, contact_group)
values('Roberto','carlos','(408)-242-3845',default);

이 문장은 contact_group을 리스트에 명시하고 default 키워드를 사용하여 default value를 사용하도록 MariaDB에 지시하는 예제입니다.

MariaDB의 insert into set 명령문

MariaDB는 set 절을 사용하여 Row를 삽입할 수 있는 대체 문법을 제공합니다. 

insert into table_name
set column1 = value1,
    column2 = value2,
    ...;

이 문법에서는 Column과 value를 꼭 순서에 따라 둘 필요는 없습니다.

이 문법은 MariaDB와 MySQL에서 사용가능하며 다른 DBMS에서는 지원을 하지 않습니다.

다음은 insert into set 명령문을 사용하여 새로운 Row를 contacts에 삽입하는 예제입니다.

insert into contacts
set first_name = 'Jonathan',
    last_name = 'Van';

 

 

이번 튜토리얼에서는 새로운 Row를 삽입할 수 있는 insert에 대해 배워봤습니다.

다음에는 새로운 Row를 여러개 한번에 삽입할 수 있는 방법에 대해 배워보겠습니다.

댓글