테이블 내 기본 조회
SELECT 컬럼명, 집계함수 as 별명 ----------------- (5)
FROM 테이블명 ----------------- (1)
WHERE 테이블 조건 ----------------- (2)
GROUP BY 컬럼명 ----------------- (3)
HAVING 그룹 조건 ----------------- (4)
ORDER BY 컬럼명 ----------------- (6)
FROM : SQL은 구문이 들어오면 테이블을 가장 먼저 확인합니다. 테이블이 없는데 다른 것들을 먼저 조회하면 헛수고니까요!
WHERE : 테이블명을 확인했으니, 테이블에서 주어진 조건에 맞는 데이터들을 추출해줍니다.
GROUP BY : 조건에 맞는 데이터가 추출되었으니, 공통적인 데이터들끼리 묶어 그룹을 만들어줍니다.
HAVING : 공통적인 데이터들이 묶여진 그룹 중, 주어진 주건에 맞는 그룹들을 추출해줍니다.
SELECT : 최종적으로 추출된 데이터들을 (또 함수로 묶어 계산결과를) 조회합니다.
ORDER BY : 추출된 데이터들을 정렬해줍니다.
** 접속명령어 : mysql
mysql -u user-name -p password 양식으로 접속가능.
OS따라 "mysql -uuser-name -ppassword" 이렇게 붙여야 되는 것도 있음.
그밖에 옵션
-h localhost 접속할 호스트지정.
mysql [options] db_name ; 마지막에 DB이름을 넣어 접속가능.
** mysql> DB query 문
-database 목록 확인
mysql> show database;
-사용자 추가/권한부여
mysql> create user 'test'@'localhost' identified by 'test1234';
mysql> grant all privileges on test_database.* to test@'localhost';
mysql> grant all privileges on test_database.* to test_grant@'%' identified by 'test1234';
-> grant를 사용해 user추가 및 권한부여, %사용시 외부접속가능.
-user 확인
mysql> use mysql; -> 대부분의 시스템정보는 mysql 데이터베이스에 있음.
mysql> select user, host from user; -> user table에서 username,host정보
-password 변경
mysql> use mysql;
mysql> alter user 'zabbix'@'localhost' identified by 'Hazel123!@';
mysql> FLUSH PRIVILEGES;
-user 삭제
drop user username@host_name;
-기본 query
mysql> use database_name; -> 데이터베이스 변경
mysql> show talbes; -> table목록 확인
mysql> select database(); -> 현재 데이터베이스 확인
mysql> desc 테이블이름; -> 테이블의 scheme정보 확인
mysql> show columns from 테이블이름; -> 테이블내 콜롬 조회