2016년 8월 29일 월요일

28day / DB / CRUD

Radzishevskyi Sergey blog

수업내용이 27Day와 별반 차이가 없어 CRUD 예제로 대체.

CRUD(create, read, update, delete)


Create (insert)

Insert a single row into a table:
INSERT INTO dept VALUES (10'pre-sales''New York');
Insert rows from one table into another table:
INSERT INTO emp2 SELECT * FROM emp;
CREATE TABLE emp3 AS SELECT * FROM emp;
Insert multiple rows into a table with a single statement:
INSERT ALL
INTO dept (deptno, dname, loc) VALUES (11'Sales''New York')
INTO dept (deptno, dname, loc) VALUES (12'Pre-sales''Dallas')
SELECT 1 FROM dual;
INSERT INTO dept
SELECT 13'Sales''New York' FROM dual UNION
SELECT 14'Pre-sales''Dallas' FROM dual;
Insert multiple rows into different tables with a single statement:
INSERT ALL
WHEN type=1 THEN INTO tab1 VALUES (myseq.NEXTVAL, val)
WHEN type=2 THEN INTO tab2 VALUES (myseq.NEXTVAL, val)
WHEN type IN (3,4,5) THEN INTO tab3 VALUES (myseq.NEXTVAL, val)
ELSE INTO tab4 VALUES (myseq.NEXTVAL, val)
SELECT type, val FROM source_tab; 
cs

Retrieve (select)

Select all columns (* = all columns) and all rows from the emp table:
SELECT * FROM emp;
Select the salary column for employee number 7788:
SELECT sal
FROM emp
WHERE empno = 7788;
Sort rows and return them in order:
SELECT ename, sal FROM emp ORDER BY sal;
Group rows together:
SELECT deptno, 
COUNT(*"Employees in department",
SUM(sal) "Total salaries for department",
AVG(sal) "Avarage salary for department"
FROM emp GROUP BY deptno; 
cs

Update (udpate)

Give employees in department 10 an 10% raise:
UPDATE emp SET sal = sal*1.1 WHERE deptno = 10;
Give employee number 7844 a $100 commission:
UPDATE emp SET comm = 100 WHERE empno = 7844
cs

Delete (delete)

Remove selective rows from a table - in this case only one:
DELETE FROM emp WHERE empno = 7844;
COMMIT;
Remove all rows from a table (also compare to TRUNCATE):
DELETE FROM emp;
ROLLBACK;
Remove records in a specific partition:
DELETE FROM emp_part PARTITION p1;
Remove rows from a remote database (via a database link):
DELETE FROM emp@remote_db;
Remove rows from a SELECT statement:
DELETE FROM (SELECT * FROM emp WHERE deptno = 10);
Delete with RETURNING clause (can only be used from PL/SQL):

DECLARE
v_rowid urowid; 
BEGIN
DELETE FROM emp WHERE empno = 7844
RETURNING rowid INTO v_rowid;
cs

Related Posts:

  • 44day / WEB / Model2 Architecture상품관리 http://book.cakephp.org Model2 Architecture 상품관리 요구사항 수집 1. 상품 정보를 등록 2. 상품 정보는 상품번호(유일값)  상품명 제조사 가격 상품상세정보로 구성된다 3. 상품 등록 후 상품 목록… Read More
  • 77day / Framework / spring AOP Project http://www.xmind.net/m/v97q FROM Lennon Shimokawa AOP 응용하기 AOP알못이기때문에 굉장히 어려웠다. AOP가 뭔지는 어느 정도 이해하지만 당장 Coding을 하자니 도무지 머리속에서 나오지를 않는다. 몇일전에는 AOP… Read More
  • 74day / Framework / springMVC Interceptor & JUnit Interceptor & JUnit 말로만 듣던 TDD와 Interceptor를 활용해보았다 TDD 테스트 주도 개발(Test-Driven Development, TDD) 매우 짧은 개발 사이클을 반복하는 소프트웨어 개발 프로세스 JUni… Read More
  • 75day / Framework / springMVC 로그인 CRUD게시판 spiringMVC구조의 게시판 만들기 요구분석  로그인 로그아웃 게시글쓰기 상세글보기 목록(페이징) 게시글삭제 게시글수정 며칠 전부터 이력서를 쓰느라 이번에는 제대로 끝내지를 못했다. 거기다가 주말에 따로 스터디를 하는 곳에서도 Framework … Read More
  • 76day / Framework / springMVC 폴더 경로 이해 폴더경로 제대로 이해하기 spring으로 넘어오면서 폴더구조의 이해가 굉장히 중요해졌다 특히 MVC를 이해하더라도 springMVC의 폴더구조를 이해하지 못한다면 페이지이동에 오류를 범하게 될때가 많아 몇시간씩 경로때문에 에러를 잡는다는.. 아마도 다음주부터는… Read More

0 개의 댓글:

댓글 쓰기