DataBase/SQL 32

[DB][SQL] ALTER 테이블 _ ALTER TABLE

▷ ALTER TABLE statement 테이블 및 필드 조작하기 명령어 역할 ALTER TABLE ADD COLUMN 필드 추가 ALTER TABLE RENAME COLUMN 필드 이름 변경 ALTER TABLE RENAME TO 테이블 이름 변경 문법 ADD COLUMN 키워드를 먼저 적는다 그 뒤에 추가하고자 하는 새 필드 이름, 데이터 타입, 제약 조건을 작성한다 단, 추가하고자하는 필드에 NOT NULL 제약 조건이 있을 경우 NULL이 아닌 기본 값으로 설정할 필요가 있다. NULL 은 칸(공간)은 있지만 값이 없는 경우를 말한다. 해당 칸에 없으면 자동으로 NULL값이 채워지는데 프로그래밍 할 때 NULL 값이 채워져 있는것은 그리 좋지 않다. 그래서 NULL 값 보다는 다른 값으로 채워 ..

DataBase/SQL 2024.04.02

[DB][SQL] 제약 조건 PRIMARY KEY, NOT NULL, FOREIGN KEY/ Not null

▷ Constraints 제약 조건 테이블의 필드에 적용되는 규칙 또는 제한 사항 데이터의 무결성을 유지하고, DB의 일관성을 보장한다 PRIMARY KEY NOT NULL FOREIGN KEY 해당 필드의 기본 키로 지정된다 INTEGER 타입에만 적용된다 INT, BIGINT와 같은 다른 정수 유형에는 적용되지 않는다 해당 필드에 NULL 값을 허용하지 않도록 지정한다 다른 테이블과의 외래 키 관계를 정의한다 * 외래키 한 테이블의 필드 중 다른 테이블의 행을 식별할 수 있는 키. 결국 두개의 테이블을 연결해주는 연결 다리 역할을 한다 Q. 반드시 NOT NULL 제약을 사용해야 할까? 아니다. 하지만 데이터 베이스를 사용하는 프로그램에 따라 NULL을 저장할 필요가 없는 경우가 많다. 그래서 대부분..

DataBase/SQL 2024.04.02

[DB][SQL] CREATE 테이블 생성

1. 테이블 만들기 각 필드에 적용할 데이터 타입 작성 테이블, 필드에 대한 제약조건 (constraints) 작성 CREATE TABLE examples ( ExamId INTEGER PRIMARY KEY AUTOINCREMENT, LastName VARCHAR(50) NOT NULL, FirstName VARCHAR(50) NOT NULL ); * 각 영역에 대한 설명 데이터 타입 sqlite3에는 INT, INTEGER 2가지의 자료형이 있다 INT는 산술연산이 가능하지만, NULL값으로 초기화할 수 없다 INTEGER는 산술연산이 불가능하지만, NULL값으로 초기화할 수 있다. INT를 사용해서 PK를 설정하면, AUTOINCREMENT설정을 같이 할 수 없다. 반드시 INTEGER로 해야한다. ..

DataBase/SQL 2024.04.02

[DB][SQL] SELECT _ GROUP BY

▷ GROUP BY 레코드를 그룹화하여 요약본을 만든다 (집계 함수와 함께 사용한다) * Aggregation Functions 집계 함수 값에 대한 계산을 수행한다 이 후에 단일한 값을 반환한다 ▷ GROUP BY 문법 FROM이랑 WHERE 뒤에 배치한다 그룹화할 필드의 목록은 GROUP BY 뒤에 작성한다 Country 필드 그룹화 COUNT 함수가 각 그룹에 대한 집계 값을 계산한다 tracks 테이블에서 Composer 필드를 그룹화한다 각 그룹에 대한 Bytes의 평균 값을 내림차순으로 조회한다 tracks 테이블에서 Composer 필드를 그룹화한다 각 그룹에 대한 Milliseconds의 평균값이 10 미만인 데이터를 조회한다. Milliseconds 필드는 60000으로 나눠 분 단위 값..

DataBase/SQL 2024.04.02

[DB][SQL] SELECT _ LIMIT clause

▷ LIMIT clause 조회하는 레코드의 수를 제한한다 ▷ LIMIT 문법 1개~2개의 인자를 사용한다 (0 또는 양의 정수) row_count : 조회하는 최대 레코드 수 우리는 row_count를 통해서 조회할 수 있는 최대 레코드의 수를 지정할 수 있다. 2번째 인덱스에서 사작해서 5개를 뽑아오라는 뜻이다. tracks 테이블에서 TrackId, Name, Bytes 필드 데이터를 내림차순으로 7개 조회한다 (Bytes 기준 내림차순) tracks 테이블에서 TrackId, Name, Bytes 필드 데이터를 내림차순으로 3번 인덱스부터 4개의 데이터 조회 (Bytes 기준 내림차순)

DataBase/SQL 2024.04.02

[DB][SQL] SELECT _ Filtering _ WHERE 2

tracks 테이블엥서 Bytes 필드 값이 10000이상 500000이하인 데이터의 Name, Bytes를 오름차순으로 조회 (Bytes를 기준으로) customers 테이블에서 Country 필드 값이 'Canada' 또는 'Germany' 또는 'France'인 데이터의 LastName, FirstName, Country를 조회하기 customers 테이블에서 Country 필드 값이 'Canada' 또는 'Germany' 또는 'France'가 아닌 데이터의 LastName, FirstName, Country를 조회하기 customers 테이블에서 LastNmae 필드 값이 'son'으로 끝나는 데이터의 LastName, FirstName 조회하기 customers 테이블에서 FirstName 필..

DataBase/SQL 2024.04.02