ABOUT ME

알게 된 것들을 정리하는 블로그

Today
Yesterday
Total
  • [MySQL] 설치 및 기본 문법 - (1)
    MySQL 2024. 4. 4. 08:00
    728x90
    반응형

    node.js 강의를 듣다가 MySQL을 연동해서 서버를 구축하길래

    간단하게 기본문법을 익히고 있다

    물론 완전 초보수준이지만 까먹기 전에 정리!

     

     

    1. 설치(mac 기준)

    https://dev.mysql.com/downloads/mysql/

     

    운영체제에 맞는 커뮤니티 서버를 다운로드 받아 설치하면 끝...!

     

    설치를 완료 했다면 시스템 설정에서 MySQL서버를 켜거나 끌 수 있다

    MySQL 서버를 켜려면 시스템 설정 -> MySQL 탭에 들어가면 된다

    컴퓨터를 켤 때 MySQL 서버도 같이 켜지게 설정할 수 있지만 나는 그럴 필요는 없어서 꺼놓았다


    이렇게 서버를 켰다면 MySQL workbench를 사용해서 시각적으로 제어할 수 있지만

    일단 명령어에 익숙해지기 위해 터미널을 사용하였다

     

    터미널을 켜고 아래와 같이 입력하면 된다

     

    cd /usr/local/mysql/bin

    -> /usr/local/mysql/bin 라는 디렉토리로 변경(이동)해줘

     

    ./mysql -uroot -p
    -> root user(최고 관리자)로 지금 현재 디렉토리에 있는 mysql에 접속할게 근데 패스워드 입력해

     

    여기서 패스워드는 맥 켤 때 입력하는 패스워드이다
    난 이걸 모르고 하루동안 자꾸 애플 계정의 비밀번호를 쳤다...^^... 

     

    2. 기본 문법


    0) USE databaseName;

    데이터베이스 중 사용하고 싶은 데이터베이스를 선택

    1) SELECT 

    1-1) 기본 사용법
    SELECT column1, column2, ... FROM tableName;
    선택한 데이터베이스 안에 있는 테이블에서 원하는 column의 값을 선택하면 테이블 형태로 보여줌

     

    만약 해당 테이블의 모든 필드를 다 보고 싶다면

    SELECT * FROM tablaName;
    와일드 카드를 사용하면 됨


    1-2) 고유한 값만 select하기
    SELECT DISTINCT column1, column2, ... FROM tableName;

    테이블 안에 각 column안에는 중복되는 값들이 들어있을 수 있음
    예를 들면 country라는 column안에 seoul이라는 값들이 중복해서 들어있는 경우, age라는 column에서 같은 나이의 숫자가 중복되는 경우 등
    이 중복되는 값들을 다 가져올 수도 있지만 고유한 값만(중복되지 않는 고유한 값)들만 DISTINCT라는 키워드를 사용해 가져올 수 있음

     

    SELECT COUNT(DISTINCT columnName) FROM tableName; 

    만약 고유한 값들의 갯수가 궁금하다면 COUNT를 덧붙여서 중복되지 않는 고유한 값들의 갯수를 알 수 있음


    1-3) 조건에 맞는 레코드만 가져오기
    SELECT column1, column2, ... FROM tableName WHERE condition;

     

    where 뒤에 조건을 붙여 해당 조건에 맞는 것만 필터링해서 가져올 수 있다
    ex: SELECT * FROM Users WHERE Name="hanns";

    ex: SELECT * FROM Users WHERE id=1;

     

    2) AND, OR, NOT

     

    SELECT column1, column2, ... FROM tableName WHERE condition 1 AND condition 2 AND condition 3.... ; 
    SELECT column1, column2, ... FROM tableName WHERE condition 1 OR condition 2 OR condition 3.... ; 

    SELECT column1, column2, ... FROM tableName WHERE NOT condition;

     

    둘 이상의 조건을 걸 때 사용함

    AND는 AND로 구분된 조건이 모두 참인 경우의 레코드만 보여줌

    OR은 OR로 구분된 조건 중 하나만 참인 경우의 레코드를 보여줌

    NOT은 해당 조건이 참이 아닌 경우의 레코드를 보여줌

     

    AND와 OR, NOT을 조합해서 원하는 조건의 레코드를 가져올 수도 있음

    예를 들면

    SELECT * FROM Users WHERE Country = 'korea' AND (City = 'seoul' OR City = 'busan');

    -> 나라가 korea인 것 중에 도시가 서울이거나 부산인 것만 보여줌 

    SELECT * FROM Users WHERE NOT City='seoul' AND NOT City ='busan'
    도시가 서울이 아니면서 부산이 아닌 것들만 보여줌

     

    3) ORDER BY

    SELECT column1, column2, ... FROM tableName ORDER BY column 1, column 2,... ASC | DESC;

    ex: SELECT * FROM Users ORDER BY Country, City;

     

    레코드를 오름차순이나 내림차순으로 정렬하는데 사용하는 키워드

    기본적으로는 오름차순으로 설정되어있음

    만약 내림차순으로 정렬하고 싶다면 마지막에 DESC를 붙여주면 됨

     

    만약 여러 개의 column이 있다면

    첫 번째 column을 정렬한 후 두 번째 column을 정렬함

    SELECT * FROM Users ORDER BY Country DESC, City ASC;

    column 별로 오름차순과 내림차순을 다르게 설정할 수 있음

     

    참고

    - https://www.w3schools.com/mysql/

    - 생활코딩(https://opentutorials.org/course/3161)

     

     

     

    반응형
Designed by Tistory.