목록MSSQL/SQL 시작하기 (18)
충분히 쌓여가는

데이터 삽입을 하면서 삽입하려는 데이터의 자료형이 열에 지정한 자료형과 맞지 않으면 오류가 발생.SQL Server는 숫자형, 문자형, 날짜형, 지리형, 공간형 등 다양한 자료형을 제공. 숫자형숫자형은 정수, 실수 등의 숫자. SQL Server가 제공하는 숫자형 정보 숫자형 데이터 사용 시 주의사항형 변환(type casting)에 주의해야 한다. 암시적 형변환직접 자료형을 변경하지 않아도 실행 환경에서 자동으로 자료형을 변경하는 것ex) 10/3 -> 3이 반환되지만 10/3.0 -> 3.33333이 반환(암시적 형변환)연산 대상의 자료형이 다를 경우 데이터 우선순위에 따라 시스템이 상위 자료형으로 변경하므로 오류나 성능에 문제가 발생하기 쉬운만큼 주의해야 한다. 명시적 형변환사용자가 직접 자료형을 ..

검색 결과가 여러 테이블에서 조인한 것이고 열의 개수가 많으면, 매번 자료형을 확인하고 테이블을 생성한 다음 검색 결과를 입력하기가 쉽지 않다. 테이블의 데이터를 복사할 때 자주 사용하는 방법으로SELECT 문으로 검색한 데이터를 입력할 때 사용자가 정의한 테이블 이름으로 테이블을 자동으로 생성하고 데이터를 입력한다. SELECT ... INTO 기본 형식SELECT 열 INTO 새로운 테이블 FROM 기존 테이블 stock 테이블에서 symbol이 'MSFT'이면서 2021년 1월 1일부터 2021년 1월 31일까지의 데이터를, doit_stock2 테이블을 자동으로 생성한 뒤 저장-- 테이블 생성하며 검색한 데이터 입력SELECT * INTO doit_stock2 FROM stockWHERE symb..

데이터를 다루다 보면 검색 결과를 다른 테이블에 입력하고 싶을 수 있다.INSERT ... SELECT 문을 조합하면 검색 결과를 다른 테이블에 입력할 수 있다. INSERT ... SELECT 문의 기본형식INSERT 대상 테이블SELECT 열 FROM 기존 테이블 stock 테이블에서 symbol이 'MSFT'이면서 2021년 1월 1일부터 2021년 1월 31일까지의 데이터를 doit_stock 테이블에 저장하는 쿼리-- 데이터를 저장할 테이블 생성CREATE TABLE doit_stock (date DATETIME,symbol NVARCHAR(255),[open] FLOAT,[high] FLOAT,[low] FLOAT,[close] FLOAT,adj_close FLOAT,volume bigint)..

관계형 데이터베이스는 데이터의 무결성을 유지해야 하므로 부모 테이블에 없는 데이터를 자식 테이블이 가지면 안되는 것이 원칙이다.해당 원칙을 유지하면 데이터가 잘못 입력되거나 삭제되는 것을 방지할 수 있다. 테이블의 종속 관계가 있을 때 외래키가 지정된 상황을 가정외래키는 테이블이 관게를 구성할 때 참조하는 열을 의미하고,[회원] 테이블의 (회원 번호) 열이 기본키(Pirmary Key, PK)이고 [주문] 테이블의 (회원 번호) 열이 외래키(Foreign Key, FK)이다. 실습을 위해 2개의 테이블 생성CREATE TABLE doit_parent (col_1 INT PRIMARY KEY);CREATE TABLE doit_child (col_1 INT);ALTER TABLE doit_childADD F..