2021.06.06
36번째 포스팅
입사 90일차.
오늘은 생성한 테이블에 insert, update, select, delete 쿼리를 직접 작성해서 어떻게 결과가 나오는지 확인해보려고 한다.
아래에 작성하는 내용들은 5일차까지 똑같이 작성했다는 전제가 깔려있다.
1. INSERT
① 생성한 테이블의 형식에 맞게 데이터를 넣어주는 쿼리.
② INSERT INTO 테이블명( 컬럼1, 컬럼2, 컬럼3, ... ) VALUES ( 값1, 값2, 값3, ... );
③ user_info 테이블은 위와 같이 구성이 되어있다.
1. int(정수형 숫자) 타입의 idx_pk
2. varchar(문자열) 타입의 user_name
3. int(정수형 숫자) 타입의 user_age
4. idx_pk는 auto_increment 속성이 있기 때문에 따로 입력하지 않아도 된다.
INSERT INTO user_info ( user_name , user_age ) VALUES ( '성시경' // 문자열은 '' 사이에 값을 넣어줘야 한다. , 21 // 숫자는 따옴표가 필요없다. ) ; // 세미콜론을 마지막에 반드시 적어줘야 한다. |
1
|
INSERT INTO user_info ( user_name, user_age ) VALUES ( '이름', 20 );
|
cs |
④ 쿼리를 문법에 맞게 정확하게 입력했다면 아래의 그림처럼 쿼리가 제대로 입력되었음을 표시해준다.
데이터가 정확하게 INSERT 된다면, 추가로 데이터를 입력해주자.
Query OK, 1 row affected ( 시간 ); |
2. SELECT
① 테이블에 INSERT 되어있는 데이터를 조건에 맞게 표시하는 쿼리.
② SELECT * FROM 테이블명;
SELECT * FROM user_info; |
③ 여기서 중요한 점은 idx_pk를 따로 입력하지 않아도
auto_increment 속성으로 인해 자동으로 1씩 증가되었다는 점이다.
④ 그리고 idx_pk는 다른 컬럼들(user_name, user_age)과 다르게 값이 중복되지 않는다.
다른 데이터와 중복되지 않는 값을 가지는 컬럼을 Primary key 라고 한다.
3. UPDATE
① 테이블에 INSERT 되어있는 데이터의 값을 수정하는 쿼리.
② UPDATE 테이블명 SET 컬럼1 = 값1, 컬럼2 = 값2, ... WHERE 조건;
③ 여기서 중요한 것은 조건이다.
조건을 설정해서 특정 데이터만을 골라내지 않으면 테이블 안의 모든 데이터들의 값이 변경된다.
따라서, 조건에는 다른 데이터들과 구별되는 값. 즉 Primary Key가 사용된다.
UPDATE user_info SET user_age = 50 WHERE idx_pk = 4; |
④ idx_pk = 4인 row(데이터)의 user_age를 50으로 바꾸는 쿼리를 작성했다.
⑤ 정확하게 쿼리를 작성했을 때 나오는 결과문은 아래와 같은 형식이다.
1. Rows matched : 조건에 일치하는 데이터의 갯수
2. Changed : 바뀐 데이터의 갯수
3. Warnings : 에러 또는 경고가 발생한 데이터의 갯수
⑥ 결과를 확인하고 싶을때는 SELECT 쿼리를 작성해주면 된다.
4. DELETE
① 테이블에 INSERT 되어있는 데이터를 삭제하는 쿼리.
② DELETE FROM 테이블명 WHERE 조건;
③ 여기서도 중요한 것은 조건이다.
Primary Key (이하: PK)가 테이블에서 차지하는 비중이 매우 크다는 것을 알 수 있다.
DELETE FROM user_info WHERE idx_pk = 5; |
④ idx_pk = 5인 row(데이터)가 삭제된 것을 확인할 수 있다.
⑤ DELETE도 UPDATE와 같이 조건을 입력하지 않으면 모든 데이터가 사라져버리기 때문에
쿼리를 작성하기 전에 반드시 조건을 확인해야 한다.
다음포스팅의 주제
SELECT 쿼리를 완성시키는 옵션들
'포트폴리오 > CCS' 카테고리의 다른 글
[프로젝트/JAVA] 6일차 - MyBatis(Mapper.xml) (2) | 2021.06.16 |
---|---|
[프로젝트/JAVA] 6일차 - 템플릿엔진(Thymeleaf) (0) | 2021.06.14 |
[프로젝트/DB] 5일차 - MySQL DB, Table 생성하기 (0) | 2021.06.02 |
[프로젝트/DB] 5일차 - MySQL 환경변수 설정하기 (0) | 2021.05.27 |
[프로젝트/DB] 5일차 - MySQL 설치하기 (0) | 2021.05.25 |
댓글