- [기본 SQL] SQL 기본 명령어2023년 10월 10일
- Cat_Code
- 작성자
- 2023.10.10.오후07:59
SQL 명령어
- 데이터 정의어 (DDL) - 테이블 생성, 변경, 삭제
- 데이터 조작어 (DML) - 데이터 삽입, 조회, 수정, 삭제
- 데이터 제어어 (DCL) - 데이터 접근 권한 부여, 제거
- 트랜젝션 제어어 (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일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)