2022. 1. 2. 12:22ㆍ[WEB]/[JSP] 게시판 만들기 실습
- 접속 방법
: mysql -u root -p (dbname)
- 비밀번호 변경
: mysqladmin -u root password 새로운 비밀번호
- 테이블의 생성
: create table 테이블(col int);
- 구조 보기
: desc 테이블 / explain 테이블
- 이름 변경
: rename table A to B
- 삭제
: drop table 테이블
- 레코드 삽입
: Insert into table values(v1, v2) / Insert into table(col1, col2) values(v1, v2);
- 조회
: select * from table A
> AS : 칼럼의 이름을 달리 명명해서 출력. (ex) Col1 as 'name'
> Desc : 내림차순, Asc : 오름차순 (ORDER BY)
> LIMIT 10 : 0~10 까지 레코드 수 제한. / LIMIT 100, 10 : 100~110까지 레코드 범위
- 수정
: Update 테이블 set col1 = 칼럼1 where 조건
- 삭제
: Delete from 테이블 where 조건
- 칼럼 추가
: Alter table 테이블명 add col3 varchar(255) not null.
- 칼럼 삭제
: Alter table 테이블명 drop col3
- 칼럼 수정
: Alter table 테이블명 modify col3 char(50) not null.
- In : 원하는 필드값만을 선택 추출하는데 사용되는 그룹 조건문
- 조인
(1) Inner join
: Select * from tableA inner join tableB on tableA.col1 = tableB.col1
=> tableA의 col1과 tableB의 col1이 일치하는 데이터만을 출력. ON 절의 조건이 일치하는 조인테이블의 결과만을 출력한다.
(2) Outer join
: Select * from tableA left outer join tableB on tableA.col1 = tableB.col1
=> tableA.col1이 존재하나 tableB.col1이 존재하지 않으면 tableB.col1 = NULL인 상태로 출력.
조인하는 테이블의 ON 절 조건 중 한쪽의 모든 데이터를 가져옴(LEFT JOIN , RIGHT JOIN) 양쪽(FULL JOIN)
- 내장함수 Benchmark
: Select Benchmark(반복횟수, 실행쿼리)
(ex) Select Benchmark(100, (“select * from table”)); => 해당 쿼리를 100번 반복한 벤치마크 결과를 출력.
- DISTINCT
: 주로 UNIQUE한 COLUMN이나 TUPLE을 조회할 때 사용되는 키워드. 칼럼을 DISTINCT 를 이용하여 조회한다면 중복을 제거한 값들을 바로 얻을 수 있다. 단 이 때, 여러 개의 칼럼을 지정한다면 칼럼의 조합이 중복되는 것을 제외한다. DISTINCT는 함수처럼 WHERE이 아닌 HAVING 조건식에도 사용이 가능하다.
(ex) Select DISTINCT email from table;
(ex) SELECT class FROM courses GROUP BY(class) HAVING count(distinct student) >= 5;
- GROUP BY
: 데이터를 그루핑해서 결과를 가져오는 경우 사용. 내부적으로 중복값을 배제한채 정렬된 결과를 가져온다. 주로 HAVING과 같이 사용되며 그룹으로 묶어서 자체 정렬한다. 좀 더 정확히는 그룹의 대표값을 정렬해서 가져온다. 그렇기 때문에 모든 컬럼에 대해 단순 SELECT 하는 쿼리문에는 쓰기 적절치 않으며 테이블 내에서 데이터를 가공할 때 사용하기가 좋다. 예를 들어 accountType에 따라 해당하는 accountName의 row수를 그루핑 하고 싶다면 다음 쿼리를 사용해보자.
Select accountType, COUNT(accountName) from accounts group by(accountType);
- HAVING
: HAVING은 GROUP BY 와 같이 쓰이는 구문으로 GROUP BY의 조건문이라 할 수 있다. 위의 쿼리에서 COUNT가 1개 이상인 내용만 쿼리를 하는데 다음처럼 사용 가능하다.
SELECT accountType, COUNT(accountName) FROM accounts GROUP BY(accountType) HAVING COUNT(accountName)>1;
출처: https://jins-dev.tistory.com/entry/MySql-기본-쿼리문들-정리 [Jins' Dev Inside]
'[WEB] > [JSP] 게시판 만들기 실습' 카테고리의 다른 글
XXX.jsp (행: [6], 열: [1]) useBean의 class 속성을 위한 값 [user.User]은(는) 유효하지 않습니다 ERROR (0) | 2022.01.04 |
---|---|
mysql : ERROR 1046 (3D000): No database selected (0) | 2022.01.02 |
#2 the type java.lang.object cannot be resolved. it is indirectly referenced from required .class files 에러 (0) | 2021.12.31 |
#MySQL 설치 후 사용 (0) | 2021.12.31 |
#1 개발환경 구축 [eclipse 다운로드 및 spring 환경] (0) | 2021.12.03 |