반응형






1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
/* 
    DML (Data Manipulation Language) : 데이터 조작어
    SELECT문, DELETE문, INSERT문, UPDATE문
    
    --형식--
    SELECT 컬럼명, 컬럼명2,...
    FROM 테이블1, 테이블2,...
    WHERE 조건들
    
    //테이블의 레코드(로우)를 입력
    INSERT INTO 테이블명 (컬럼명1, 컬럼명2, ...)
    VALUES (값1, 값2, ...); 
    
    UPDATE 테이블명 
    SET 컬럼명1 = 값1,
        컬럼명2 = 값2
    WHERE 조건..;
    
    
    //테이블의 레코드(로우)를 삭제
    DELETE (FROM-생략가능)테이블명
    WHERE 조건;   
*/
    
/* 테이블 생성 */
 
create table sample(
    deptNo number(20),
    deptName varchar2(15),
    deploc varchar2(15),
    depManager varchar2(10)
);
 
 
desc sample;
 
 
 
/* 데이터 입력 */
 
insert into sample(deptNo, deptName, deploc, depManager)
values(10'기획실''서울''홍길동');
 
 
select * from sample;
 
 
 
/* 모든 컬럼에 데이터를 넣을 경우 컬럼명 생략가능 */
 
insert into sample
values(20,'전산실','부산','김말동');
 
 
insert into sample
values(30,'영업부','광주',null);
 
 
 
/* 데이터 필드 수정 */
 
update sample set deptNo=50
where deptNo=30;
 
 
update sample set deploc = '인천'
where deptNo = 50;
 
 
 
/* 데이터 삭제 */
 
delete sample 
where deptNo = 50;
 
 
 
/* 테이블 내용 모두 삭제 */
 
delete sample;
 
 
 
/* commit  */
 
insert into sample
values(20,'전산실','부산','김말동');
 
 
insert into sample
values(30,'영업부','광주',null);
 
 
commit;
 
 
 
/* rollback : commit한 시점으로 돌아감*/
 
update sample set deploc = '인천'
where deptNo = 30;
 
 
select * from sample;
 
 
delete sample;
 
 
rollback;
 
select * from sample;
cs


반응형

'프로그래밍 > SQL' 카테고리의 다른 글

[Oracle SQL] VIEW  (0) 2017.08.16
[Oracle SQL] 무결성 제약조건  (0) 2017.08.12
[Oracle SQL] CREATE, ALTER, DROP, TRUNCATE  (0) 2017.08.10
[Oracle SQL] SubQuery 서브쿼리  (0) 2017.08.10
[Oracle SQL] Join  (0) 2017.08.08
반응형





 SQL Study



- cmd창에서 초기 접속

c:> Mysql -uroot -papmsetup mysql


- 기초함수 익히기


 round

 반올림 값을 구함

 select round(1.58);



abs

 절대 값을 구함

 select abs(-100);



mod

 나눈 나머지 값을 구함

 select mod(35,10);



 least

 주어진 인수 값 중 가장 작은 값을 구함

 select least(1,2,3);



 greatest

 주어진 인수 값 중 가장 큰 값을 구함

 select greatest(1,2,3);



 floor

 주어진 인수 값 보다 크지 않은 최대 정수

 select floor(10.23);



 length

 내용 : 문자열의 길이를 구한다.

 select length('school');



left

 주어진 인수 값(문자)의 왼쪽에서 특정길이 만큼 보여줌

 select left('my school',2);



 right

 주어진 인수 값(문자)의 오른쪽에서 특정길이 만큼 보여줌

 select right('my school',5);



 substring

 지정 위치에서 지정 길이만큼 보여줌

 select substring('my school',4,6);



 concat

 여러 개의 문자열을 이어줌

 select concat('my','sql');



 password

 일반 문자열을 암호화

 select password('mysql');



 lpad

 지정된 길이의 부족한 공간을 왼쪽으로 채우기

 select lpad('mysql',7,'?');



 rpad

 일반 문자열을 암호화

 select rpad('mysql',7,'?');



 lcase

 영문을 소문자로 바꿈

 select lcase('MYSQL');



 ucase

 영문을 대문자로 바꿈

 select ucase('mysql');


- 중요용어정리 ( DML / DCL )


1. DDL (Data Definition Language)

: 데이터 베이스의 스키마 객체를 생성, 변경, 제거, 자료의 버림, 주석을 수행


(1) CREATE


(2) ALTER


(3) DROP


(4) TRUNCATE


(5) COMMENT


2. DML (Data Manipulation Language)

: 스키마 객체의 데이터를 입력, 수정, 조회, 삭제 등의 작업을 말함


(1) SELECT


(2) INSERT


(3) UPDATE


(4) DELETE


3. DCL (Data Control Language)

: 트랜잭션의 성격을 제어하는 것


(1) SET TRANSACTION


(2) COMMIT


(3) ROLLBACK


(4) SAVEPOINT // 작업 위치를 임시로 저장하여 롤백에 사용


- 데이터 형 (데이터 TYPE)

: 숫자 Type M : 최대 출력사이즈, D: 소숫점 자릿수


(1) TINYINT [(M)][UNSINGED]

: 가장 작은 숫자형, 부호에 있을 때 -128~127, 업을 때 0~255 까지 다룰 수 있다. (1 byte 필요) 


(2) SMALLINT[(M)][UNSINGED]

: 부호가 있을 때 -32768 ~ 32767, 없을 때 0~65535 까지 다룰 수 있다. (2 byte 필요)


(3) MEDIUMINT[(M)][UNSINGED]

: 부호가 있을 때 -8388608~ 8388607, 없을 때 0~16777215까지 다룰 수 있다. (3 byte 필요)


(4) INT[(M)][UNSINGED] / (INTEGER)

: 일반적으로 사용하는 숫자형, 부호가 있을 때 -2147483648 ~ 2147483647 (4 byte 필요)


(5) BIGINT[(M)][UNSINGED]

: 부호가 있을 때 -9223372036854775808 ~ 9223372036854775807 (8 byte 필요)


(6) FLOAT[(M,D)]

: 값의 범위는 최소 +-1.175494351E-38, 최대 +-3.402823466E+38 (4 byte 필요)


(7) DOUBLE[(M,D)]

: 값의 범위는 최소 +-1.7976931348623157E-308 (8 byte 필요)


- 문자 TYPE

(1) CHAR


(2) VARCHAR


(3) TINYBLOB / TINYTEXT (255 byte)


(4) TEXT / BLOB (65535 byte)


(5) MEDIUMTEXT (16777215 byte)


(6) LONGTEXT (429496729 byte)


(7) ENUM


- 날짜 TYPE

(1) DATE

: 1001-01-01 부터 9999-12-31 까지의 값이 들어갈 수 있음

: 저장 시 3byte 필요

: 'YYYY-MM-DD' 포맷


(2) DATETIME

: 날짜와 시간이 같이 들어감 '1001-01-01 00:00:00' 부터 '9999-12-31 23:59:59'까지의 값을 다룸

: 저장 시 8 byte 필요

: 'YYYY-MM-DD HH:MM:SS' 포맷

반응형

'프로그래밍 > SQL' 카테고리의 다른 글

[Oracle SQL] 숫자함수  (0) 2017.08.04
[Oracle SQL] 문자 함수  (0) 2017.08.03
[Oracle SQL] Select 문 And,OR, NOT, BETWEEN  (0) 2017.07.29
[Oracle SQL] 토드 설치  (0) 2017.07.29
[SQL] 기초함수 예제  (0) 2017.07.07

+ Recent posts