SQL Server / Query / GO

예를 들어 DB라는 데이터베이스를 만들고, ID라는 열을 갖는 TB라는 테이블을 만든다고 하자. 쿼리로 만드는 경우 다음과 같이 할 수 있는데...

CREATE DATABASE DB;
USE DB;
CREATE TABLE TB ( ID int );

다음과 같은 에러가 난다.

데이터베이스 'DB'이(가) 없습니다. 이름을 제대로 입력했는지 확인하십시오.

이런 경우 GO를 사용한다. GO를 기준으로 해서 GO 위의 쿼리 실행을 마친 후 GO 다음의 쿼리를 실행한다. 즉, 아래처럼 하면 에러가 나지 않고 원하는 경과를 얻을 수 있다.

CREATE DATABASE DB;
GO
USE DB;
GO
CREATE TABLE TB ( ID int );
같은 카테고리의 다른 글
SQL Server / SSMS / 메모

SQL Server / SSMS / 메모

1433 이외의 포트로 접속하는 방법 SQL Server 기본 포트는 1433이다. 기본 포트일 때는 IP나 도메인만으로 접속가능한데, 포트를 바꾸었다면 명시해주어야 한다. 예를 들어 IP가 123.123.123.123, 포트가 12345로라면... 123.123.123.123,12345 특이하게 :가 아니라 ,를 쓴다. SSMS에서 대문자를 소문자로, 소문자를 대문자로 만드는 방법 SQL 구문은 대소문자를 구분하지 않지만 보통 대문자로 표현한다. Shift를 누르거나 Caps Lock을 쓰는 게 불편하다면 단축키를 ...

SQL Server / 포트 변경하는 방법

SQL Server / 포트 변경하는 방법

SQL Server의 기본 포트는 1433이다. 보안을 비롯하여 여러 가지 이유로 포트를 변경해야 할 경우가 있다. SQL Server의 포트를 1433에서 다른 것으로 변경하는 방법은 다음과 같다. 를 연다. 에서 인스턴스를 선택한다. 을 클릭한다. 의 TCP 포트를 원하는 것으로 변경한다. 또는 ...

SQL Server 2022 / 설치 / 인스턴스 추가하는 방법

SQL Server 2022 / 설치 / 인스턴스 추가하는 방법

Microsoft 홈페이지에서는 SQL Server의 인스턴스를 다음과 같이 설명하고 있다. 데이터베이스 엔진 인스턴스는 운영 체제 서비스로 실행되는 sqlservr.exe 실행 파일의 복사본입니다. 각 인스턴스는 여러 시스템 데이터베이스와 하나 이상의 사용자 데이터베이스를 관리합니다. 각 컴퓨터에서 데이터베이스 엔진의 여러 인스턴스를 실행할 수 있습니다. 단순하게 이해하자면, 하나의 OS에 여러 SQL Server를 설치할 수 있다고 보면 된다. 기존 ...

SQL Server / 데이터베이스 / 만들기, 삭제하기, 수정하기, 조회하기

데이터베이스 만들기 데이터베이스는 create database로 만든다. shop이라는 이름의 데이터베이스를 만든다. create database shop; 데이터베이스 이름에 띄어쓰기 또는 특수문자가 있는 경우 큰 따옴표 또는 대괄호로 감싼다. create database "shop.shop"; create database ; 데이터베이스 삭제하기 데이터베이스는 drop database로 삭제한다. drop database shop; 데이터베이스 이름에 띄어쓰기 또는 특수문자가 있는 경우 큰 따옴표 또는 대괄호로 감싼다. drop database "shop.shop"; drop database ; 데이터베이스 사용하기 작업 대상이 되는 데이터베이스를 ...

SQL Server / 논리 연산자 / IN, NOT IN

SQL Server / 논리 연산자 / IN, NOT IN

예제로 사용한 데이터베이스는 AdventureWorks이다. IN 다음은 Person.Person 테이블에서 FirstName, MiddleName, LastName을 10개 추출하는 쿼리이다. SELECT TOP(10) FirstName, MiddleName, LastName FROM Person.Person 만약 FirstName이 Syed 또는 Sam 또는 John인 사람을 추출하고 싶다면 아래처럼 쿼리한다. SELECT TOP(10) FirstName, MiddleName, LastName FROM Person.Person WHERE FirstName IN ( 'Syed', 'Sam', 'John' ) 물론 아래와 같이 해도 된다. SELECT TOP(10) FirstName, MiddleName, LastName FROM Person.Person WHERE FirstName ...

SQL Server / SSMS / 다이어그램 만드는 방법

SQL Server / SSMS / 다이어그램 만드는 방법

다이어그램 생성 시 아래와 같은 에러가 난다면 여기를 참고하여 해결할 수 있습니다. 보안 주체 "dbo"이(가) 없거나 이 유형의 보안 주체를 가장할 수 없거나 사용 권한이 없기 때문에 데이터베이스 보안 주체로 실행할 수 없습니다. (Microsoft SQL Server, 오류: 15517) 데이터베이스 하위에 있는 을 선택합니다. 마우스 우클릭 후 을 클릭합니다. 다이어그램에 포함될 테이블을 ...

SQL Server / 열 / 만들기, 삭제하기, 수정하기, 조회하기

열 정보 조회하기 방법 1 client 테이블의 열의 모든 정보를 조회한다. select * from information_schema.columns where table_name = 'client'; client 테이블의 열의 특정 정보만 조회한다. select column_name, ordinal_position, data_type from information_schema.columns where table_name = 'client'; 방법 2 execute sp_columns @table_name = 'city'; 열 추가하기 client 테이블에 client_name 열을 추가한다. 테이터 형식은 varchar, 최대 길이는 50이다. alter table client add ...

SQL Server / Query / GO

예를 들어 DB라는 데이터베이스를 만들고, ID라는 열을 갖는 TB라는 테이블을 만든다고 하자. 쿼리로 만드는 경우 다음과 같이 할 수 있는데... CREATE DATABASE DB; USE DB; CREATE TABLE TB ( ID int ); 다음과 같은 에러가 난다. 데이터베이스 'DB'이(가) 없습니다. 이름을 제대로 입력했는지 확인하십시오. 이런 경우 GO를 사용한다. GO를 기준으로 해서 GO 위의 쿼리 실행을 마친 후 ...

SQL Server / Query / JOIN

SQL Server / Query / JOIN

JOIN으로 여러 개의 테이블의 데이터를 연결하여 조회할 수 있다. 다음과 같은 두 개의 테이블이 있다고 하자. country에는 나라의 이름이, city에는 도시의 이름이 있다.  INNER JOIN country 테이블의 country_no와 city 테이블의 country_no가 같은 것을 연결한다. 두 테이블에 모두 존재하는 데이터를 출력한다. select country.country_name, city.city_name from country inner join city on country.country_no = city.country_no ; LEFT JOIN country 테이블의 country_no와 ...

SQL Server / 테이블 / 만들기, 삭제하기, 수정하기, 조회하기

SQL Server / 테이블 / 만들기, 삭제하기, 수정하기, 조회하기

테이블 만들기 client 테이블을 만든다. 열이 하나도 없으면 만들어지지 않으므로, 적어도 하나의 열은 같이 만들어야 한다. create table client ( id int ); 테이블 삭제하기 client 테이블을 삭제한다. drop table client; 테이블 이름 변경하기 테이블 client의 이름을 account로 변경한다. sp_rename client, account; 테이블 목록 조회하기 방법 1 select * from information_schema.tables; 방법 2 execute sp_tables @table_type = "'table'"; SSMS 테이블 만들기 데이터베이스를 확장하고 을 선택한 다음 ...