일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- ospf
- w3school
- 리눅스
- 참조타입
- 정보처리기사
- jsp연결
- javaee
- 라우터
- 네트워크관리사
- Cisco
- VLAN
- Java
- 자바
- sql
- ciscopacket
- 데이터베이스
- 원형그래프
- jsp
- Oracle
- 네트워크
- 정처기필기
- 오라클
- NCS
- rinux
- 이것이 자바다
- cisco packet
- 버추얼머신
- html
- autoset
- php
- Today
- Total
기록해! 정리해!
2-2 본문
4) update 연습 & 전산 연산
Create table T0517(
sno char(3),
sname nvarchar2(5),
age number(3)
);
insert into t0517(sno,sname,age)values('B03','효리',24);
update t0517 set sname='솔라', age='21' where sno='B01';
update t0517 set age='23' where sname='효리';
update t0517 set age=age-2;
select sno, sname, age from T0517;
* 전산연산
a = a+1 ; 오른쪽에서 왼쪽으로 넘김, 자기 자신 값에 1을 더하는 것
예) a = 5
a = a+1
즉, a는 6
S = S+a ; 누적
i = i+1 ; 1을 증가하는 식
예) age = age+1
5) or 연산
update t0517 set age='23' where sname='효리' or sname='솔라'; --권장
update t0517 set age='24' where sno in ('B01','B03');
update t0517 set age='23' where sname='효리' or sno='B04';
6) select 연습
insert into t0517(sno, sname, age) values ( 'A01', '하나', '17');
insert into t0517(sno, sname, age) values ( 'A02', '두리', '15');
insert into t0517(sno, sname, age) values ( 'A03', '마리', '13');
select sno, sname, age from T0517;
select sno from T0517;
select sno, sname, age from T0517 where sno='A01';
select sno, sname, age from T0517 where sno='A01'or sno= 'A02'; --둘 중 하나만 만족하면 됨
select sno, sname, age from T0517 where sno='A01'and sname='하나'; --둘 다 만족해야함
select sno, sname, age from T0517 where sno like'A%'; --A로 시작하는 모든 것 (%:모든,all)
select sno, sname, age from T0517 where sno like'%0%';--0이 들어가는 모든 것
select sno, sname, age from T0517 where sno like'_0%';--2번째 글자에 0이 있는 것
select sno, sname, age from T0517 where sno like'__0%';--3번째 글자에 0이 있는 것
select sno, sname, age from T0517 where sno like'%0%'or sname like '%리%';
select sno, sname, age from T0517 where sno like'%A%'or sname like '%리';
select sno, sname, age from T0517 where age >=20;
select sno, sname, age from T0517 where age =>20; --에러 , =은 무조건 연산자 뒤에
select sno, sname, age from T0517 where age <=20;
select sno, sname, age from T0517 where age =23; --나이가 23
select sno, sname, age from T0517 where not age=23; --나이가 23이 아닌
select sno, sname, age from T0517 where age!=23;
select sno, sname, age from T0517 where age<>23;
select sno, sname, age from T0517 where age >=23; --나이가 23 이상
select sno, sname, age from T0517 where age <15; --나이가 15 미만
select sno, sname, age from T0517 where age >=15 and age <23;--나이가 15이상이고 23살 미만
select sno, sname, age from T0517 order by age asc; --나이를 기준으로 오름차순 정열하시오
select sno, sname, age from T0517 where sno like '%A%' order by age asc;
* = 대입 / == 같다 이므로 원래는 ==써야함
7) 기본키 (p.k)
1. 중복불가
2. null 사용불가
3. 테이블에 하나만 존재할 수 있다
4. 두개의 칼럼을 하나의 키로 만들 수 있다
예) a 001 =a001
a 002 =a002
b 001 =b001
b 002 =b002
5. 유니크 제약 조건
drop table enrol; --얘부터 지워야함
drop table student;
drop table course;
create table student( --기본 컬럼을 다 적고 제약조건에 대한 키를 밑에 작성 (자동적으로 이름부여)
sno varchar2(3) ,
sname nvarchar2(10),
year varchar2(10),
dept nvarchar2(10) ,
primary key(sno));
create table student( --제약조건에 대해서 수동적으로 이름을 부여한 것
sno varchar2(3) ,
sname nvarchar2(10),
year varchar2(10),
dept nvarchar2(10) ,
constraint student_sno_pk primary key(sno,sname)); --2개의 컬럼에 1개의 pk
insert into student(sno,sname,year,dept)
values('100','나연묵','4','컴퓨터');
insert into student(sno,sname,year,dept)
values('100','둘리','4','컴퓨터');
insert into student(sno,sname,year,dept)
values('200','둘리','4','컴퓨터');
insert into student(sno,sname,year,dept)
values('200','둘리','4','컴퓨터'); --에러/ 유니크 제약조건; 동일한게 있으면 안됨
select * from student;
create table student(
sno varchar2(3) not null primary key , --컬럼 옆에 pk가 기본
sname nvarchar2(10),
year varchar2(10),
dept nvarchar2(10)
);