본문 바로가기

개발일지/SQL

(25)
[Oracle] 기본키 2개 이상 지정 (기본키 복수 칼럼 지정) 테이블 생성시 기본키 2개를 설정하려고 하면 오류가 발생한다. create table 테이블명( 컬럼1 number primary key, 컬럼2 number primary key );​ 기본키는 복수가 되는데 왜? 라는 의문을 가질수 있지만 기본키는 원래 하나여야 한다. 기본키 안에 있는 칼럼이 복수가 가능한 것이다. 그러니 테이블 생성시 복수의 기본키를 생성하려고 하면 오류가 뜨는 것이다. 그렇다면 기본키 1개를 구성하고 있는 컬럼을 복수로 지정하기 위해서는 어떻게 해야 하는가? create table tab ( 컬럼1 number, 컬럼2 number, CONSTRAINT 기본키이름 PRIMARY KEY (컬럼1, 컬럼2) ); 하단에 기본키 설정을 해주어야 한다. 생성후에 해도 무방하다.
[oracle 초보자] 데이터 쉽게 복붙 및 수정 데이터 복붙 테이블에 가서 데이터를 복사 붙여넣기를 하면 쉽게 등록된 데이터들을 불러 올 수 있다. 데이터 쉽게 수정하기 수정하고 위에 빨간색 동그라미 버튼(COMMIT)을 누르면 값이 바로 수정됨
[Oracle] 다양한 함수 배워보기 날짜 포맷 SELECT TO_CHAR(SYSDATE, 'YYYYMMDD') ,TO_CHAR(SYSDATE, 'YYYY/MM/DD') ,TO_CHAR(SYSDATE, 'YYYY-MM-DD') ,TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') FROM DUAL; 날짜에 0 없애기 SELECT TO_CHAR(SYSDATE, 'MM/DD') --07/03 ,TO_CHAR(SYSDATE, 'FMMM/DD') --7/3 FROM DUAL; 구분자로 날짜 형식 만들기 SELECT TO_CHAR(SYSDATE, ""YYYY"년 "MM"월 "DD"일") ,TO_CHAR(SYSDATE, ""HH24"시 "MI"분 "SS"초") FROM DUAL; 시간의 오전, 오후 값 표현 SELECT TO_C..
[Oracle] 기본 용어 및 상식 MySQL을 배우긴 했지만 조금씩 사용하는 단어가 다르다는 걸 알아두길! 문법은 같다! 가령, INT와 같은 데이터 타입에 따라 숫자를 조정 했다면 여기에서는 NUMBER로 대체가 된다. CHAR(N)의 경우 고정 길이 (학번과 같은 바뀔 일이 없는 프라이머리키와 같은 경우를 말함) 기존에 많이 사용하던 VARCHAR와 다르게 오라클에서는 VARCHAR2를 사용하는데 고정되지 않고 유동적인 길이일 경우를 뜻한다. ~Oracle 계정 만들기와 권한 설정~ c## 원래는 붙지 않았지만 최근버전(?)에서부턴 사용자 이름을 만들 때 아이디 앞에 'c##'를 적어야 한다. cmd창 열어서 -> sqlplus "/as sysdba" 사용자 생성 create user c##username identified by 1..
SQL 복습 (옛날거) 헷깔리는 것들 위주로 적음.. 임시저장에 있던 거 지금 올림 외래키와 참고 FOREIGN KEY(주문고객) REFERENCES 고객(고객아이디) FOREIGN KEY 외래키 REFERENCES 다른 테이블의 기본키 참고 테이블 삭제 및 테이블 확인 DROP TABLE 배송업체; SHOW TABLES; 테이블 중간에 칼럼을 추가 및 삭제, 테이블 확인 ALTER TABLE 고객 ADD COLUMN 가입날짜 DATE; ALTER TABLE 고객 DROP COLUMN 가입날짜; SELECT * FROM 고객; PRIMARY KEY(기본키)를 수정 ALTER TABLE 인원 ADD PRIMARY KEY (사원번호); 헷깔렸던 문제.. 29. 제품 테이블에서 제조업체의 수를 검색하시오. 단 중복을 없게하고 필드명..
테이블 한 번에 등록하기 여러 번 등록할 것 없이 괄호 안에 넣어서 쉼표로 구분해준다. 이것의 단점은 하나라도 오류가 나면 다 나는 것임~~~!
데이터베이스, 스키마 이름 바꾸기 CREATE DATABASE Academydb; USE Academydb; RENAME TABLE Application.schoolRegister TO Academydb.schoolRegister; RENAME TABLE Application.courseRegistration TO Academydb.courseRegistration; RENAME TABLE Application.Tuition TO Academydb.Tuition; RENAME TABLE Application.grade TO Academydb.grade; RENAME 예약어로 테이블들을 일일이 옮겨줘야한다. 한 번에 옮겨주는 예약어가 과거엔 있었지만 데이터 손실 등의 이유로 번거롭게 바뀌었다. RENAME TABLE 기존의 DB.테이블명 ..
MySQL 두번째 수업 create database Academydb; use Academydb; create table Book ( bookid int primary key, bookname varchar(40), publisher varchar(40), price int); CREATE TABLE Customer ( custid INT PRIMARY KEY, name VARCHAR(40), address VARCHAR(40), phone VARCHAR(30)); insert into Customer values(1, '박지성', '영국 맨체스터', '010-5000-0001'); INSERT INTO Customer VALUES(2, '김연아', '대한민국 서울', '000-6000-0002'); INSERT INTO Cu..