본문 바로가기

[MSSQL] 컬럼추가, 컬럼삭제, 테이블 데이터 갯수 확인

728x90

MSSQL에서 테이블 생성 후 컬럼을 추가하거나 컬럼 설정을 변경(컬럼추가, 삭제)해야 하는 경우가 있습니다.

그럴 때 사용할 수 있는 명령어를 정리해 보겠습니다.

 

SQL Server 로고

 

 

목차(Contents)

     

    데이터베이스에 있는 테이블의 데이터 갯수는 보통 SELECT문을 사용하는데요.

    보통 아래와 같이 사용하실 겁니다.

    SELECT COUNT(0) FROM 테이블명

     

    그런데 하나씩 테이블을 확인하기에는 너무 오래 걸려서..

    한개의 테이블이 아닌 여러 테이블의 데이터 갯수를 확인하는 쿼리를 추가합니다.

     

    테이블 컬럼 설정 변경

    테이블 컬럼 추가/삭제/변경

    -- 컬럼추가
    ALTER TABLE DeptInfo ADD PhoneNo VARCHAR(20)
    
    -- 컬럼 삭제
    ALTER TABLE DeptInfo DROP COLUMN PhoneNo
    
    -- 컬럼 변경
    -- 사이즈 변경 : VARCHAR(20) > VARCHAR(10)
    ALTER TABLE DeptInfo ALTER COLUMN PhoneNo VARCHAR(10)
    -- 데이터타입 변경 : VARHCAR(10) > TEXT
    ALTER TABLE DeptInfo ALTER COLUMN PhoneNo TEXT
    
    -- NOT NULL 설정
    ALTER TABLE DeptInfo ALTER COLUMN PhoneNo VARCHAR(20) NOT NULL
    
    -- NOT NULL 해제
    ALTER TABLE DeptInfo ALTER COLUMN PhoneNo VARCHAR(20)
    
    -- DEFAULT 지정
    ALTER TABLE DeptInfo ADD CONSTRAINT DF_Dept_PhoneNo DEFAULT '' FOR PhoneNo
    
    -- DEFAULT 해제
    ALTER TABLE DeptInfo ADD CONSTRAINT DF_Dept_PhoneNo
    
    
    /* 인덱스 컬럼 정렬1 (단일 컬럼) */
    CREATE INDEX emp_idx01 ON dbo.emp (INDATE DESC)
    
    /* 인덱스 컬럼 정렬2 (다중 컬럼) */
    CREATE INDEX emp_idx01 ON dbo.emp (INDATE DESC, DEPTNO ASC)

     

     

    데이터베이스의 테이블별 데이터 갯수 확인

    테이블별 데이터 갯수 확인

    -- 테이블별 데이터 갯수 확인
    SELECT SCH.name +'.'+ TAB.name AS TableName,
           SUM(PAR.rows) AS RowCnt
      FROM sys.tables           AS TAB
     INNER JOIN sys.partitions  AS PAR ON PAR.OBJECT_ID     = TAB.OBJECT_ID
     INNER JOIN sys.schemas     AS SCH ON TAB.schema_id     = SCH.schema_id
     WHERE TAB.is_ms_shipped = 0
       AND PAR.index_id IN (1,0)
     GROUP BY SCH.name, TAB.name
     ORDER BY SUM(PAR.rows) DESC

     

    이상입니다.

    반응형