• 티스토리 홈
  • 프로필사진
    Cat_Code
  • 방명록
  • 공지사항
  • 태그
  • 블로그 관리
  • 글 작성
Cat_Code
  • 프로필사진
    Cat_Code
    • 분류 전체보기 (116)
      • [네이버 부스트캠프] (46)
        • ⭐주간 학습 정리 (43)
        • 🎶추가 학습 정리 (3)
      • [연습의 흔적들] (27)
        • 백준⚾ (26)
        • 캐글 & 데이콘 🤝 (1)
      • [ML] (23)
        • 머신러닝 💕 (5)
        • 딥러닝 🔫 (10)
        • 데이터 분석 🖤 (1)
        • 수학 ☑️ (4)
        • LLM🦜 (3)
      • [CS] (16)
        • 파이썬 🖤 (12)
        • 해체 분석기📝 (3)
        • Service Product (1)
        • MultiMedia (0)
      • [개발일지] (2)
  • 방문자 수
    • 전체:
    • 오늘:
    • 어제:
  • 최근 댓글
      등록된 댓글이 없습니다.
    • 최근 공지
        등록된 공지가 없습니다.
      # Home
      # 공지사항
      #
      # 태그
      # 검색결과
      # 방명록
      • [기본 SQL] SQL 기본 명령어
        2023년 10월 10일
        • Cat_Code
        • 작성자
        • 2023.10.10.:59

        SQL 명령어

        1. 데이터 정의어 (DDL) - 테이블 생성, 변경, 삭제
        2. 데이터 조작어 (DML) - 데이터 삽입, 조회, 수정, 삭제
        3. 데이터 제어어 (DCL) - 데이터 접근 권한 부여, 제거
        4. 트랜젝션 제어어 (TCL) - 데이터조작어 (DML) 명령어 실행, 취소, 임시저장

        분석가가 가장 많이 사용하는 것은 데이터 조작어

        DBA (DataBase Administrator) 역할 : 데이터베이스 관리자 이며, 기업 내에서 데이터베이스를 관리

         

        데이터 정의어 (DDL)

        • 테이터 정의어는 테이블을 생성, 변경, 삭제 할 때 사용하는 명령어
        • 테이블은 각 열마다 반드시 1가지 데이터 타입으로 정의 되어야 한다
        • 테이블은 각 열마다 제약 조건을 정의할 수 있습니다.
          • 중복없는 값 : PK(PRIMARY KEY)
          • NULL 허용 x : NOT NULL
          • …
        CREATE DATABASE Practice;
        
        USE Practice;
        
        CREATE TABLE 회원테이블 (
        회원번호 INT PRIMARY KEY,
        이름 VARCHAR(20),
        가입일자 DATE NOT NULL,
        수신동의 BIT);
        
        /* 회원테이블 조회 */
        SELECT * FROM 회원테이블;
        
        /* 테이블 열 추가*/
        ALTER TABLE 회원테이블 ADD 성별 VARCHAR(2);
        
        /* 변경된 회원 테이블 조회 */
        SELECT * FROM 회원테이블;
        
        /* 성별 열 타입 변경 */
        ALTER TABLE 회원테이블 MODIFY 성별 VARCHAR(20);
        
        /* 성별 -> 성 열 이름 변경 */
        ALTER TABLE 회원테이블 CHANGE 성별 성 VARCHAR(2);
        
        /* 테이블 명 변경 */
        ALTER TABLE 회원테이블 RENAME 회원정보;
        
        
        /*테이블 삭제 */
        DROP TABLE 회원정보;

        데이터 조작어 (DML)

        • 데이터 조작어는 데이터를 삽입, 조회, 수정, 삭제할 때 사용하는 명령어
        USE Practice;
        
        CREATE TABLE 회원테이블 (
        회원번호 INT PRIMARY KEY,
        이름 VARCHAR(20),
        가입일자 DATE NOT NULL,
        수신동의 BIT);
        
        /***** 데이터 삽입 ******/
        INSERT INTO 회원테이블 VALUES (1001, '홍길동', '2020-01-02', 1);
        INSERT INTO 회원테이블 VALUES (1002, '이순신', '2020-01-03', 0);
        INSERT INTO 회원테이블 VALUES (1003, '장영실', '2020-01-04', 1);
        INSERT INTO 회원테이블 VALUES (1004, '유관순', '2020-01-05', 0);
        
        SELECT * FROM 회원테이블;
        
        /* 특정 열 조회 */
        SELECT 회원번호, 이름 FROM 회원테이블;
        
        /* 특정 열 이름을 변경해서 조회 */
        SELECT 회원번호, 이름 AS 성명 FROM 회원테이블;
        
        /***************데이터 수정**************/
        /*모든 데이터 수정 */
        UPDATE 회원테이블 SET 수신동의 = 0;
        
        /*특정 데이터만 수정*/
        UPDATE 회원테이블 SET 수신동의 = 1 WHERE 이름  = '홍길동';
        
        /*********데이터 삭제*********/
        /*특정 데이터 삭제*/
        DELETE FROM 회원테이블 WHERE 이름 = '홍길동';
        
        /*모든 데이터 삭제*/
        DELETE FROM 회원테이블

         

        데이터 제어어(DCL)

        • 데이터 제어어는 데이터 접근권한 부여 및 권한을 제한하는 명령어
        /****사용자확인***/
        USE MYSQL;
        
        /**사용자 확인***/
        SELECT * FROM USER;
        
        /** 사용자 아이디 및 비밀번호 생성**/
        CREATE USER 'TEST' @LOCALHOST IDENTIFIED BY 'TEST';
        
        /* 사용자 비밀 번호 변경*/
        SET PASSWORD FOR 'TEST'@LOCALHOST = '1234';
        
        /****권한 부여 및 제거*****/
        /** 권한 : CREATE, ALTER, DROP, INSERT, DELETE, UPDATE, SELECT등 **/
        
        /* 특정 권한 부여 */
        GRANT SELECT, DELETE ON PRACTICE.회원테이블 TO 'TEST'@LOCALHOST;
        
        /* 특정 권한 제거 */
        REVOKE DELETE ON PRACTICE.회원테이블 FROM 'TEST'@LOCALHOST;
        
        /* 모든 권한 부여*/
        GRANT ALL ON practice.회원테이블 TO 'TEST'@LOCALHOST;
        /*모든 권한 제거*/
        REVOKE ALL ON practice.회원테이블 FROM 'TEST'@LOCALHOST;
        
        /* 사용자 삭제 */
        DROP USER 'TEST'@LOCALHOST;

        트랜젝션 제어어(DCL)

        • 트랜젝션 제어어는 데이터 조작어 명령어 실행, 취소, 임시저장할 때 사용하는 명령어
        USE Practice;
        DROP TABLE 회원테이블;
        
        CREATE TABLE 회원테이블 (
        회원번호 INT PRIMARY KEY,
        이름 VARCHAR(20),
        가입일자 DATE NOT NULL,
        수신동의 BIT);
        
        /*트랜젝션 시작 */
        BEGIN;
        
        /*데이터 삽입*/
        INSERT INTO 회원테이블 VALUES (1001, '홍길동', '2020-01-02', 1);
        
        SELECT * FROM 회원테이블;
        
        /* 취소 */
        ROLLBACK;
        
        SELECT * FROM 회원테이블;
        
        BEGIN;
        
        INSERT INTO 회원테이블 VALUES (1001, '홍길동', '2020-01-02', 1);
        
        COMMIT; /*실행*/
        SELECT * FROM 회원테이블;
        
        /*임시 저장지점 - ROLLBACK 지점 갱신 */
        DELETE FROM 회원테이블;
        
        BEGIN;
        
        INSERT INTO 회원테이블 VALUES (1001, '홍길동', '2020-01-02', 1);
        SAVEPOINT S1;
        
        /* 이름 수정*/
        UPDATE 회원테이블 SET 이름 = '이순신';
        
        /*SAVE point 2*/
        SAVEPOINT S2;
        
        /*1001 회원 삭제*/
        DELETE FROM 회원테이블;
        
        SELECT * FROM 회원테이블;
        
        /*원하는 순간으로 롤백*/
        ROLLBACK TO S2;
        
        SELECT * FROM 회원테이블;
        다음글
        다음 글이 없습니다.
        이전글
        이전 글이 없습니다.
        댓글
      조회된 결과가 없습니다.
      스킨 업데이트 안내
      현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
      ("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)
      목차
      표시할 목차가 없습니다.
        • 안녕하세요
        • 감사해요
        • 잘있어요

        티스토리툴바