Grow with AppMaster Grow with AppMaster.
Become our partner arrow ico

SQL 테이블 생성

SQL 테이블 생성

SQL 은 엔지니어가 관계형 데이터베이스에 저장된 데이터를 처리하거나 관계형 데이터 스트림 관리 시스템의 스트림 처리에 사용하는 도메인별 언어입니다. 테이블을 통해 관계형 데이터베이스 에 데이터를 저장할 수 있습니다. 이 프로세스에서 가장 먼저 해야 할 일은 작업할 데이터베이스를 만드는 것입니다. 그런 다음 실제 데이터가 저장될 테이블을 만듭니다. 이러한 데이터베이스의 테이블에는 행과 열이 모두 있습니다.

저장할 수 있는 데이터의 종류를 결정하는 각 열과 연결된 특정 데이터 유형이 있습니다. 테이블을 생성하는 동안 각 열의 이름과 데이터 유형을 지정해야 합니다. MySQL 및 PostgreSQL 데이터베이스 모두에서 SQL CREATE TABLE 명령을 사용하여 테이블을 생성할 수 있습니다.

CREATE TABLE SQL 문을 자세히 살펴보겠습니다.

SQL로 테이블을 생성하려면 어떻게 해야 합니까?

다음 구문을 사용하여 MySQL에서 테이블을 생성할 수 있습니다.

CREATE TABLE table_name(

column_1 data_type 기본값 column_constraint ,

column_2 data_type 기본값 column_constraint ,

...,

…,

table_constraint

);

테이블을 생성하는 동안 기본적으로 갖추어야 할 사항은 테이블 이름과 최소한 하나의 열 이름입니다. 특정 테이블 이름 을 가진 데이터베이스 테이블은 하나만 있어야 합니다. 동일한 이름으로 두 개의 테이블을 만들려고 하면 데이터베이스에 오류 메시지가 표시됩니다.

대괄호 안에 입력할 데이터의 데이터 유형과 함께 테이블에 만들고자 하는 열의 이름을 지정합니다. 이러한 열의 이름은 쉼표로 구분됩니다. 이름, 데이터 유형, 열의 기본값 및 하나 이상의 열 제한이 각 열을 구성합니다.

열 제약 조건은 열에 저장할 수 있는 실제 데이터 값을 제어합니다. 예를 들어 NOT NULL 제약 조건은 해당 특정 열에 NULL 값이 존재하지 않도록 합니다. 단일 열에 대해 둘 이상의 제약 조건을 가질 수 있습니다. 예를 들어 열에는 NOT NULLUNIQUE 제한이 모두 포함될 수 있습니다.

테이블의 모든 열에 제약 조건을 적용하려면 테이블 제약 조건을 사용할 수 있습니다. 동일한 예로는 FOREIGN KEY , CHECKUNIQUE 가 있습니다. 각 테이블에는 하나 이상의 열로 구성된 기본 키가 있을 수 있습니다. 이 기본 키는 테이블의 각 레코드를 고유하게 식별하는 데 사용됩니다. 일반적으로 기본 키 열을 먼저 나열한 다음 나머지 열을 나열합니다. 두 개 이상의 열로 구성된 경우 PRIMARY KEY 제약 조건을 테이블 제약 조건으로 선언해야 합니다.

예를 살펴보겠습니다.

테이블 고객 생성(

ID INT NOT NULL,

이름 VARCHAR(20) NOT NULL,

나이 INT가 NULL이 아닙니다.

급여 십진수 (18, 2),

기본 키(ID)

);

여기서 테이블의 이름은 "CUSTOMERS"이고 기본 키는 ID입니다. ID, NAME 및 AGE 열에는 NOT NULL 제약 조건이 있습니다. 이름의 길이는 20자 미만이어야 합니다. 이제 SQL CREATE TABLE 명령을 사용하여 테이블을 생성했으며 관련 데이터를 테이블과 데이터베이스에 삽입할 수 있습니다.

MySQL/PostgreSQL의 테이블 내부에 테이블을 가질 수 있습니까?

테이블 내부에 테이블이 있는 것을 테이블 중첩이라고 합니다. 이를 위해 SQL CREATE TABLE 명령을 사용하여 다른 테이블 내부에 테이블을 생성해야 합니다. 이것은 MySQL에 존재하지 않는 개념입니다. 그러나 기본 키와 외래 키를 사용하여 중첩 테이블을 갖는 것과 동일한 결과를 얻을 수 있습니다. 이렇게 하면 두 테이블 간에 상위-하위 관계가 생성됩니다.

