기록해! 정리해!

1-예제1 본문

Oracle

1-예제1

zsuling 2022. 5. 16. 19:40

/*문제

 

table명 :school

컬럼명 : sno(문자 3자리):기본키 , sname(문자 10자리), email(문자 30자리) 

*/

 

Create table school(

 sno char(3) not null primary key, 

 sname nvarchar2(10),

 email varchar(30)

);

 

insert into school (sno, sname, email)

values('101','영심이','apr49@naver.com');

 

insert into school (sno, sname, email)

values('102','둘리','apr39@naver.com');

 

insert into school (sno, sname, email)

values('103','하늘이','apr29@naver.com'); --이게 레코드, 이 안의 ''가 컬럼, '~삽입되었습니다'

 

insert into school (sno, sname, email)

values('17','영심이','apr19@naver.com')

 

insert into school (sno, sname, email)

values('105','영심이','가나다라마바사아자차');

 

insert into school (sno, sname, email)

values('106','영심이','가나다라마바사아자차카'); --에러, 한글이 11글자가 넘기때문에

 

select sno, sname, email from school; --select from 필수

/* select sno, sname, email from school where sno ='17'; --where뒤는 다 조건

 

/* select email, sno, sname from school; 이렇게 순서바꿔도 가능

 

--연산하는 건 숫자, 안하는 건 문자/ 앞에 0이 있으면 문자, 없으면 숫자 '001'은 문자

 

char(3) -공백있음, varchar(3)-공백없음

nchar(3) -한글3자까지 가능, char(3) -한글1자까지 가능

*/

 

select sno, sname, email from school where sname='영심이';

select sno, sname from school;

 

delete from school where sno='102';  --delete는 레코드를 단위로 하기때문에 컬럼을 단위로 하는 *는 쓰면안됨

 

 

--칼럼을 삭제할 수 있는 방법은 없다. '영심이'라는 이름을 지우기 위해서는 공백으로 업데이트 해야한다

 

update school set sname='' --(null)

where sno='101'; 

 

update school set sname=' '  --공백문자

where sno='101'; 

 

select * from school where sname='null';--안됨

select * from school where sname is null;

select * from school where sname is not null;

'Oracle' 카테고리의 다른 글

2- 예제1  (0) 2022.05.17
2-2  (0) 2022.05.17
2-1  (0) 2022.05.17
1-SQL 기본문법 정리  (0) 2022.05.16
1  (0) 2022.05.16
Comments