SQL Tutorial

데이터 정의어 (Data Definition Language/DDL)


테이블 생성 변경, 삭제

create database Practice;
--Practice 데이터 베이스 생성

use practice;
--Practice 데이터 베이스 사용

create table 회원테이블(
회원번호 int primary key,
이름 varchar(20),
가입일자 date not null,
수신동의 bit);
--Practice 데이터 베이스 안에 회원테이블 생성
--회원번호(int/중복 x)
--이름(varchar/크기 20)
--가입일자(date/null x)
--수신동의(bit) 
--정보 포함.

select *
--모든 열을 조회 => *
	from 회원테이블;
--회원테이블을 조회
    
alter table 회원테이블 add 성별 varchar(2);
--회원테이블에 성별(varchar/크기 2)추가
    
alter table 회원테이블 modify 성별 varchar(20);
--성별(varchar/크기 2) -> 성별(varchar/크기 20)

alter table 회원테이블 change 성별 성 varchar(2);
--성별 -> 성(varchar/크기 2)
alter table 회원테이블 change 성 성별 varchar(2);
--성 -> 성별(varchar/크기 2)

alter table 회원테이블 rename 회원정보;
--회원테이블 -> 회원정보 이름 바꾸기
drop table 회원정보;
--테이블 회원정보 삭제.

데이터 조작어 (Data Manipulation Language/DML)


데이터 삽입,조회,수정,삭제

create database Practice;
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,'김두칠','2022-01-29',1);
insert into 회원테이블 values(1003,'김똘똘','2022-01-30',0);

-- primary key 설정 후 동일한 값 넣으면 에러남
-- 이상한 날짜 넣으면 에러남
-- not null에 null 넣으면 에러남
-- 데이터 조건 위반(bit 에 0,1 말고 다른거, 등) 넣으면 에러남

select * from 회원테이블;
-- 모든 열 조회
select 회원번호, 이름 from 회원테이블;
-- 회원번호 이름만 조회
select 회원번호, 이름 as 성명 from 회원테이블;
-- 특정 열 이름 변경하여 조회

-- 데이터수정

update 회원테이블 
	set 수신동의 =0;
-- 이름 = '홍길동' 의 수신동의를 1로 변경
update 회원테이블 set 수신동의 =1 where 이름= '홍길동';

select * from 회원테이블;

-- 데이터 삭제
delete from 회원테이블 where 이름='홍길동';
-- 이름 = '홍길동'의 데이터 삭제
delete from 회원테이블;
-- 전부 삭제

데이터 제어어 (Data Control Language/DCL)


데이터 접근 권한 부여,제거

use mysql;
-- 사용자 확인 
select* from user;
-- 사용자 아이디 및 암호 생성 
create user 'test' @localhost identified by'test1234';
-- 아이디 -> test
-- 비밀번호-> test1234
-- localhost 로컬에서 접속가능

set password for 'test' @localhost = '1234';
-- test의 비밀번호를 1234로 변경

-- 권한 부여 및 제거--

-- 특정 권한 부여
grant select,delete on practice.회원테이블 to 'test' @localhost;
-- grant + 특정 동작(select,delete) + on + 권한사용할 데이터베이스 or 테이블 + to + 아이디

-- 특정 권한 제거
revoke delete on practice.회원테이블 from 'test' @localhost;
-- revoke + 특정 동작(select,delete) + on + 권한뺏을 데이터베이스 or 테이블 + from + 아이디

--  모든 권한 부여
grant all on practice.회원테이블 to 'test' @localhost;

-- 모든 권한 제거 
revoke all on practice.회원테이블 from 'test' @localhost;

-- 사용자 삭제 
drop user 'test' @localhost;

트랜젝션 제어어 (Transaction Control Language/TCL)

데이터 조작어 명령어 실행, 취소, 임시저장

테이블 각 열 -> 1가지 데이터 타입.
제약 조건 만들기 가능
PK(PRIMARY KEY) 중복없는 값.
NOT NULL NULL이 없도록.

출처

좋은 웹페이지 즐겨찾기