다른 테이블의 PRIMARY KEY 를 참조하는 한 테이블의 필드 또는 필드 그룹을 FOREIGN KEY 라고 합니다. 기본 기본 키가 있는 테이블을 상위 테이블이라고 하고 외부 키가 있는 테이블을 하위 테이블이라고 합니다.

예를 들어 기본 키가 VehId인 상위 테이블 Vehicle이 있다고 가정합니다. 기본 키 CarId가 있는 Car 테이블과 기본 키 TruckId가 있는 Truck 테이블이 각각 두 개 더 있습니다. VehId를 Car와 Truck 모두에 외래 키로 입력하면 Vehicle이 부모 테이블이 되어 부모-자식 관계가 생성됩니다.

상위 테이블 차량 {VehId}

자식 테이블

1. 자동차 {VehId,CarId}

2. 트럭 {VehId,TruckId}

먼저 생성하지 않고 SQL 테이블로 선택할 수 있습니까?
데이터베이스에서 데이터를 선택하기 위해 SELECT 문을 사용합니다. 이 데이터는 결과 집합이라는 결과 테이블에 보관됩니다. 이것은 테이블의 일부 또는 전체 테이블을 선택하는 데 사용됩니다. 코딩 중이고 SQL CREATE TABLE 명령으로 테이블을 생성한 경우 SELECT 명령을 사용하여 생성한 테이블을 볼 수 있습니다.

구문은 다음과 같습니다.

SELECT column_1, column_2, …

테이블 이름에서;

예를 들어 다음 명령은 전체 테이블을 선택합니다.

SELECT * FROM table_name;

선택
한 테이블의 데이터는 SELECT INTO 문을 사용하여 다른 테이블로 전송됩니다. 한 테이블의 모든 열을 다른 테이블로 복사할 수 있습니다. 이것은 일반적으로 데이터가 복사되는 테이블이 이미 존재하는 경우에 사용됩니다.

테이블의 모든 열을 선택하려면:

고르다 *

INTO new_table [IN 외부DB]

FROM old_table

WHERE 조건;

새 테이블에서 몇 개의 열만 선택하려면 다음을 수행합니다.

SELECT column_1, column_2, column_3, ...

INTO new_table [IN 외부DB]

FROM old_table

Try AppMaster no-code today!
Platform can build any web, mobile or backend application 10x faster and 3x cheaper
Start Free

WHERE 조건;

그렇다면 아직 SQL CREATE TABLE을 사용하여 테이블을 생성하지 않은 경우 테이블을 선택할 수 있습니까?

논리적으로 대답은 아니오여야 합니다. 그러나 이것은 사실이 아니며 아직 테이블을 생성하지 않은 경우에도 테이블로 선택할 수 있습니다. 테이블을 구성해야 하고 한 테이블의 데이터를 새로 생성된 테이블로 전송해야 하는 경우 이 접근 방식을 사용합니다. 선택한 열과 동일한 데이터 유형이 새 테이블을 생성하는 데 사용됩니다.

SQL에서 제품 테이블을 어떻게 생성합니까?

SQL의 제품 테이블은 다양한 방법으로 생성할 수 있습니다. SQL CREATE TABLE 문을 사용하는 것은 하나의 옵션입니다. 제품 정보는 이 명령문이 생성할 테이블에 포함됩니다. SELECT 명령을 사용하여 테이블에서 데이터를 보고 가져올 수도 있습니다. 이 둘의 구문은 위에서 언급했습니다.

INSERT 명령을 사용하여 새 데이터를 테이블에 삽입할 수도 있습니다. INSERT 문 덕분에 테이블의 지정된 위치에 데이터가 삽입됩니다. SELECT 쿼리를 사용하여 테이블에서 데이터를 가져온 다음 INSERT 문을 사용하여 다른 테이블에 추가할 수도 있습니다.

에 집어 넣다
INSERT INTO 문을 사용하여 테이블에 새 레코드를 추가합니다. INSERT 문의 구문은 다음과 같습니다.

INSERT INTO table_name(column_1, column_2, ...)

값(값_1, 값_2, ...);

제품 테이블을 다르게 만드는 것은 동일한 제품의 디자인 측면일 뿐입니다. 제품 이름, 모델, 클래스, 모델 연도 및 정가가 모두 제품 데이터베이스에 저장됩니다. 모든 항목은 브랜드 ID 열로 식별되는 브랜드의 일부입니다. 결과적으로 브랜드는 하나 또는 여러 개의 제품을 가질 수 있습니다. 각 제품은 테이블에서 카테고리 ID로 식별되는 카테고리의 구성원입니다.

