컴퓨터/SQL

데이터 구조 생성과 변경

해피밀세트 2020. 1. 20. 18:40

테이블 생성

 데이터베이스 생성
 1. 데이터베이스 : 밥상
    - 테이블(그릇)을 올리기 전에 데이터베이스(밥상)부터 만들어야함
 2. MS-SQL에서 데이터 베이스 만들기
 3. T-SQL을 이용하여 데이터베이스 만들기
    - DB이름 : test01
    - 사용자 DB를 생성하려면, master DB를 사용해야함
      1) USE master
      2) CREATE DATABASE test01
 4. SSMS를 이용하는 방법(GUI 이용)
    - DB이름 : test02
    - 논리적 DB => 물리적 파일 :
      .mdf, .ldf, .ndf
      (사진)
 
 기본 데이터 타입
 - DB(밥상)를 만들었으면 테이블(밥그릇)을 만들어야 함
 - 어떤 모양의 테이블을 만들까? :
   MS-SQL에서 제공하는 기본 속성 타입
   1. 숫자타입
     - bit : 1bit
     - tinyint : 0~255 (정수)
     - smallint : -2^15 ~ 2^12-1 (정수)
     - int : -2^31 ~ 2^31-1 (정수)
     - bigint : -2^63 ~ 2^63-1 (정수)
     - decimal[(p[,s])[, numerical([p[,s]])] : decimal(5,2) => 123.45
     - float : 4byte, 8byte float (실수)
     - real : 4byte float (실수)
   2. 날짜(시간) 타입
     - datetime : 1755/1/1 ~ 9999/12/31 (8byte) (날짜)
     - smalldatetime : 1990/01/01 ~ 2079/6/6 (4byte) (날짜)
   3. 문자 타입
     - char[(n)] : 고정 길이 문자열
     - varchar[(n)] : 가변 길이 문자열
     - nchar[(n)] : for unicode(2byte) => n => 2n byte
       (유니코들르 위한 고정 문자열)
     - nvachar[(n)] : for unicode (유니코드를 위한 가변 길이 문자열)
   4. IDENTITY 타입
     - 자동 증가 속성 타입
     - IDENTITY(10, 2) => 초기값이 10, 2씩 증가함

 테이블생성
   테이블생성과 튜플 추가
    1. 테이블 생성
     CREATE TABLE 테이블명
     ( 속성명 속성타입 [제약조건]
       속성명 속성타입,
       ...
     )
    2. 튜플 추가
      INSERT INTO 테이블명(속성명, 속성명, ...)
      VALUES (속성값, 속성값, ...)
      - INTO는 생략 가능
      - id 속성은 자동 증가 타입임으로 값을 지정할 수 없음
    3. 추가된 튜플의 검색
       SELECT 속성명, 속성명, ...
       FROM 테이블명
       [WHERE 조건]

 테이블 변경
   ADD, ALTER, DROP column
     1. 테이블 구조 변경 (ALTER TABLE)
        - ADD column : 속성 추가
        - ALTER column : 속성 타입 변경
        - DROP column : 속성 제거
        - 주의 사항 :
            - Alter column의 경우 속성값의 범위를 증가시키는 경우에는 문제가 없지만 범위를 감소시킬 경우에는 현재 테이블이 저장된 속성값들에 따라서 허용이 안될 수도 있음
            - 속성 타입은 varchar(3)로 변경하려고 하면 안됨
            - varchar(50)으로는 변경이 가능함
    2. ADD column : 속성 추가
       - datetime형으로 pdate속성을 memberTEST 테이블ㅇ에 추가함
    3. ALTER column : 속성 타입 변경
       - name 속성의 타입을 varchar(30)으로 변경함

테이블 생성

 데이터베이스 생성
 1. 데이터베이스 : 밥상
    - 테이블(그릇)을 올리기 전에 데이터베이스(밥상)부터 만들어야함
 2. MS-SQL에서 데이터 베이스 만들기
 3. T-SQL을 이용하여 데이터베이스 만들기
    - DB이름 : test01
    - 사용자 DB를 생성하려면, master DB를 사용해야함
      1) USE master
      2) CREATE DATABASE test01
 4. SSMS를 이용하는 방법(GUI 이용)
    - DB이름 : test02
    - 논리적 DB => 물리적 파일 :
      .mdf, .ldf, .ndf
      (사진)
 
 기본 데이터 타입
 - DB(밥상)를 만들었으면 테이블(밥그릇)을 만들어야 함
 - 어떤 모양의 테이블을 만들까? :
   MS-SQL에서 제공하는 기본 속성 타입
   1. 숫자타입
     - bit : 1bit
     - tinyint : 0~255 (정수)
     - smallint : -2^15 ~ 2^12-1 (정수)
     - int : -2^31 ~ 2^31-1 (정수)
     - bigint : -2^63 ~ 2^63-1 (정수)
     - decimal[(p[,s])[, numerical([p[,s]])] : decimal(5,2) => 123.45
     - float : 4byte, 8byte float (실수)
     - real : 4byte float (실수)
   2. 날짜(시간) 타입
     - datetime : 1755/1/1 ~ 9999/12/31 (8byte) (날짜)
     - smalldatetime : 1990/01/01 ~ 2079/6/6 (4byte) (날짜)
   3. 문자 타입
     - char[(n)] : 고정 길이 문자열
     - varchar[(n)] : 가변 길이 문자열
     - nchar[(n)] : for unicode(2byte) => n => 2n byte
       (유니코들르 위한 고정 문자열)
     - nvachar[(n)] : for unicode (유니코드를 위한 가변 길이 문자열)
   4. IDENTITY 타입
     - 자동 증가 속성 타입
     - IDENTITY(10, 2) => 초기값이 10, 2씩 증가함

 테이블생성
   테이블생성과 튜플 추가
    1. 테이블 생성
     CREATE TABLE 테이블명
     ( 속성명 속성타입 [제약조건]
       속성명 속성타입,
       ...
     )
    2. 튜플 추가
      INSERT INTO 테이블명(속성명, 속성명, ...)
      VALUES (속성값, 속성값, ...)
      - INTO는 생략 가능
      - id 속성은 자동 증가 타입임으로 값을 지정할 수 없음
    3. 추가된 튜플의 검색
       SELECT 속성명, 속성명, ...
       FROM 테이블명
       [WHERE 조건]

 테이블 변경
   ADD, ALTER, DROP column
     1. 테이블 구조 변경 (ALTER TABLE)
        - ADD column : 속성 추가
        - ALTER column : 속성 타입 변경
        - DROP column : 속성 제거
        - 주의 사항 :
            - Alter column의 경우 속성값의 범위를 증가시키는 경우에는 문제가 없지만 범위를 감소시킬 경우에는 현재 테이블이 저장된 속성값들에 따라서 허용이 안될 수도 있음
            - 속성 타입은 varchar(3)로 변경하려고 하면 안됨
            - varchar(50)으로는 변경이 가능함
     2. ADD column : 속성 추가
       - datetime형으로 pdate속성을 memberTEST 테이블ㅇ에 추가함
     3. ALTER column : 속성 타입 변경
       - name 속성의 타입을 varchar(30)으로 변경함
   Drop table과 TRUNCATE table
     1. 테이블을 지우기
        DROP TABLE table name
     2. 테이블의 모든 내용을 지우기, 단 테이블은 남기기
        TURNCATE TABLE table_name
     3. 주의 사항
        - CREATE, ADD, ALTER, DROP, TRUNCATE 등은 모두 데이터 정의어임
        - 명령문이 수행되고 나면 회복이 불가능함

반응형

'컴퓨터 > SQL' 카테고리의 다른 글

데이터 삽입과 변경  (0) 2020.01.22
데이터 검색  (0) 2020.01.21
제약조건  (0) 2020.01.21
SQL의 개념과 T-SQL  (0) 2020.01.20
초간단 Oracle 오라클 XE 11g 설치  (0) 2020.01.16