● 데이터 삽입(INSERT)
1. INSERT INTO 테이블명 VALUES ('값1', '값2', '값3'...)
-VALUES 뒤에 있는 필드와 실제 테이블의 필드 개수가 일치해야합니다.
AUTO_INCREMENT(자동증감형태) 로 예시에는 적용할 수 없다.
2. INSERT INTO 테이블명 (필드명1, 필드명2, 필드명3 ...) VALUES ('값1', '값2', '값3'...)
-테이블명 뒤에 있는 필드 개수와 순서를 VALUES 뒤에 있는 값과 일치시켜야 합니다.
-NOT NULL로 설정되어있는 필드는 반드시 INSERT 해야합니다.
-필드명은 변경원하는 것을 넣을수 있으며 값과 동일한 순서대로 넣으면 된다.
예)
INSERT INTO tb_member(mem_userid, mem_pass, mem_name, mem_email, mem_ssn, mem_birthday,
mem_gender, mem_hobby, mem_hp, mem_zipcode, mem_address1, mem_address2, mem_address3,
mem_regdate) VALUES ('apple', PASSWORD('1111'), '김사과', 'apple@apple.com', '0010113068512',
'20001011', '여자', '등산 게임', '010-1111-1111', '12345', '서울 강남구', '111-11', '현익빌딩3층',
'2020-07-01')
예2)
INSERT INTO tb_member(mem_userid, mem_pass, mem_name, mem_ssn, mem_birthday, mem_gender,
mem_hobby, mem_zipcode, mem_address1, mem_address2, mem_address3)
VALUES ('banana', PASSWORD('1234'), '반하나', '9907012068512', '19990701', '여자', '영화감상',
'98765', '서울 서초구', '양재동', '1234-12')
● 데이터 수정(UPDATE)
1. UPDATE 테이블명 SET 필드1=값1, 필드2=값2, ... (데이터한번에수정할때쓰는것)
예)
UPDATE tb_member SET mem_point = 1000
2. UPDATE 테이블명 SET 필드1=값1, 필드2=값2 ... *WHERE 조건절*
예)
UPDATE tb_member SET mem_hp='010-8888-8888' WHERE mem_idx=2
(상위예시를 쓸 경우 데이터 찾는 속도가 빨라진다.)
UPDATE tb_member SET mem_hp='010-8888-8888' WHERE mem_userid='banana'
예)
*포인트 변경
UPDATE tb_member SET mem_point = 1500 WHERE mem_idx=1; UPDATE tb_member SET mem_point = 1800
WHERE mem_idx=2; UPDATE tb_member SET mem_point = 1200 WHERE mem_idx=3;
UPDATE tb_member SET mem_point = 800 WHERE mem_idx=4; UPDATE tb_member SET mem_point = 2000
WHERE mem_idx=5;
● 데이터 삭제(DELETE)
1. DELETE FROM 테이블명
- 전체 내용을 삭제한다.
2. DELETE FROM 테이블명 WHERE 조건절
- 조건에 해당하는 행만 삭제한다.(대부분 이것을 사용한다.)
예)
DELETE FROM tb_member WHERE mem_idx = 5
● 데이터 검색(SELECT)
1. SELECT 필드명1, 필드명2 ... FROM 테이블명
예)
SELECT * FROM tb_member -- ( '*'은 모든 컬럼을 뜻함 )
SELECT mem_idx, mem_userid, mem_name, mem_gender FROM tb_member
(원하는 컬럼을 기술해주는것을 권장.)
2. SELECT 필드명1, 필드명2 ... FROM 테이블명 WHERE 조건절
- SELECT mem_idx FROM tb_member WHERE mem_userid='입력한정보'AND mem_pass=PASSWORD('입력한정보')
예)
SELECT mem_idx, mem_userid, mem_name, mem_gender, mem_hp FROM tb_member WHERE mem_idx=3
3. SELECT 필드명1, 필드명2 ... FROM 테이블명 order by 정렬할 필드명[ASC or DESC]
-ASC : 오름차순
-DESC : 내림차순
예)
SELECT mem_idx, mem_userid, mem_name, mem_point FROM tb_member order by mem_point DESC
* 2차정렬
포인트가 많은 순으로 정렬하여 출력합니다. 만약 포인트가 같을 경우 최근 가입순으로 출력합니다.( ,를 통해 2차정렬을 합니다.)
SELECT mem_idx, mem_userid, mem_name, mem_point FROM tb_member order by mem_point DESC, mem_idx DESC
예)
SELECT d.company_name, d.company_code, r.product_name, c.fund_name
FROM INSURE_PRODUCTS AS r, INSURE_PRODUCT_FUND_RELATION AS c, INSURE_COMPANY as d
WHERE r.product_code = c.product_code and d.company_code = r.company_code;
4. 그룹만들기
SELECT 필드명1(그룹을 맺은 필드명) or 집계함수(그룹함수) FROM 테이블명 group by 그룹을 맺어줄 필드명
*집계함수 | |
count() | 그룹을 맺은 레코드의 수를 출력합니다. |
sum() | 그룹을 맺은 필드의 값의 합계를 출력합니다. |
max() | 그룹을 맺은 필드의 최대값을 출력합니다. |
min() | 그룹을 맺은 필드의 최소값을 출력합니다. |
avg() | 그룹을 맺은 필드의 평균을 출력합니다. |
예)
SELECT mem_gender FROM tb_member group by mem_gender SELECT mem_gender,
COUNT(mem_gender = mem_idx) FROM tb_member group by mem_gender SELECT mem_gender,
COUNT(mem_gender), SUM(mem_point) FROM tb_member group by mem_gender SELECT mem_gender,
COUNT(mem_idx) FROM tb_member WHERE mem_point >= 2000 GROUP BY mem_gender
(조건을 주고 그룹을 맺음) SELECT mem_gender, COUNT(mem_idx) as cnt FROM tb_member
GROUP BY mem_gender HAVING cnt >= 3 (그룹을 맺고나서 조건을 준다.)
*별명(자바에서 연동할 때 오류발생 방지)
SELECT mem_gender, COUNT(mem_gender) as cnt, SUM(mem_point) as sum FROM tb_member
group by mem_gender
5. limit (MySQL에만 있는 기능이다. 게시판 쓸 때 유용하다.)
SELECT 필드명1, 필드명2 .. FROM tb_member limit 행의 시작번호, 개수
예)
SELECT mem_idx, mem_userid, mem_pass, mem_name FROM tb_member limit 0, 2
'🌏 DataBase > MySQL' 카테고리의 다른 글
[DB] 8. MySQL 과 JAVA 연결 (0) | 2020.10.11 |
---|---|
[DB] 7. 테이블 병합(JOIN) (0) | 2020.10.11 |
[DB] 5. 연산자 (0) | 2020.10.11 |
[DB] 4. 테이블(Table) (0) | 2020.10.11 |
[DB] 3. MySQL의 데이터 타입 & 제약 조건 / 색인(Index) (0) | 2020.10.11 |