SQL 데이터베이스에 적합한 데이터 유형은 무엇입니까?

SQL CREATE TABLE 명령을 사용하는 동안 열의 데이터 유형을 언급해야 합니다. 열에 포함될 수 있는 데이터는 이 데이터 유형에 따라 다릅니다. 예에는 정수, 문자, 이진수, 날짜 및 시간 등이 포함됩니다. 데이터베이스 테이블에는 모든 열에 대한 이름과 데이터 유형이 있어야 합니다.

테이블을 작성할 때 SQL 프로그래머는 각 열에 어떤 종류의 데이터가 포함될 것인지 결정해야 합니다. 데이터 유형은 SQL이 저장된 데이터와 인터페이스하는 방법을 지정합니다. 각 열에 어떤 종류의 데이터가 예상되는지 결정하는 데 도움이 됩니다. MySQL 8.0의 세 가지 기본 데이터 유형은 문자열, 숫자, 날짜 및 시간입니다.

문자열 데이터 유형
문자열 데이터 유형은 일반적으로 영어 알파벳에 속하는 문자 집합입니다. 주요 문자열 데이터 유형은 다음과 같습니다.

  • 문자(크기)
  • VARCHAR(크기)
  • 바이너리(크기)
  • VARBINARY(크기)
  • 타이니블롭
  • 타이니텍스트
  • 텍스트(크기)
  • BLOB(크기)
  • 중간 텍스트
  • 미디엄블롭
  • 긴 텍스트
  • 롱블롭
  • ENUM(발_1, 발_2, 발_3, ...)
  • SET(발_1, 발_2, 발_3, ...)

여기서 SIZE 는 저장된 데이터가 취할 수 있는 최대 크기를 나타냅니다. CHAR 은 고정 길이의 문자열이고 VARCHAR 은 가변 문자열 길이의 문자열입니다. 가장 많이 사용되는 문자열 데이터 유형입니다. BLOB 는 Binary Large Object입니다.

숫자 데이터 유형
숫자 데이터 유형 변수는 숫자 데이터를 보유하는 데 사용됩니다. 그것들은 두 종류의 데이터 유형(정확함 및 근사치)으로 더 나뉩니다. 정확한 데이터 유형은 데이터 값을 리터럴 형식으로 유지하는 데 사용됩니다. 실수는 근사 데이터 유형에 포함되지만 정보는 문자 그대로 실제 값의 복사본으로 저장되지 않습니다. 주요 숫자 데이터 유형은 다음과 같습니다.

  • 비트(크기)\
  • TINYINT(크기)
  • 부울
  • SMALLINT(크기)
  • MEDIUMINT(크기)
  • INT(크기)
  • 정수(크기)
  • BIGINT(크기)
  • FLOAT(크기, d)
  • 플로트(p)
  • 더블(사이즈, d)
  • 이중 정밀도(크기, d)
  • DECIMAL(크기, d)
  • DEC(크기, d)

가장 일반적으로 사용되는 숫자 데이터 유형은 INT 입니다. 10진수가 아닌 숫자를 유지하는 데 사용되는 반면 데이터 유형이 FLOAT 인 변수는 10진수를 유지하는 데 사용됩니다. BOOL 데이터 유형에서 0은 FALSE 로 간주되고 0이 아닌 값은 TRUE 로 간주됩니다.

날짜와 시간
날짜 및 시간 데이터 유형은 날짜 데이터를 보유하는 데 사용됩니다. 주요 날짜 및 시간 데이터 유형은 다음과 같습니다.

  • 데이트
  • DATETIME(fsp)
  • 타임스탬프(fsp)
  • 시간(fsp)
  • 년도

SQL 서버 데이터 유형은 위에 제공된 데이터 유형과 유사하지만 약간의 구문적 차이가 있습니다.

SQL 서버의 변수 유형은 무엇입니까?

MS SQL 서버에는 두 가지 범주의 변수가 있습니다.

지역변수

사용자가 지역 변수를 선언합니다. 항상 @로 시작합니다. 각 지역 변수의 범위는 현재 특정 세션 내에서 실행 중인 일괄 처리 또는 프로세스로 제한됩니다. Transact-SQL 로컬 변수는 특정 종류의 데이터 값만 저장할 수 있는 일종의 개체입니다. 스크립트와 배치는 자주 변수를 사용합니다:

  • 루프의 반복 속도를 관리하거나 루프가 실행된 횟수를 추적하기 위해 카운터로 사용할 수 있습니다.
  • 흐름 제어 검사를 통과할 데이터 값을 저장합니다.
  • 함수 반환 값이 반환할 데이터 값을 유지합니다.

