
자바는 잠시 홀드하고 오라클을 배우는 챕터로 넘어옴. 문제는.. 맥 M1에서 오라클 서버를 띄우는 방법만 몇 시간을 시도하고 그럼에도 SQL DEVELOPER에서 SYS 접속이 안된다는 것 ^^ㅎㅎ 해결 방법 자세히 남겨주시고 댓글로 문제해결도 도와주시는 능력자분 덕분에 이것저것 시도해보고 있는데 제발 오늘은 그 숙제를 풀고 싶다.. 제발요 과제도 온라인 버전으로 한ㅋㅋㅋㅋㅋㅋ 눈물.
저장소DB(저장소)를 관리하는 소프트웨어CONNECT 아이디/비밀번호
-- CONN으로 축약 가능
-- 로그인한 계정 확인
SHOW USER;
CREATE USER 아이디 IDNTIFIED BY 비밀번호;
-- 비밀번호 변경
ALTER USER 아이디 IDENTIFIED BY 비밀번호;
ALTER USER~DROP USER 사용자아이디;
GRANT 권한명 TO 사용자아이디;
REVOKE 권한명 FROM 사용자아이디;
CREATE TABLE 테이블명(
열1 타입(크기),
열2 타입(크기),
);
숫자 NUMBER
number(*, 2)문자열 VARCHAR2
문자열 CHAR
컬럼명에 예약어 사용 불가
ALTER TABLE 테이블이름 ADD(컬럼명 형태)
ALTER TABLE 테이블이름 MODIFY(컬럼명 형태)
ALTER TABLE 테이블이름 DROP(컬럼명)
DROP TABLE 테이블이름;
INSERT INTO 테이블명(컬럼명1, 컬럼명2,...) VALUES(숫자, '문자열',...);
데이터는 객체가 아님
가능한 표현
- no에 1, name에 이상해씨, type에 풀을 넣으세요(x)
- no, name, type에 1,이상해씨, 풀을 넣으세요(o)
- 1, 이상해씨, 풀을 넣으세요(o)
SELECT * FROM POCKET_MONSTER;AND, OR 사용
이상/이하 범위에 BETWEEN 연산자 사용 가능
PRICE NUMBER(10) CHECK(PRICE >= 0) -- 가격: 음수 불가
KO NUMBER(3) CHECK(KO BETWEEN 0 AND 100) -- 점수: 이상/이하
IN: 특정 값 여러 개 중 하나를 포함하는지 확인하는 연산자
TELECOM CHAR(2) CHECK(TELECOM IN ('SK', 'KT', 'LG'))
CHECK(REGEXP_LIKE(NICKNAME, '^[가-힣]{2,7}$')) //한글2~7자만 허용CHECK(UPPER(EVENT) = 'Y')
-- EVENT를 모두 대문자화
CHECK(LOWER(EVENT) = 'y')
-- EVENT를 모두 소문자화중복 금지 조건 지정
NICKNAME VARCHAR(21) UNIQUE
필수값 조건 지정
NICKNAME VARCHAR(21) NOT NULL
=로 같음을 비교
CHECK(EVENT = 'Y')
미입력 시 적용할 기본값 지정
-- 조회수 기본값 0으로 설정
BOARD_READ NUMBER DEFAULT 0 NOT NULL CHECK(BOARD_READ >= 0)
CREATE SEQUENCE 시퀀스명;
.NEXTVAL 명령 사용-- 시퀀스 생성
CREATE SEQUENCE TEST_SEQ;
-- 방명록 테이블 생성
CREATE TABLE GUEST_BOOK(
NO NUMBER UNIQUE NOT NULL,
NAME VARCHAR2(21) NOT NULL,
MEMO VARCHAR2(300)
);
-- 시퀀스에서 번호를 발급할 때는 .NEXTVAL 명령 사용
INSERT INTO GUEST_BOOK(NO, NAME, MEMO)
VALUES(TEST_SEQ.NEXTVAL, '마리오', '잘 먹고 갑니다');
SELECT * FROM USER_SEQUENCES;
MIN_VALUE: 시작할 최소 값
INCREMENT_BY: 증가 단위
CYCLE_FLAG: Y이면 MAX_VALUE까지 다 썼을 때 MIN_VALUE부터 다시 시작
ORDER FLAG: 시퀀스 여러 개 사용 시 우선순위 따짐 (사용할 일 없음)
CACHE_SIZE: 미리 뽑아둘 번호 개수
LAST_NUMBER: 이번에 뽑으면 몇 번이 나오는지
옵션을 부여해 시퀀스 생성(일반적으로 기본값을 사용)
-- 1부터 1000까지 1씩 늘어나며 번호를 다 쓰면 순환하고 캐시는 없음
CREATE SEQUENCE GUEST_BOOK_SEQ
MINVALUE 1
MAXVALUE 1000
START WITH 1
CYCLE -- <-> NOCYCLE
NOCACHE; -- CACHE 20