https://nopain-nomain.tistory.com/31
Database DAY2
< Database >
4) 진짜 실무에서 쓰는 sql 정리
데이터에서 목록보기
show database;
사용할 데이터베이스 선택하기
use myschool;
현재 데이터베이스에서 테이블 목록 보기
show tables;
특정 테이블의 구조 확인
desc department;
데이터 조회하기
select [distinct] * | 컬럼이름 [[as] `별칭`] from 테이블이름 // distict 는 중복제거
[where 검색조건]
[order by 컬럼이름 [ASC|DESC]]
[limit 조회시작위치, 조회할 데이터 수];
[함수] 주어진 값들을 잇는 기능
select concat(name, ' ', grade, '학년') from student;
[함수] 주어진 값을 암호화
select password(idnum) from student;
[날짜] 시스템의 현재시각 조회
now()
[날짜]날짜 연산
date_add(시각,INTERVAL 값 단위)
select date_add(now(), INTERVAL -3 MONTH);
select date_add(birthdate INTERVAL 1 YEAR) from student;
[날짜] 주어진 시각을 형식에 맞춰 변경한 결과를 리턴
date_format(시각, 형식)
select date_format(now(), '%y/%m/%d %H:%i:%s');
5) query Tip
*보다는 전체컬럼 : *로 조회하는것보다 차라리 전체 컬럼을 다 명시하는게 성능에 유리하다
ASC 생략가능 : order by 는 기본값이 asc이므로 asc는 생략가능
in('뭐', '뭐랑', '뭐')
"안쓰고'아니고 ` : 쿼리문에 큰따옴표는 안쓰고, (`)를 이용하여 묶는다
IS NOT NULL
between A and B
like '%영%'
limit 위치, 몇건
함수쓸 때 별칭 지정하면 변수처럼 쓸수있다
집계함수는 where 절에서 사용불가
6 ) 그룹조회
where절을 사용하여 검색된 결과에 대해서 그룹핑 가능
7) JOIN
7-1) EQUI JOIN : 두개 이상의 테이블에서 동시 데이터 검색
SELECT a,b
FROM table1, table2
WHERE ~~~
7-2) INNER JOIN : EQUI 조인의 다른형태
SELECT a,b
FROM table1
INNER JOIN table2
ON ~~~
(위 차이점 INNER JOIN은 조인조건에 ON절을 사용하기 때문에, 추가적인 검색 조건은 WHERE 절을 사용한다.)
조건에 맞지 않은 애(null)는 누락시키고 이걸 누락시키지않고 전체 조회를 하는 쿼리는 ↓↓↓ 로 처리한다
7-3) OUTER JOIN
양쪽 테이블 중에서 어느 한 테이블의 모든 데이터를 출력해야 하는 경우에 사용하고 (LEFT, RIGHT)
지정된 방향의 테이블에서 모든 데이터 출력을 보장한다.
(헷갈리니까 구분없이 그냥 LEFTOUTER쪽으로 몰아놓고 쓰자)
7-4) 서브쿼리
서브쿼리가 여러개의 결과를 가지고 올때 IN으로 조회하면된다.
8) JOIN Tip
테이블의 별칭을 쓰면 겹치는 변수쓸때 간결하게 쓸 수 있음
select s.name, p.name from student s, professor p
9) DDL Table 단위 SQL
9-1) INSERT (아래 형태로 써야 실무에서 이쁨받는다)
INSERT INTO student (
stuno, name, userid, grade, idenum,
tel, height, weight, deptno, profno
) VALUES (
10111, '조영주', 'dool', 2, '123234', '02)-123-2345', 170, 70, 101, 9903
);
기본키(PK) : 테이블의 각행을 고유하게 식별하는 값 (데이터 무결성 제약조건)
=>기본키가 숫자 형태일 경우에 Extra라는 속성을 이용해서 auto_increment 자동증가 일련번호를 사용한다. 띄엄띄엄 되어있다면 해제했다가 다시 설정하면 됨
MySQL에는 id, 사용자 아이디는 userid, username로 설정
MSSQL에는 num
ORACLE에는 seq라고 한다
HTML <form> 태그의 name 속성을 DB의 컬럼명과 맞춘다
9-2) UPDATE
UPDATE 테이블이름 SET 컬럼1=값 WHERE 검색조건;
9-3) DELETE
DELETE FROM 테이블이름 WHERE 검색조건;
하나 꼭집어서 지우는 경우가 많이 때문에 WHERE 절에 주로 PK값이 들어간다
이클립스 버전별 JRE (0) | 2020.04.12 |
---|---|
Darkest Dark Theme with DevStyle (0) | 2020.04.05 |
KoXo 자바스크립트 매뉴얼 (0) | 2019.11.20 |