전역 변수

시스템은 전역 변수를 유지합니다. 사용자는 공개할 수 없습니다. @@는 전역 변수가 시작되는 위치입니다. 세션에 대한 데이터를 유지합니다.

변수 선언

배치 또는 프로세스에서 변수를 사용하기 전에 변수를 정의하면 도움이 됩니다. 메모리 위치 대체 변수는 DECLARE 명령을 사용하여 선언됩니다. 변수는 다음 일괄 처리 또는 절차 단계에서 선언된 후에만 사용할 수 있습니다.

Try AppMaster no-code today!
Platform can build any web, mobile or backend application 10x faster and 3x cheaper
Start Free

변수를 선언하는 TSQL 구문은 다음과 같습니다.

DECLARE { @LOCAL_VARIABLE[AS] 데이터 유형 [ = 값 ] }

프로그래머는 다음과 같이 정의된 변수의 값을 결정할 수도 있습니다.

  • DECLARE 키워드로 변수를 선언하는 과정에서
  • SET 사용
  • 선택 사용

SQL에서 데이터 유형이 중요한 이유는 무엇입니까?

데이터 유형은 C와 같은 프로그래밍 언어이든 SQL과 같은 데이터 조작 언어이든 모든 코딩 언어의 필수 구성 요소 중 하나입니다. 실제로 SQL은 다양한 형태의 실제 데이터를 저장할 수 있는 30개 이상의 데이터 유형을 지원합니다. 데이터 처리를 시작하기 전에 다양한 SQL 데이터 유형을 확실히 이해하고 있는 것이 가장 좋습니다.

테이블과 같은 데이터베이스 객체에 보유할 수 있는 정보의 종류는 SQL 데이터 유형으로 지정됩니다. 테이블의 모든 열에는 이름과 데이터 유형이 있으며 모든 테이블에는 열이 있습니다. 데이터를 사용하지 않고는 데이터를 조작할 수 없기 때문에 모든 언어의 중추를 형성합니다.

모든 데이터 유형이 데이터베이스 시스템에서 지원되는 것은 아님을 알아야 합니다. 따라서 특정 데이터 유형을 사용하기 전에 확인해야 합니다. 예를 들어 Oracle에서는 이 데이터 유형을 허용하지 않으므로 DateTime을 사용할 수 없습니다.

마찬가지로 MySQL은 유니코드를 데이터 유형으로 사용하지 않습니다. 특정 데이터베이스에 있는 추가 데이터 유형을 사용할 수 있습니다. 예를 들어, Microsoft SQL Server의 "money" 및 "smallmoney"는 "float" 및 "real"을 대체할 수 있지만 이러한 용어는 데이터베이스에 따라 다르며 다른 데이터베이스 시스템에는 없습니다. 때때로 특정 데이터 유형은 일부 데이터베이스에서 다양한 이름으로 참조됩니다. 예를 들어 Oracle은 "십진수"를 "숫자"로, "블롭"을 "원시"로 나타냅니다.

여러 테이블이 동일한 기본 키를 가질 수 있습니까?

예. 여러 테이블에서 기본 키는 동일한 열 이름을 공유할 수 있습니다. 테이블 내에서 열 이름은 구별되어야 합니다. 엔티티의 무결성을 결정하기 때문에 테이블에는 기본 키가 하나만 포함될 수 있습니다. 모든 테이블에는 기본 키가 포함될 수 있지만 필수는 아닙니다. 기본 키로 지정된 열 덕분에 두 개의 행이 동일한 기본 키를 공유할 수 없습니다. 한 테이블의 기본 키를 사용하여 다른 테이블의 레코드를 식별하고 두 번째 테이블의 기본 키의 일부가 될 수 있습니다.

기본 키에서 "순서 기준"을 어떻게 사용합니까?

ORDER BY 명령을 사용하여 결과 집합을 정렬할 수 있습니다. 이것은 오름차순 또는 내림차순일 수 있습니다. 레코드는 일반적으로 ORDER BY 키워드를 사용하여 오름차순으로 정렬됩니다. DESC 키워드를 사용하여 항목을 내림차순으로 정렬할 수 있습니다.

주문 구문은 다음과 같습니다.

SELECT column_1, column_2, ...

테이블 이름에서

