"레코드"의 두 판 사이의 차이
잔글 |
잔글 (→같이 보기) |
||
(사용자 2명의 중간 판 15개는 보이지 않습니다) | |||
1번째 줄: | 1번째 줄: | ||
− | '''레코드'''(record)란 [[데이터베이스]]에서 하나의 단위로 취급되는 자료의 집합을 말한다. 하나의 레코드는 [[디비 테이블]](DB table)에서 가로 방향으로 한 줄로 나타낸다. '''줄''', '''행'''(行) 또는 ''' | + | '''레코드'''(record)란 [[데이터베이스]]에서 하나의 단위로 취급되는 자료의 집합을 말한다. 하나의 레코드는 [[디비 테이블]](DB table)에서 가로 방향으로 한 줄로 나타낸다. '''줄''', '''행'''(行, row) 또는 '''튜플'''(tuple)이라고도 한다. '''데이터베이스 레코드'''(database record) 또는 간략히 '''디비 레코드'''(DB record)라고도 한다. 데이터베이스에서 한 건의 자료를 구성하는 레코드를 [[엔티티]](entity)라고 한다. 각각의 레코드를 다른 레코드와 구별하기 위해 [[키]](key) 값을 사용한다. 레코드의 반대말은 [[필드 (데이터베이스)|필드]](Field)이다. |
+ | |||
+ | [[파일:테이블_설명.png|600픽셀|섬네일|가운데|레코드(record)]] | ||
+ | |||
+ | ==특징== | ||
+ | 레코드(record)는 SQL에서 행(row) 또는 튜플(tuple)이라고 불린다. | ||
+ | |||
+ | ===기능=== | ||
+ | * 레코드 삽입 - INSERT | ||
+ | > INSERT INTO [테이블명] (컬럼명1, 컬럼명2 ...) | ||
+ | VALUES (삽입할 데이터값1, 삽입할 데이터값2...); | ||
+ | 레코드를 삽입하는 INSERT문에서 중요한 부분은 컬럼명의 개수와 데이터값의 개수가 일치해한다. 또한 각 컬럼에 지정된 데이터 타입과 데이터값의 타입이 일치해야하며, 컬럼의 순서와 삽입할 데이터값의 순서도 일치해야한다. 만약 특정 컬럼의 데이터값을 NULL 혹은 비워두고싶다면, 데이터값을 NULL로 지정해주거나 INSERT문에서 특정컬럼명을 제외하고 작성해주면 된다. <ref name="無所有">〈[https://m.blog.naver.com/PostView.nhn?blogId=killmewild&logNo=30098675841&proxyReferer=https:%2F%2Fwww.google.com%2F [MYSQL]레코드 삽입(추가), 검색(조회)]〉, 《개인블로그》, 2010-12-12</ref> | ||
+ | |||
+ | * 레코드 삭제 - DELETE | ||
+ | > DELETE FROM [테이블명] WHERE [조건]; | ||
+ | 레코드를 삭제하는 DELETE문에선 WHRER문을 이용하여 특정 레코드를 지정해줘야한다. 조건을 지정하지않으면 해당 테이블에 있는 모든 레코드가 삭제되기 때문에 주의해서 사용해야한다. 또한 삭제 기능은 데이터베이스를 따로 백업해두지않은 이상 복원할 수 없기 때문에 사용시 신중해야한다. <ref name="無所有"></ref> <ref name="everdevel">〈[https://www.everdevel.com/MySQL/record-md/ 레코드 변경 및 삭제하기]〉, 《everdevel(Brand New Day)》</ref> | ||
+ | |||
+ | * 레코드 수정 - UPDATE | ||
+ | > UPDATE [테이블명] SET [컬럼명] = [변경할 데이터값1], ... WHERE [조건]; | ||
+ | 레코드를 수정하는 UPDATE문은 단일 레코드만 변경할 시 WHERE문을 이용하여 특정 레코드를 지정하여 사용하면 되고, 전체 수정시엔 WHERE문을 사용하지않고 변경할 컬럼과 데이터값만 지정하여 사용하면 된다. 수정 기능 또한 삭제 기능과 같이 변경시 복원할 수 없기 때문에 사용시 신중해야한다. <ref name="無所有"></ref> <ref name="everdevel"></ref> | ||
+ | |||
+ | * 레코드 조회 - SELECT | ||
+ | > SELECT [DISTINCT] [컬럼명1,...] | ||
+ | FROM [테이블명1,...] | ||
+ | WHERE [조건] | ||
+ | GROUP BY [컬럼명1,...] | ||
+ | HAVING [조건] | ||
+ | ORDER BY [컬럼명1] ASC/DESC, [컬럼명2] ASC/DESC; | ||
+ | 레코드를 조회하는 SELECT문은 여러 조건들을 이용하여 원하는 내용만 조회할 수 있다. 해당 테이블의 전체 내용을 조회할 땐, 컬럼명을 '*'으로 지정해주면 된다. DISTINCT는 중복되는 내용을 제거하고 출력해주는 조건이다. GROUP BV는 컬럼들을 그룹으로 묶으서 사용하는 조건으로 컬럼별 개수를 파악할 수 있고, HAVING은 GROUP BY 사용시 조건을 지정할 수 있다. <ref name="심심할때 쓰는 블로그">〈[https://eongeuni.tistory.com/21 [mysql]데이터 조회(select문)]〉, 《개인블로그》, 2016-02-09</ref> <ref name="확장형 뇌 저장소">〈[https://extbrain.tistory.com/56 그룹화하여 데이터 조회(GROUP BY)]〉, 《개인블로그》, 2018-01-10</ref> ORDER BY는 지정된 컬럼을 기준으로 레코드를 정렬하는 조건으로써 ASC는 오름차순으로, DESC는 내림차순으로 정렬해준다. <ref name="초보몽키의 개발공부로그">〈[https://wayhome25.github.io/mysql/2017/03/21/mysql-08-table-order/ MYSQL - Table(조회3 정렬 order by)]〉, 《개인블로그》, 2017-03-21</ref> | ||
+ | |||
+ | (※위의 SQL문은 MYSQL을 기준으로 작성하였습니다.) | ||
+ | |||
+ | ===예시=== | ||
+ | [[파일:레코드_예시.PNG|600픽셀|섬네일|가운데|레코드(record)] 예시]] | ||
+ | |||
+ | 레코드(record)는 위의 그림과 같이 [[테이블]](table)에서 각 행을 의미한다. 레코드는 행(row) 또는 튜플(tuple)이라고도 부르며, 각 레코드가 가진 [[필드]](field)의 수는 모두 같다. 위의 그림은 레코드가 3, 필드가 5인 테이블이다. | ||
+ | |||
+ | {{각주}} | ||
+ | |||
+ | ==참고자료== | ||
+ | * TCPSCHOOL.com, 〈[http://tcpschool.com/mysql/mysql_intro_relationalDB 관계형 데이터베이스]〉, 《TCPSCHOOL.com》 | ||
== 같이 보기 == | == 같이 보기 == | ||
* [[데이터베이스]] | * [[데이터베이스]] | ||
− | * [[엔티티]] | + | * [[테이블]] |
− | * [[필드]] | + | * [[릴레이션]] |
− | * [[키]] | + | * [[엔티티]] |
− | + | * [[필드 (데이터베이스)|필드]] | |
− | + | * [[키]] | |
− | + | {{데이터|검토 필요}} |
2021년 8월 7일 (토) 03:09 기준 최신판
레코드(record)란 데이터베이스에서 하나의 단위로 취급되는 자료의 집합을 말한다. 하나의 레코드는 디비 테이블(DB table)에서 가로 방향으로 한 줄로 나타낸다. 줄, 행(行, row) 또는 튜플(tuple)이라고도 한다. 데이터베이스 레코드(database record) 또는 간략히 디비 레코드(DB record)라고도 한다. 데이터베이스에서 한 건의 자료를 구성하는 레코드를 엔티티(entity)라고 한다. 각각의 레코드를 다른 레코드와 구별하기 위해 키(key) 값을 사용한다. 레코드의 반대말은 필드(Field)이다.
특징[편집]
레코드(record)는 SQL에서 행(row) 또는 튜플(tuple)이라고 불린다.
기능[편집]
- 레코드 삽입 - INSERT
> INSERT INTO [테이블명] (컬럼명1, 컬럼명2 ...) VALUES (삽입할 데이터값1, 삽입할 데이터값2...);
레코드를 삽입하는 INSERT문에서 중요한 부분은 컬럼명의 개수와 데이터값의 개수가 일치해한다. 또한 각 컬럼에 지정된 데이터 타입과 데이터값의 타입이 일치해야하며, 컬럼의 순서와 삽입할 데이터값의 순서도 일치해야한다. 만약 특정 컬럼의 데이터값을 NULL 혹은 비워두고싶다면, 데이터값을 NULL로 지정해주거나 INSERT문에서 특정컬럼명을 제외하고 작성해주면 된다. [1]
- 레코드 삭제 - DELETE
> DELETE FROM [테이블명] WHERE [조건];
레코드를 삭제하는 DELETE문에선 WHRER문을 이용하여 특정 레코드를 지정해줘야한다. 조건을 지정하지않으면 해당 테이블에 있는 모든 레코드가 삭제되기 때문에 주의해서 사용해야한다. 또한 삭제 기능은 데이터베이스를 따로 백업해두지않은 이상 복원할 수 없기 때문에 사용시 신중해야한다. [1] [2]
- 레코드 수정 - UPDATE
> UPDATE [테이블명] SET [컬럼명] = [변경할 데이터값1], ... WHERE [조건];
레코드를 수정하는 UPDATE문은 단일 레코드만 변경할 시 WHERE문을 이용하여 특정 레코드를 지정하여 사용하면 되고, 전체 수정시엔 WHERE문을 사용하지않고 변경할 컬럼과 데이터값만 지정하여 사용하면 된다. 수정 기능 또한 삭제 기능과 같이 변경시 복원할 수 없기 때문에 사용시 신중해야한다. [1] [2]
- 레코드 조회 - SELECT
> SELECT [DISTINCT] [컬럼명1,...] FROM [테이블명1,...] WHERE [조건] GROUP BY [컬럼명1,...] HAVING [조건] ORDER BY [컬럼명1] ASC/DESC, [컬럼명2] ASC/DESC;
레코드를 조회하는 SELECT문은 여러 조건들을 이용하여 원하는 내용만 조회할 수 있다. 해당 테이블의 전체 내용을 조회할 땐, 컬럼명을 '*'으로 지정해주면 된다. DISTINCT는 중복되는 내용을 제거하고 출력해주는 조건이다. GROUP BV는 컬럼들을 그룹으로 묶으서 사용하는 조건으로 컬럼별 개수를 파악할 수 있고, HAVING은 GROUP BY 사용시 조건을 지정할 수 있다. [3] [4] ORDER BY는 지정된 컬럼을 기준으로 레코드를 정렬하는 조건으로써 ASC는 오름차순으로, DESC는 내림차순으로 정렬해준다. [5]
(※위의 SQL문은 MYSQL을 기준으로 작성하였습니다.)
예시[편집]
레코드(record)는 위의 그림과 같이 테이블(table)에서 각 행을 의미한다. 레코드는 행(row) 또는 튜플(tuple)이라고도 부르며, 각 레코드가 가진 필드(field)의 수는 모두 같다. 위의 그림은 레코드가 3, 필드가 5인 테이블이다.
각주[편집]
- ↑ 1.0 1.1 1.2 〈[MYSQL레코드 삽입(추가), 검색(조회)]〉, 《개인블로그》, 2010-12-12
- ↑ 2.0 2.1 〈레코드 변경 및 삭제하기〉, 《everdevel(Brand New Day)》
- ↑ 〈[mysql데이터 조회(select문)]〉, 《개인블로그》, 2016-02-09
- ↑ 〈그룹화하여 데이터 조회(GROUP BY)〉, 《개인블로그》, 2018-01-10
- ↑ 〈MYSQL - Table(조회3 정렬 order by)〉, 《개인블로그》, 2017-03-21
참고자료[편집]
- TCPSCHOOL.com, 〈관계형 데이터베이스〉, 《TCPSCHOOL.com》
같이 보기[편집]