-
[MySQL] 설치 및 기본 문법 - (1)MySQL 2024. 4. 4. 08:00728x90반응형
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)
반응형