DataBase - MySQl 입력 / 수정 / 삭제 / 함수의 사용

지영·2022년 1월 14일
0

DataBase

목록 보기
7/7
post-thumbnail

INSERT 절

  • 테이블에 데이터를 추가하기 위한 구문이다.
INSERT INTO 테이블 VALUES (값1, 값2, 값n...);

❗️ 값을 명시하는 방법

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

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

INSERT INTO 테이블 (컬럼1, 컬럼2, 컬럼3 ...) VALUES (값1, 값2, 값3...);
  • 나열되는 컬럼의 이름이 테이블 구조에서 정의하고 있는 컬럼 순서와 일치할 필요는 없다.
  • 테이블 이름 뒤에 명시되는 컬럼의 순서나 갯수는 VALUES 뒤에 나열되는 값과 일치해야 한다.

테이블의 구조를 통한 Null 데이터 저장 가능 여부의 확인

  • DESC 구문을 사용하여 테이블 구조를 조회했을 때, Null 항목에 YES 라고 표시되는 컬럼은 Null 값을 허용한다.

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

  • INSERT INTO 절에서 해당 칼럼의 이름과 값을 생략한다.
INSERT INTO 테이블 (컬럼1, 컬럼2) VALUES (값1, 값2);
  • VALUES 절의 칼럼값에 NULL을 사용한다.
INSERT INTO 테이블 VALUES (값1, 값2);

날짜 데이터 입력 방법

  • 칼럼에 날짜를 입력하려면
    • YYYY-MM-DD HH:MI:SS 혹은
    • YYYY-MM-DD 형식에 따른 날짜 데이터를 입력하여야 한다.
INSERT INTO 테이블 VALUES ('1996-12-20');
  • 자동으로 현재 날짜로 입력하기 위해서는 now() 함수를 사용한다.
INSERT INTO 테이블 VALUES (now());

중복 데이터 방지하기

  • 테이블에 중복되는 데이터가 저장되어 있다면 하나를 뺀 나머지 데이터들은 불필요한 값으로 시스템의 자원을 낭비하게 된다.
  • 때문에 각 데이터는 중복되지 않기 위한 최소한의 제약을 요구한다.
  • 이를 위해 테이블의 각 행을 고유하게 식별하는 값을 가진 열(또는 열 조합)을
    기본키(Primary Key)라고 한다.

데이터베이스 테이블의 컬럼에 기본키(Primary Key) 옵션을 지정하여 중복 데이터의 입력을 방지할 수 있다.

  • 기본키로 설정된 컬럼은 각 데이터 행의 구분을 위해 고유한 값만을 저장해야 하기 때문에 다른 행과 중복된 값을 저장할 수 없도록 제약된다.
  • PRIMARY KEY 속성이 설정된 컬럼에 저장되는 값이 기존에 저장된 데이터와 중복될 경우 에러가 발생한다.

기본키는 일반적으로 일련번호의 개념으로 사용되는데,
데이터를 저장할 때마다 중복되지 않는 일련번호를 계산하기 어려우므로 AUTO_INCREMENT 옵션을 사용하여 데이터 저장시 시스템에서 자동으로 일련번호를 생성하도록 할 수 있다.

  • 이와 같이 테이블을 생성하면서 특정 컬럼을 PRIMARY KEY로 설정하면 중복 데이터 저장에 대한 제약이 설정되는데, 이를 기본키 제약조건 이라 한다.

데이터가 중복되지 않는다는 특성을 데이터 무결성이라고 한다!

  • 기본키 제약조건을 다른 말로 데이터 무결성 제약조건 이라고 한다.
  • PRIMARY KEY에는 AUTO_INCREMENT 속성을 추가할 수 있다.
  • AUTO_INCREMENT 속성이 설정된 경우, INSERT 절에서 해당 컬럼을 명시하지 않아도 자동으로 기존의 값들 중 가장 큰 값 보다 1 큰 값이 저장되어, 데이터의 고유성을 유지하게 된다.

데이터 수정, 삭제

데이터 수정을 위한 UPDATE 절

UPDATE 테이블이름 SET 컬럼1=값1, 컬럼2=값2, 컬럼n=값n [WHERE 검색조건];

WHERE 절을 사용하지 않는 UPDATE 절의 경우

  • 모든 데이터가 같은 값으로 수정되기 때문에 사용에 주의를 요한다.

데이터 삭제를 위한 DELETE 절

DELETE FROM 테이블 [WHERE 검색조건];

WHERE 절을 사용하지 않는 DELETE 절의 경우

  • 모든 데이터가 같은 값으로 삭제되기 때문에 사용에 주의를 요한다.

함수의 사용

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

0개의 댓글