ORDER BY column_1, column_2, ... ASC|DESC;

예를 들어 Users라는 테이블이 있다고 가정합니다. 사용자의 도시를 기준으로 오름차순 또는 내림차순으로 정렬할 수 있습니다.

SELECT * FROM 사용자

도시별 주문

같은 것을 내림차순으로 정렬하려면:

SELECT * FROM 사용자

도시별 주문 DESC;

기본 키에 대한 ORDER BY

"RollID"와 같은 기본 키 이름에 평소와 같이 ORDER BY를 사용하기만 하면 됩니다.

SELECT * FROM my_table WHERE col_1 < 5 ORDER BY RollID;

쿼리 최적화 프로그램은 쿼리를 평가하기로 결정한 방법에 따라 ORDER BY를 처리하기 위해 쿼리 결과 집합에 대해 활성 정렬을 수행하는 대신 기본 키 인덱스 구조를 사용하여 정렬을 분석하기로 결정할 수도 있고 사용하지 않을 수도 있습니다.

MySQL InnoDB는 기본 기본 키 순서에 접근하는 방식으로 테이블을 저장하기 때문에 ORDER BY 절이 없는 단일 테이블 쿼리의 대부분은 기본 키 순서로 결과를 반환합니다. 그러나 응용 프로그램에 기본 키 순서가 필요한 경우 ORDER BY를 계속 사용할 수 있습니다.

코드 개발 없음

노코드 개발 방법론은 코딩의 민주화를 촉진하는 주요 요인 중 하나이다. 요즘에는 코딩을 몰라도 원칙적으로 컴퓨팅에 접근하는 사람들이 많아지고 있습니다. 반응형 웹사이트 및 모바일 애플리케이션 구축을 용이하게 합니다.

low-code-no-code

AppMaster를 사용하면 소스 코드를 자동으로 생성할 수 있습니다. 코드는 항상 보고 검토할 수 있습니다. AppMaster에서 프로그래밍 언어를 사용하여 프로젝트 세부 정보를 수정할 수 있습니다. 또한 사용자에게 코드를 내보낼 수 있는 옵션을 제공합니다. 이것은 AppMaster로 개발 중인 소프트웨어가 전적으로 귀하의 통제와 소유권 내에 있다는 약속입니다.

결론

SQL에는 매우 매력적인 여러 응용 프로그램이 있습니다. 데이터 통합 스크립트 생성, 분석 쿼리 설계 및 실행, 통찰력 및 트랜잭션 처리를 위해 데이터베이스에서 데이터 하위 집합에 액세스하는 것이 가장 중요한 목적 중 일부입니다. 또한 데이터베이스에서 데이터의 행과 열을 삽입, 수정 및 제거하는 데 사용할 수 있습니다.

SQL에 대해 자세히 알아보기 전에 기본 명령과 구문에 익숙해져야 합니다. 위의 기사를 통해 우리는 CREATE TABLE, INSERT INTO, SELECT 등과 같이 SQL에서 사용되는 기본 명령문에 대해 더 많이 알 수 있습니다.

관련 게시물

확장 가능한 호텔 예약 시스템을 개발하는 방법: 완전한 가이드
확장 가능한 호텔 예약 시스템을 개발하는 방법: 완전한 가이드
확장 가능한 호텔 예약 시스템을 개발하는 방법을 알아보고, 아키텍처 디자인, 주요 기능 및 원활한 고객 경험을 제공하기 위한 최신 기술 선택을 살펴보세요.
투자 관리 플랫폼을 처음부터 개발하기 위한 단계별 가이드
투자 관리 플랫폼을 처음부터 개발하기 위한 단계별 가이드
효율성을 높이기 위해 현대 기술과 방법론을 활용하여 고성능 투자 관리 플랫폼을 만드는 체계적인 경로를 살펴보세요.
귀하의 요구 사항에 맞는 올바른 건강 모니터링 도구를 선택하는 방법
귀하의 요구 사항에 맞는 올바른 건강 모니터링 도구를 선택하는 방법
라이프스타일과 요구 사항에 맞는 올바른 건강 모니터링 도구를 선택하는 방법을 알아보세요. 정보에 입각한 결정을 내리는 포괄적인 가이드입니다.
무료로 시작하세요
직접 시도해 보고 싶으신가요?

AppMaster의 성능을 이해하는 가장 좋은 방법은 직접 확인하는 것입니다. 무료 구독으로 몇 분 만에 나만의 애플리케이션 만들기

아이디어를 실현하세요