본문 바로가기

백엔드/SQL

(8)
Oracle SQL : 2023-02-24 (1) 5. 조건을 이용한 조회 및 수정 1) 고객 1명 조회 SELECT * FROM customer WHERE email='a123@naver.com'; 2) 해당 고객 주문 수량 변경 UPDATE ordertbl SET cnt=3 WHERE no=100001 AND email='a123@naver.com'; 6. VIEW 뷰 1) 고객 + 메뉴 + 주문을 조인한 뷰 만들기 (단, 불필요한 것 중복컬럼은 제거) - 먼저 조인부터 해보기 SELECT m.*, c.*, o.* FROM menu m, customer c, ordertbl o WHERE o.email=c.email AND o.menuno= m.no ; 3개의 테이블을 전부 조인했을 때의 결과이다 조인부터 해서 중복되는 것들을 정리하면 된다. 중복된..
Oracle SQL : 2023-03-02 1. 트리거(Trigger) CREATE OR REPLACE TRIGGER 트리거명 (BEFORE | AFTER) INSERT, DELETE, UPDATE ON 테이블명 FOR EACH ROW --행의 데이터가 변환되면 적용됨 BEGIN END; / 테이블 백업 (테이블 구조 및 데이터 복사) CREATE TABLE member_backup AS SELECT * FROM member; INSERT member 테이블 데이터 추가 CREATE OR REPLACE TRIGGER tri_member_insert AFTER INSERT ON member FOR EACH ROW BEGIN DBMS_OUTPUT.PUT_LINE('member 테이블에 데이터가 추가되었음'); END; / CREATE OR REPLA..
Oracle SQL : 2023-02-23 (2) 2. 데이터 추가 식당 데이터 추가 INSERT INTO restaurant(phone, name, address, password) VALUES('051-000-0000','중국집','부산 남구', 'a'); 메뉴 데이터 추가 시퀀스 설정 CREATE SEQUENCE seq_menu_no INCREMENT BY 1 START WITH 1001 NOMAXVALUE NOCACHE; INSERT INTO menu(no, name, price, content, phone) VALUES(seq_menu_no.NEXTVAL, '짜장면', 9000, '검은면','051-000-0000'); 고객 데이터 추가 INSERT INTO customer(email, password, phone, address, chk) V..
Oracle SQL : 2023-02-23 (1) 1. 테이블 생성 Oracle SQL 에서 테이블 생성 식당 테이블 CREATE TABLE restaurant ( phone VARCHAR2(15) NOT NULL, name VARCHAR2(100), address VARCHAR2(200), password VARCHAR2(200), regdate TIMESTAMP DEFAULT CURRENT_DATE, CONSTRAINT PK_restaurant PRIMARY KEY (phone) ); 메뉴 테이블 CREATE TABLE menu ( no NUMBER NOT NULL, name VARCHAR2(100) NOT NULL, price NUMBER DEFAULT 0 NOT NULL, content CLOB, regdate TIMESTAMP DEFAULT C..
Oracle SQL : 2023-02-22 1. 테이블 생성 학생테이블 CREATE TABLE student ( no NUMBER PRIMARY KEY, name VARCHAR2(20), class CHAR(1), eng NUMBER(3), math NUMBER(3), regdate TIMESTAMP DEFAULT CURRENT_DATE ); 학생 테이블 시퀀스 생성 (일렬번호 생성) CREATE SEQUENCE seq_student_no START WITH 1 INCREMENT BY 1 NOMAXVALUE NOCACHE; 데이터 추가할 때마다 학생 번호를 직접 지정해주는게 아니라 자동으로 번호가 부여될 수 있도록 해줌 CREATE SEQUENCE 시퀀스명 START WITH 시작값 INCREMENT BY 증가값 NOMAXVALUE NOCACHE..
Oracle SQL : 2023-02-21 1. VSCode에서 테이블 구현하기
Oracle SQL과 Eclipse 연동 0. pom.xml 4.0.0 miniproject miniproject 0.0.1-SNAPSHOT src maven-compiler-plugin 3.8.1 11 oracle ORACLE JDBC Repository http://maven.jahia.org/maven2 org.mybatis mybatis 3.5.9 org.apache.commons commons-dbcp2 2.9.0 com.oracle ojdbc7 12.1.0.2 org.projectlombok lombok 1.18.12 provided xml에 꼭 추가해야 연동가능함 1. 연동 public class MyBatisContext { public static SqlSession getSqlSession() { try { // DB접속용 d..
Oracle SQL : 2023-02-20 1. 테이블 생성 CREATE TABLE 테이블명( 컬럼1 컬럼1_데이터타입, 컬럼2 컬럼2_데이터타입 ); CREATE TABLE member( userid VARCHAR2(30), userpw VARCHAR2(200), username VARCHAR2(15) ); VARCHAR2 는 자바에서 String의 역할을 함 데이터 타입에 길이 설정도 가능하다 VARCHAR2(20) >>> 20자까지 작성 가능하고 NUMBER(2) >>> 0~99까지 가능하고 CHAR(1) >>> 1자리 가능 CHAR에서 조심해야 하는 게 (3) 해놓고 한자리만 적을 경우 나머지 자리는 공백이 된다. ex) CHAR(3) => 'A ' 2. 전체 조회 SELECT 컬럼명 FROM 테이블명; --전체 조회(1) SELECT *..