SQLデフォルトコマンド
学習目標
SQL基本命令の概念を学ぶ.
コアキー
データ定義子(DDL)
データオペレータ(DML)
データ制御言語(DCL)
オブジェクトコントローラ(TCL)
Intro
DBA
データベース管理者として、企業内でデータベースを管理
テーブルの作成、データ・アクセス、およびデータベース管理
≪データ定義|Data Definitions|oem_src≫:表の作成、変更、削除
≪データ制御言語|Data Control Language|oem_src≫:データ・アクセス権の付与、削除
データ分析による新しい内部サイトの作成
データベース・アクセス、データ分析、およびデータ・アクセスの返却を要求
≪データ・オペレータ|Data Operator|oraolap≫:データの挿入、問合せ、変更、削除
トランザクション制御言語:DMLコマンドの実行、キャンセル、一時保存
データ定義子(DDL)
テーブルの作成、変更、削除に使用するコマンド
列の追加、列データ型とテーブル名の変更、テーブルの削除
テーブルは、カラムごとにデータ型を定義する必要があります.
表は列ごとに制約を定義します
PK(Primary Key)
/* Practice 이름으로 데이터베이스 생성*/
CREATE DATABASE Practice;
/* Practice 데이터베이스 사용*/
USE Practice;
/***************테이블 생성(Create)***************/
/* 회원테이블 생성 */
CREATE TABLE 회원테이블 (
회원번호 INT PRIMARY KEY,
이름 VARCHAR(20),
가입일자 DATE NOT NULL,
수신동의 BIT
);
/* 기본키(PRIMARY KEY): 중복되어 나타날 수 없는 단일 값 + NOT NULL */
/* NOT NULL: NULL 허용하지 않음 */
/* 회원테이블 조회 */
SELECT * FROM 회원테이블;
/***************테이블 열 추가*******************/
/* 성별 열 추가 */
ALTER TABLE 회원테이블 ADD 성별 VARCHAR(2);
/* 회원테이블 조회 */
SELECT * FROM 회원테이블;
/***************테이블 열 데이터 타입 변경***************/
/* 성별 열 타입 변경 */
ALTER TABLE 회원테이블 MODIFY 성별 VARCHAR(20);
/***************테이블 열 이름 변경**************/
/* 성별 -> 성 열 이름 변경 */
ALTER TABLE 회원테이블 CHANGE 성별 성 VARCHAR(2);
/***************테이블명 변경**************/
/* 테이블명 변경 */
ALTER TABLE 회원테이블 RENAME 회원정보;
/* 회원테이블 조회 --> 이름이 변경되었기 때문에 조회되지 않음*/
SELECT *
FROM 회원테이블;
/* 회원정보 조회 */
SELECT *
FROM 회원정보;
/***************테이블 삭제**************/
/* 테이블 삭제 */
DROP TABLE 회원정보;
/* 회원정보 조회 --> 삭제되었기 때문에 조회되지 않음*/
SELECT *
FROM 회원정보;
データオペレータ(DML)
データの挿入(制約が競合し、文字が日付型(")をプッシュ)
クエリー:すべてのカラム(*)、特定のカラム名の変更(AS)
修正:特定条件(WHERE)
削除:特定条件(WHERE)
/* Practice 데이터베이스 사용*/
USE Practice;
/***************테이블 생성(Create)***************/
/* 회원테이블 생성 */
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 회원테이블;
/***************조건 위반*******************/
/* PRIMARY KEY 제약 조건 위반 */
INSERT INTO 회원테이블 VALUES (1004, '장보고', '2020-01-06', 0);
/* NOT NULL 제약 조건 위반 */
INSERT INTO 회원테이블 VALUES (1005, '장보고', NULL, 0);
/* 데이터 타입 조건 위반 */
INSERT INTO 회원테이블 VALUES (1005, '장보고', 1, 0);
/***************데이터 조회***************/
/* 모든 열 조회 */
SELECT *
FROM 회원테이블;
/* 특정 열 조회 */
SELECT 회원번호,
이름
FROM 회원테이블;
/* 특정 열 이름 변경하여 조회 */
SELECT 회원번호,
이름 AS 성명
FROM 회원테이블;
/***************데이터 수정*******************/
/* 모든 데이터 수정 */
UPDATE 회원테이블
SET 수신동의 = 0;
/* 회원테이블 조회 */
SELECT *
FROM 회원테이블;
/* 특정 조건 데이터 수정 */
UPDATE 회원테이블
SET 수신동의 = 1
WHERE 이름 = '홍길동';
/* 회원테이블 조회 */
SELECT *
FROM 회원테이블;
/***************데이터 삭제*******************/
/* 특정 데이터 삭제 */
DELETE
FROM 회원테이블
WHERE 이름 = '홍길동';
/* 회원테이블 조회 */
SELECT *
FROM 회원테이블;
/* 모든 데이터 삭제 */
DELETE
FROM 회원테이블;
/* 회원테이블 조회 */
SELECT *
FROM 회원테이블;
データ制御言語(DCL)
データ・アクセスの許可、削除
ユーザー確認:USE MYSQL
ユーザーの追加と削除:CREATE、DROP
承認と削除:CRANT、REVOKE
/***************사용자 확인***************/
/* MYSQL 데이터베이스 사용 , 사용자 추가*/
USE MYSQL;
/* 사용자 확인 */
SELECT *
FROM USER;
/***************사용자 추가***************/
/* 사용자 아이디 및 비밀번호 생성 */
CREATE USER 'TEST'@LOCALHOST IDENTIFIED BY 'TEST';
/* 사용자 확인 */
SELECT *
FROM USER;
/* 사용자 비밀번호 변경 */
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;
/* 사용자 확인 */
SELECT *
FROM USER;
トランザクション制御言語(TCL)
データオペレータコマンドの実行、キャンセル、一時保存
トランザクションは分割できない最小論理ワークユニットです
実行
一時保存(SAVEPOINT):一時保存は、ROLLBACKストレージポイントを指定するコマンドです
/* Practice 데이터베이스 사용*/
USE Practice;
/***************테이블 생성(Create)***************/
/* (회원테이블 존재할 시, 회원테이블 삭제) */
DROP TABLE 회원테이블;
/* 회원테이블 생성 */
CREATE TABLE 회원테이블 (
회원번호 INT PRIMARY KEY,
이름 VARCHAR(20),
가입일자 DATE NOT NULL,
수신동의 BIT
);
/* 회원테이블 조회 */
SELECT * FROM 회원테이블;
/***************BEGIN + 취소(ROLLBACK)*******************/
/* 트랜젝션 시작 */
BEGIN;
/* 데이터 삽입 */
INSERT INTO 회원테이블 VALUES (1001, '홍길동', '2020-01-02', 1);
/* 회원테이블 조회 */
SELECT * FROM 회원테이블;
/* 취소 */
ROLLBACK;
/* 회원테이블 조회 */
SELECT * FROM 회원테이블;
/***************BEGIN + 실행(COMMIT)*******************/
/* 트랜젝션 시작 */
BEGIN;
/* 데이터 삽입 */
INSERT INTO 회원테이블 VALUES (1005, '장보고', '2020-01-06', 1);
/* 실행 */
COMMIT;
/* 회원테이블 조회 */
SELECT * FROM 회원테이블;
/***************임시 저장(SAVEPOINT)*******************/
/* (회원테이블에 데이터 존재할 시, 데이터 모두 삭제) */
DELETE FROM 회원테이블;
/* 회원테이블 조회 */
SELECT * FROM 회원테이블;
/* 트랜젝션 시작 */
BEGIN;
/* 데이터 삽입 */
INSERT INTO 회원테이블 VALUES (1005, '장보고', '2020-01-06', 1);
/* SAVEPOINT 지정 */
SAVEPOINT S1;
/* 1005 회원 이름 수정 */
UPDATE 회원테이블
SET 이름 = '이순신';
/* SAVEPOINT 지정 */
SAVEPOINT S2;
/* 1005 회원 데이터 삭제 */
DELETE
FROM 회원테이블;
/* SAVEPOINT 지정 */
SAVEPOINT S3;
/* 회원테이블 조회 */
SELECT * FROM 회원테이블;
/* SAVEPOINT S2 저장점으로 ROLLBACK */
ROLLBACK TO S2;
/* 회원테이블 조회 */
SELECT * FROM 회원테이블;
/* 실행 */
COMMIT;
/* 회원테이블 조회 */
SELECT * FROM 회원테이블;
Reference
この問題について(SQLデフォルトコマンド), 我々は、より多くの情報をここで見つけました https://velog.io/@qsdcfd/SQL-기본-명령어テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol