#1. 입력, 수정, 삭제

1. 데이터 입력

1) INSERT

  • 테이블에 데이터를 추가하기 위한 구문
INSERT INTO 테이블이름 VALUES (값1, 값2, 값n);
  • 값을 명시하는 방법
    • 숫자형식의 데이터는 홑따옴표를 사용하지 않는다.
    • 그 밖의 형식(문자열, 날짜형식) 값은 홑따옴표로 감싼다.
    • 값을 나열할 때는 테이블 구조에서 정의하고 있는 컬럼의 순서에 맞게 명시해야 한다.
    • "DESC 테이블이름;"의 구문으로 테이블 정의를 확인할 수 있다.

 

2) 학생 테이블에 아래 정보로 새로운 데이터 추가하기

학번 10110 이름 홍길동
아이디 hkd85 학년 1
주민번호 8501011111111 생년월일 2013-10-01 11:42:30
전화번호 055)-777-777 170
몸무게 70 학과번호 101
담당교수번호 9903    

 

3) 컬럼명을 명시한 데이터 저장

INSERT INTO 테이블이름 (컬럼1, 컬럼2, 컬럼n)
VALUES (값1, 값2, 값n);
  • 나열되는 컬럼의 이름이 테이블 구조에서 정의하고 있는 컬럼순서와 일치할 필요는 없다.
  • 테이블 이름 뒤에 명시되는 컬럼의 순서나 갯수는  VALUES 뒤에 나열되는 값과 일치해야 한다.
학번 10111 이름 둘리
아이디 dolly 학년 2
주민번호 9001011111111 생년월일 2011-10-01 11:42:30
전화번호 02)-111-2222 140
몸무게 55 학과번호 101
담당교수번호 9903    

 

4) NULL 데이터 저장

- NULL 데이터 저장 가능 여부 확인

  • DESC  구문을 사용하여 테이블 구조를 조회했을 때 NULL 항목에 YES 라고 표시되는 컬럼은 NULL값을 허용한다.
  • 즉, 아래의 테이블 구조에서 deptno, dname은 필수 입력항목이고, loc는 미필수 입력 항목이 된다.

 

- NULL 데이터를 입력하기 위한 암묵적인 방법

  • INSERT INTO 절에서 해당 칼럼의 이름과 값을 생략한다.

학과번호 300인 '테스트학과'의 위치를 결정되지 않은 상태로 저장

 

- NULL 데이터를 입력하기 위한 명시적인 방법

  • VALUES 절의 칼럼값에 NULL을 사용한다.

학과번호가 301인 '영문학과'의 위치에 NULL 저장

 

5) 날짜 데이터 입력하기

- 날짜 데이터 입력 방법 1

  • 칼럼에 날짜를 입력하려면 'YYYY-MM-DD HH:MI:SS' 혹은 'YYYY-MM-DD' 혁시에 따른 날짜 데이터를 입력하여야 한다.
교수번호 9920 이름 고길동
아이디 gilldong 직급 교수
급여 450 입사일 2014년 01월 01일
학과 102번 학과    

 

- 날짜 데이터 입력 방법 2

  • 자동으로 현재 날짜로 입력하기 위해서는 NOW( ) 함수를 사용한다.
교수번호 9921 이름 희동
아이디 heedong 직급 교수
급여 550 입사일 오늘
보직수당 미정 학과 201번 학과

 

6) 중복 데이터 방지하기

  • 테이블에 중복되는 데이터가 저장되어 있다면 하나를 뺀 나머지 데티어들은 불필요한 값으로 시스템의 자원을 낭비하게 된다.
  • 그렇기 때문에 각 데이터는 중복 되지 않기 위한 최소한의 제약을 요구한다.
    • ex) 한 학급 안에서 학생 이름이 같은 경우 출석 번호로 학생을 구분
  • 이를 위해 테이블의 각 행을 고유하게 식별하는 값을 가진 열(또는 열 조합) 기본키(Promary key)라고 한다.

 

