일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- JSP
- java
- DTO
- 접근제한자
- C#접근제어자
- DB
- C#접근제한자
- 빅오표기법
- oracle db
- sql
- DATABASE
- o(log n)
- DEFAULT
- DAO
- Oracle
- Oracle SQL Developer
- oracle developer
- break
- 메이븐업데이트
- DB 제약조건
- O(n)
- JavaSwing
- 오라클
- mvc디자인패턴
- 데이터베이스
- 자바
- Vo
- C언어 표준 라이브러리
- 자바연산자
- java접근제어자
성장일기 : 문과생의 개발 여정 (งᐖ)ว ( ᐛ )و
테이블 데이터 추가,수정,삭제 Database / Oracle SQL Developer 본문
1101 수업내용
--15_테이블 추가,수정,삭제.sql
CREATE TABLE fruits(
fruit_name VARCHAR2(30),
fruit_price NUMBER(6),
fruit_grade VARCHAR2(2),
country_id CHAR(2) NOT NULL
);
/*
#테이블에 데이터 추가하기
- INSERT INTO 테이블명(컬럼1,컬럼2...) VALUES(값1,값2...);
*/
INSERT INTO fruits (
fruit_name,
fruit_price,
fruit_grade,
country_id
) VALUES (
'Apple',
1300,
'A+',
'KR'
);
-- INSERT시에 컬럼 순서를 꼭 지킬 필요는 없다
--> 컬럼 순서를 바꾸었다면, 값의 순서도 바꿔줘야한다.
INSERT INTO fruits(country_id, fruit_grade, fruit_price, fruit_name)
VALUES('AU', 'SS',3300, 'Banana');
/*
# INSERT시에 컬럼을 모두 적지 않을 수 있다.
단 적지 않은 컬럼에는 자동으로 NULL이 들어간다.
적지 않은 컬럼이 null을 허용하지 않는 컬럼인 경우 에러가 발생한다
(만들때 예외처리 not null)
cannot insert NULL into ("HR"."FRUITS"."COUNTRY_ID")
*/
INSERT INTO fruits(fruit_name, fruit_price) VALUES('Grape', 3000);
-- 생략한 컬럼중 하나인 country_id에서 NULL을 허용하지 않아서 INSERT가 거부되었다.
-- 생략한 컬럼인 fruit_price와 fruit_grade에는 null이 들어갔다.
INSERT INTO fruits(fruit_name, country_id) VALUES('Grape', 'FR');
-- 컬럼명을 생략하면 모든 컬럼의 값을 순서대로 적어야한다.
INSERT INTO fruits VALUES ('Peach', 1800, 'A', 'KR');
-- 서브쿼리로 INSERT하기 (테이블 구조가 동일한 경우 가능)
INSERT INTO fruits (SELECT * FROM fruits);
SELECT * FROM fruits WHERE country_id = 'KR';
/*
#테이블 데이터 수정하기
- UPDATE 테이블명 SET 컬럼1=값1, 컬럼2=값2 ... WHERE 조건절;
- 만약 조건을 지정하지 않으면 모든 행이 수정된다
- 하나의 행만 수정하기 위해서 기본키(또는 후보키)와 함께 자주 활용된다
*/
COMMIT; -- 현재까지의 변경사항을 저장한다.(DCL)
SELECT * FROM fruits;
UPDATE fruits SET fruit_name = 'PineApple';
-- 조건절을 입력하지 않아서 모든 과일명이 파인애플로 되었다.
-- 조건을 지정하지 않으면 해당 테이블의 모든 행이 수정됨으로 주의
ROLLBACK; -- 변경사항을 모두 취소하고 가장 최근의 COMMIT 상태로 돌아간다 (DCL)
-- 조건을 지정해야 원하는 행만 수정할 수 있다.
UPDATE fruits
SET
fruit_name = 'PineApple',
fruit_price = 5000
WHERE
fruit_name = 'Apple';
/*
# 테이블 데이터 삭제하기
- DELETE FROM 테이블명 WHERE 조건절;
- 조건을 적지 않으면 해당 테이블의 모든 데이터가 삭제된다 (※주의※)
*/
COMMIT;
DELETE FROM fruits; -- 조건을 적지 않으면 모든 행이 삭제된다
ROLLBACK;
-- 조건을 적어야 원하는 행만 삭제할 수 있다.
DELETE FROM fruits WHERE fruit_grade IS NULl;
'백엔드개발 > DATABASE' 카테고리의 다른 글
Oracle SQL Developer /DB 제약조건 2 (0) | 2023.11.07 |
---|---|
Oracle SQL Developer /DB 제약조건 (0) | 2023.11.07 |
테이블생성 Quiz >> 1:N 관계의 개체들을 테이블로 생성해보기 (0) | 2023.11.07 |
Database / Oracle Developer / 테이블생성 (0) | 2023.11.07 |
Database / Oracle SQL Developer / 서브쿼리 (0) | 2023.11.07 |