[MySQL] 6. SQL 기본

Bnow·2023년 10월 29일

기본적인 SQL문 학습

  1. SELECT ... FROM

    SELECT 열 이름
    FROM 테이블 이름
    WHERE 조건

    USE 구문
    : 데이터베이스 지정

    USE 데이터베이스_이름;

    SELECT와 FROM

    SELECT * FROM titles;
  2. SELECT ... FROM .. WHERE

    SELECT 필드이름 FROM 테이블이름 WHERE 조건식;

    서브쿼리

    • ANY : 하나라도 만족
    • ALL : 모두 만족
    SELECT name, height from usertbl where height >= ALL (select height from usertbl where addr='경남');

    ORDER BY

    SELECT name, mDate FROM usertbl ORDER BY height DESC, name ASC;

    DISTINCT, LIMIT
    테이블 복사

    CREATE TABLE 새로운테이블 (SELECT 복사할 열 FROM 기존테이블)
  3. GROUP BY 및 HAVING, 집계 함수
    집계 함수

    • AVG : 평균
    • MIN : 최소값
    • MAX : 최대값
    • COUNT : 행의 개수
    • COUNT(DISTINCT) : 행의 개수, 중복X
    • STDEV() : 표준편차
    • VAR_SAMP() : 분산
    SELECT userID AS '사용자 아이디', SUM(price*amount) as '총구매액' 
    FROM buytbl 
    GROUP BY userID 
    HAVING sum(price*amount)>1000 
    order by sum(price*amount);

    집계 함수에는 WHERE 대신 HAVING 조건을 걸 수 있다.

    ROLLUP

    SELECT  num, groupName, SUM(price*amount) as '비용' FROM buytbl 
    GROUP BY  groupName, num
    WITH ROLLUP
    • GROUP BY 열 순서의 의미? (groupName, num)
  4. SQL 의 분류
    DML, DDL, DCL

  5. INSERT

    INSERT INTO 테이블[열1, 열2, ...] VALUES (값1, 값2 ...)

    AUTO_INCREMENT로 지정된 열은 INSERT문에서 NULL 값을 지정하면 자동으로 값이 입력됨

    • 다른 테이블에서 긁어온 데이터 대량 입력
    INSERT INTO ... SELECT
  6. UPDATE

    UPDATE 테이블이름
    SET 열1=값1, 열2=값2 ...
    WHERE 조건;
  7. DELETE

    DELETE FROM 테이블이름 WHERE 조건;
profile
행복한 코딩

0개의 댓글