- 기본키(Primary key)

  • 데이터베이스 테이블의 컬럼에 기본키 옵션을 지정하여 중복 데이터의 입력을 방지할 수 있다.
  • 기본키로 설정된 컬럼은 각 데이터 행의 구분을 위해 고유한 값만을 저장해야 하기 때문에 다른 행과 중복된 값을 저장할 수 없도록 제약 된다.
  • 기본키는 일반적으로 일련번호의 개념으로 사용되는데, 데이터를 저장할 때 마다 중복되지 않는 일련번호를 계산하기 어려우므로 AUTO_INCREMENT 옵션을 사용하여 데이터 저장시 시스템에서 자동으로 일련번호를 생성하도록 할 수 있다.

  • PRIMARY KEY 속성이 설정된 컬럼에 저장되는 값이 기존에 저장된 데이터와 중복될 경우 에러가 발생한다.

  • 위와 같이 테이블을 생성하면서 특정 컬럼을 Primary Key로 설정하면 중복 데이터 저장에 대한 제약이 발생하는데, 이를 기본키 제약조건 이라 한다.
  • 데이터가 중복되지 않는다는 특성을 무결성 이라고 한다.
  • 그러므로 기본키 제약 조건을 다른 말로 데이터 무결성 제약 조건 이라고 한다.

 

7) 기본키에 대한 자동 증가 일련번호 속성 사용

  • Primary Key에는 AUTO_INCREMENT 속성을 추가할 수 있다.
  • 이 속성이 설정된 경우, INSERT 절에서 해당 컬럼을 명시하지 않아도 자동으로 기존의 값들 중 가장 큰 값보다 1 큰 값이 저장되어, 데이터의 고유성을 유지하게 된다.

 

2. 데이터 수정

1) UPDATE

  • 데이터 수정을 위한 UPDATE 절
UPDATE 테이블이름 SET 컬럼1=값1, 컬림2=값2, 컬럼n=값n
[WHERE 검색조건];

 

2) 예제

- 교수번호가 9903번인 교수의 직급을 '조교수'로, 급여는 200만원으로 수정하시오.

※ WHERE 절을 사용하지 않을 경우, 모든 데이터가 같은 값으로 수정되기 때문에 사용에 주의해야 한다.

 

3. 데이터 삭제

1) DELETE

  • 데이터 삭제를 위한 DELETE 절
DELETE FROM 테이블이름
[WHERE 검색조건];

 

2) 예제

- 학생번호가 20103번인 학생의 데이터를 삭제하시오.

※ WHERE 절을 사용하지 않을 경우, 모든 데이터가 삭제되기 때문에 사용에 주의해야 한다.

 

4. 함수의 사용

1) 함수의 사용 방법

  • 데이터 입력 시, 저장할 값을 함수를 사용하여 명시한다.
INSERT INTO 테이블이름
VALUES (함수이름(값), 함수이름(값)...);
  • 데이터 수정 시, 수정될 값에 함수를 적용할 수 있다.
UPDATE 테이블이름
SET 컬럼이름 = 함수이름(값), 컬럼이름 = 함수이름(값)
WHERE 함수가 적용된 검색조건
  • 데이터 삭제 시, 삭제될 대상을 지정하는 WHERE 절에서 사용할 수 있다.
DELETE FROM 테이블이름
WHERE 함수가 적용된 검색 조건

 

2) 예제

  • 학번이 20101번인 학생의 생년월일을 현재 시각으로 변경하기

 

※ 연습문제

1. 다음의 학과를 신설하기 위한 데이터를 입력하고 결과를 조회하시오.

학과번호 103 학과이름 인터넷정보과
위치 공학관    

 

2. 공학관에 위치한 학과의 위치를 '5호관'으로 수정하시오.

 

3. 학과번호가 300번 이상인 학과를 삭제하시오.

'국비수업 > MySQL' 카테고리의 다른 글

[MySQL] ERD  (0) 2022.06.22
[MySQL] 데이터베이스 관리  (0) 2022.06.21
[MySQL] 서브쿼리  (0) 2022.06.13
[MySQL] 그룹 조회 / 조인(JOIN)  (0) 2022.06.10
[MySQL] SQL함수  (0) 2022.06.09

+ Recent posts