데이터 베이스(관계형 데이터베이스) SQL ✍🏻
데이터베이스용 프로그래밍 언어로, 관계형 데이터베이스에서 사용된다.
- 데이터 베이스(DATABASE) : 일정한 체계 속에서 저장된 데이터의 집합
데이터베이스에 쿼리를 보내 원하는 데이터를 가져오거나 삽입할 수 있다.
- 쿼리 : 검색할 때 입력하는 검색어가 일종의 쿼리, 저장되어 있는 데이터를 필터하기 위한 질의문이라 볼 수 있다.
MySQL, Oracle, SQLite, PostgreSQL 등 다양한 데이터베이스에서 SQL 구문을 사용
데이터의 구조가 고정되어 있지 않은 데이터 베이스
테이블을 사용하지 않고 데이터를 다른 형태로 저장한다.
대표적인 MongoDB가 문서 지향 데이터베이스이다.
MYSQL 버전 확인
$ mysql --versio
MYSQL 실행
$ mysql -u root -p
Enter password:
// 초기 비밀번호 설정한적이 없으면 비밀번호없이(엔터 key) 시도 해본다.
MYSQL 데이터베이스 비밀번호 변경을 위해서
mysql>use mysql;
*** 주의***
명령어 끝에 ";"를 입력해야 한다.
만약 입력 하지 않았다면, 다음 줄에 입력하면 된다.
현재 암호 확인
//mysql 8.x
mysql> select host, user, authentication_string from user;
암호 변경
mysql> alter user 'root'@'localhost' identified with mysql_native_password by '변경후 비밀번호';
MYSQL 종료
mysql> exit
Bye
mysql> quit
Bye
데이터 베이스를 추출하는 데 사용되는 SQL : SELECT
데이터 베이스를 업데이트 하는 데 사용 : UPDATE
삭제 하는 데 사용 : DELETE
새 데이터를 삽입하는 데 사용 : INSERT INTO
SQL을 사용하여 "Persons"라는 테이블에서 "FirstName"이라는 열을 선택
: SELECT FirstName FROM Persons
"Person"이라는 테이블의 모든 열을 선택
: SELECT * FROM Persons
"FirstName" 열의 값이 "Peter"인 "Persons"라는 테이블의 모든 레코드 선택
: SELECT * FROM Persons WHERE FirstName='Peter'
"FirstName" 열의 값이 "a"로 시작하는 "Persons"라는 테이블의 모든 레코드 선택
: SELECT * FROM Persons WHERE FirstName LIKE 'a%'
"FirstName"이 "Peter"이고 "LastName"이 "Jackson"인 "Persons"라는 테이블에서 모든 레코드 선택
: SELECT * FROM Persons WHERE FirstName='Peter' AND LastName='Jackson'
"LastName"이 알파벳순으로 "Hansen"과 "Pettersen" 사이에 있는 "Persons"라는 테이블의 모든 레코드 선택
: SELECT * FROM Persons WHERE LastName BETWEEN 'Hansen' AND 'Pettersen'
다른 값만 반환하는 데 사용되는 SQL 문은? : SELECT DISTINCT
결과 집합을 정렬하는 데 사용되는 SQL 키워드는 : ORDER BY
"FirstName"을 기준으로 내림차순으로 정렬된 "Persons"라는 테이블의 모든 레코드 반환
: SELECT * FROM Persons ORDER BY FirstName DESC
SQL을 사용하여 "Persons" 테이블에 새 레코드 삽입
: INSERT INTO Persons VALUES ('Jimmy', 'Jackson')
"Person" 테이블의 "LastName"으로 "Olsen"을 삽입
: INSERT INTO Persons (LastName) VALUES ('Olsen')
Person 테이블의 "LastName" 열에서 "Hansen"을 "Nilsen"으로 변경
: UPDATE Persons SET LastName='Nilsen' WHERE LastName='Hansen'
Person 테이블에서 "FirstName"이 "Peter"인 레코드 삭제
: DELETE FROM Persons WHERE FirstName = 'Peter'
"Persons" 테이블의 레코드 수를 반환
: SELECT COUNT(*) FROM Persons
가장 일반적인 조인 유형은 무엇입니까? : INNER JOIN
범위 내에서 값을 선택하는 데 사용되는 연산자는 무엇입니까? : BETWEEN
열에서 지정된 패턴을 검색하는 데 사용되는 연산자는 무엇입니까? : LIKE
'Customers'라는 데이터베이스 테이블을 생성
: CREATE TABLE Customers