SQL 기초

BABY CAT·2022년 9월 22일
0

MySQL

목록 보기
1/6

1. SQL

sql은 structured query language (구조적 질의 언어)의 줄임말로 관계형 데이터베이스 시스템 (RDBMS) 에서 자료를 관리 및 처리하기 위해 설계된 언어.

ㄱ. SQL 문법의 종류

A. DLL (Data Definition Language, 데이터 정의 언어)

각 릴레이션을 정의하기 위해 사용하는 언어이다.
ex) create, alter, drop

B. DML (Date Manipulation Language, 데이터 조작 언어)

데이터를 추가/수정/삭제하기 위한, 즉 데이터관리를 위한 언어이다.
ex) select, insert, update

C. DCL (Data Control Language, 데이터 제어 언어)

사용자 관리 및 사용자별로 릴레이션 또는 데이터를 관리하고 접근하는 권한을 다루기 위한 언어.
ex) grant, revoke

ㄴ. SQL의 언어적 특성

각 프로그래밍 언어가 가진 고유한 특성은 꼭 구별 지어 알아두어야 사용할 때 오류를 줄일 수 있다.
SQL은 다음과 같은 언어적 특성을 갖는다.

SQL은 대소문자를 가리지 않는다.
;세미콜론으로 끝난다.
객체를 나타낼 땐 `` 백틱으로 감싼다.
한줄 주석 -- 또는 #
여러줄 주석 /* */

2. 사용 가능한 데이터 타입

ㄱ. Numerical

ㄴ. Date and Time

ㄷ. String

ㄹ. Spatial

공간 데이터:

공간 데이터는 기하학적 객체의 물리적 위치와 모양에 대한 정보를 나타냅니다. 이러한 객체는 포인트 위치이거나 국가, 도로 또는 호수와 같은 더 복잡한 객체일 수 있습니다.

SQL Server는 geometry 데이터 형식과 geography 데이터 형식이라는 두 가지 공간 데이터 형식을 지원합니다.

기하학 유형은 유클리드(평면) 좌표계의 데이터를 나타냅니다 .

지리 유형은 둥근 지구 좌표계의 데이터를 나타냅니다 .

두 데이터 형식 모두 SQL Server에서 .NET CLR(공용 언어 런타임) 데이터 형식으로 구현됩니다.

ㅁ. JSON

SQL Server의 JSON 데이터

JSON은 최신 웹 및 모바일 애플리케이션에서 데이터를 교환하는 데 사용되는 일반적인 텍스트 데이터 형식입니다.

JSON은 로그 파일 또는 Microsoft Azure Cosmos DB와 같은 NoSQL 데이터베이스에 구조화되지 않은 데이터를 저장하는 데에도 사용됩니다.

많은 REST 웹 서비스에서 JSON 텍스트로 형식이 지정된 결과를 반환하거나 JSON으로 형식이 지정된 데이터를 허용합니다. 예를 들어 Azure Search, Azure Storage, Azure Cosmos DB 등 대부분의 Azure 서비스에는 JSON을 반환하거나 사용하는 REST 엔드포인트가 있습니다. 또한 JSON은 AJAX 호출을 사용하여 웹 페이지와 웹 서버 간에 데이터를 교환하는 기본 형식입니다.

SQL Server 2016에서 처음 도입된 JSON 함수를 사용하면 NoSQL과 관계형 개념을 동일한 데이터베이스에서 결합할 수 있습니다. 기본 관계형 열을 동일한 테이블에서 JSON 텍스트로 형식이 지정된 문서를 포함하는 열과 결합하여 관계형 구조로 JSON 문서를 구문 분석하고 가져오거나 관계형 데이터를 JSON 텍스트로 형식을 지정할 수 있습니다.

3. SQL 기본 함수

/* ----SQL기본정보--------------------- */

/* 데이터보기 */
USE world; 
SHOW TABLES;
DESC city;
DESC country;
DESC countrylanguage;
SELECT * FROM city;
SELECT * FROM country;
SELECT * FROM countrylanguage; 



/* 기본문법순서 */
SELECT 필드명
FROM 테이블
JOIN 테이블
ON 조인조건
WHERE 조건
ORDER BY 필드명 DESC내림차순 ASC또는생략 오름차순
GROUP BY 필드명
HAVING 그룹조건
LIMIT 숫자
OFFSET 숫자 

/* ------------------------- */

use 데이터베이스

데이터베이스를 선택한다. 데이터 베이스는 일종의 폴더


show table

앞서 선택한 데이터베이스에 위치한 테이블의 이름을 보여준다. 테이블은 일종의 폴더 속 파일


desc table

table의 구조를 보여준다. 각 칼럼(필드)의 속성을 보여준다.


select *(필드)

select 다음에는 내가 볼 필드(칼럼)명을 말한다 (필드란 특정 열{column}을 말하는 것이다)

*는 모든 값이기 때문에 table의 전체 valuecolumn을 데이터프레임 형태로 보여준다.


from table

해당 table을 기준으로 하겠다는 의미다. 코드의 뿌리가 되는 부분이다. 해당 table 파일을 선택한다고 보면 된다.


join table / on joinCondition

table 2개이상을 기준으로 할 때 조인과 온을 사용한다 온 다음에는 조인 조건을 입력하는데 두 테이블의 공통 value의 필드명을 = 로 묶어서 표현한다. ex) table.field = table2.field2 여기서 각 필드와 필드2value가 같아야 한다.


where condition

프롬조인온에서 기준이 되는 테이블(파일)을 선택하고 거기서 조건이 필요하다면 입력.


order by field desc/asc

필드명을 기준으로 정렬방법을 선언한다. desc는 내림차순 asc 또는 생략하면 오름차순이다.


group by field

해당 필드를 기준으로 묶음을 생성한다.


having groupCondition

그룹에 대한 조건을 선언한다.


limit number

해당 숫자 만큼의 상위 행만 띄운다


offset number

해당 숫자 만큼의 상위 행을 띄우지 않는다

ex) limit 5 offset 3 이라면 오프셋에 의해 상위 1,2,3을 띄우지 않고 리밋5에 의해 4,5,6,7,8 행이 보여진다

4. 키

: 키는 조건에 만족하는 데이터를 찾거나 정렬할 때 기준이 되는 필드를 말한다
중복 없이

(
프라이머리키 sid 가 프라이머리 크리에이트할 때 프라이머리라고 지정해줫음
식별자 같은 것 테이블에서유일하게식별하기위한키

foreign key 외래키
hit_song_id 같은 경우 프라이머리 키인 song.sid를 가리키기 때문에 외래키다 on으로 연결해줄떄
on으로 연결될 때 외래키가 되면서 다른값을 가질 수 없게된다.
)

0개의 댓글