● 데이터베이스(DataBase) : 대용량의 데이터를 관리하는 프로그램
● DB의 종류 : Oracle / Mysql / Mssql
● 테이블(Table) : 행과 열로 구성된 2차원 형태의 자료구조
- 행 : Row
- 로우 : column
▪ 테이블명과 칼럼명 작성 규칙
1. 반드시 문자로 시작
2. 1~30자 까지 가능
3. 영문자(대소문자)와 0~9, 특수기호는 _ , $, # 만 포함 가능
4. 공백허용 안함
5. 예약어는 사용못함
▪ 데이터 타입
이름 | 타입 | 최대길이 | 설명 |
CHAR | 문자열 | 200byte | 고정길이 |
VARCHAR2 | 문자열 | 4000byte | 가변길이 영어, 숫자, 특수문자는 1칸씩 한글은 3칸씩 인식한다. |
NUMBER | 숫자 | 10^-38~10^38 | 정수형, 실수형의 데이터 사용 |
DATE | 날짜 | BC4712/1/1 ~ AC4712/12/31 |
▪ 테이블 생성
coulmn : id, name, salary, birth, email
-테이블 생성
create table members(
id number primary key,
name varchar2(10),
salary number(15,2) default 1000000, --전체 15자리를 잡겠다, 2는 소수점 둘째자리까지 보여주겠다.
birth date default sysdate,
email varchar2(20)
);
※ 설명 (자바의 변수선언과 느낌이 비슷함! int a=10, String abc;_
1) id number primary key = id는 number타입, 기본키설정 primary key
-primary key : unique(중복x) +not null(비어있으면 안됨)
2) name varchar2(10) = varchar2(=문자, String), 10 --글자수 (영어,숫자,특수문자)10글자, 한글: 1글자가 3자리를 차지
3) salary number(15,2) default 1000000
= salary number타입, 전체 15자리, 소수점 둘째자리까지, 기본값은 1000000이다.(1,000,000 이렇게 입력하면 안됨)
4) birth date default sysdate = birth date타입, 기본값으로 현재시각 : sysdate
5) email varchar2(20) = email은 varchar2(20)타입(문자타입) , 20자리까지 사용 가능하다.
생성하면 이렇게 보여진다.
SQL> desc members;
이름 널? 유형
----------------------------------------- -------- ----------------------------
ID NOT NULL NUMBER
NAME VARCHAR2(10)
SALARY NUMBER(15,2)
BIRTH DATE
EMAIL VARCHAR2(20)
-테이블 조회 : desc members; (desc + 테이블명;)
-테이블 삭제 : drop table members; (drop table + 테이블명;)
▪ 레코드 생성
[insert 형식]
insert into 테이블이름(컬럼1,컬럼2,...) values(값1,값2,....) ;
insert into members(id,name,salary,birth,email)
values(1,'제시카',100,'90/12/25','aaa@naver.com') ;
insert into members(id,name,salary,birth,email)
values(2,'티파니',700,'85/12/3','bbb@naver.com');
insert into members(id,name,salary,birth,email)
values(3,'수영',300,'78-8-21','aaa@daum.net');
insert into members(id,name,salary,birth,email)
values(4,'효연',800,to_date('97-2-9'),'ccc@daum.net');
insert into members(id,name,salary,birth,email)
values(5,'서현',200,to_date('88/6/19'),'ddd@daum.net');
insert into members(id,name,salary,birth,email)
values(6,'제시카',500,to_date('91-12-2'),'kkk@naver.com');
insert into members(salary,birth,id,name)
values(400,to_date('89/4/12'),7,'유리');
-이메일을 생략하고 순서도 바꿔서 입력했습니다.
insert into members(salary,birth,id,name)
values(300,to_date('72/9/5'),8,'윤아');
insert into members
values(9,'써니',600,to_date('87/3/4'),'abc@naver.com');
- 칼럼을 생략하고 전체내용을 입력했습니다.
-컬럼을 안적고, 값을 다 적으면 컬럼에 해당되는 값을 다 넣는다고 인식하므로 생략해도 된다.
-테이블에 컬럼을 지정해서 테이터 삽입하기
insert into members(id,name)
values(10,'수영');
-id와 name만 입력했습니다.
-문자를 넣을때 ( ' ') 작은따옴표를 사용해서 넣습니다.
-날짜를 입력할때 문자열에 넣어서 입력해도 되지만, to_date('00/0/00') 함수를 사용하면 더 정확하게 넣을 수 있습니다.
-칼럼 순서는 마음대로 지정 후 레코드 값 넣을 수 있습니다.
-칼럼의 이름을 안쓰면 default로 지정한 레코드값으로 자동 적용 됩니다.
-컬럼에 해당되는 것을 5개라고 적었는데, 값을 4개쓰면 오류가 생긴다.
-레코드 조회 :
[select 형식]
select 칼럼1, 칼럼2,.. from 테이블명; (부분조회 가능)
select id, name from members;
select id, name,email,salary,birth from members;
-레코드 전체 조회 : select * from members;
-테이블 크기 조절 : set linesize 300;
-테이블에 원하는 데이터로 해당 레코드 조회
: select * from 테이블명 where id ='ㅇㅇㅇ';
:select * from 테이블명 where id ='ㅇㅇㅇ' or id = 'ㅁㅁㅁ'; (and도 사용 가능)
▪ 보여지는 영역 변경 : col +영역명 for a(변경숫자)
-컬럼의 이름영역(verchar2)을 30에서 10으로 변경 : col name for a10
-컬럼의 메일영역(number)을 20에서 15로 변경 : col name for a15
-컬럼의 ID 영역(number) 을 3칸으로 변경 col id for 999 (9=1자리, 99=2자리, 999=3자리..)
만일 col id for a3으로 입력시 id값이 #########으로 오류 발생
-영역변경시 타입에 따라 사용법이 달라진다 (verchar2,number )
-끝에 세미콜론(;)을 안붙입니다.
-보여지는 영역만 변경 될 뿐, 구조가 변경되는 것은 아닙니다.(desc member로 확인하기)
▪저장은 commit;
'BACK END > DataBase' 카테고리의 다른 글
2일차(06.13)SQL문(DML, DDL, DCL), 제약 조건, sequence (0) | 2022.06.14 |
---|---|
2일차(06.13)테이블 - 컬럼과 레코드(연산자, 정렬, 수정, 삭제) (0) | 2022.06.14 |
1일차(06.10)테이블 컬럼과 레코드 생성 - 과제 (0) | 2022.06.13 |
17일차(06.10)기본 설정과 계정 , CMD창 명령어 (0) | 2022.06.13 |
17일차(06.10) DataBase sql 설치 (0) | 2022.06.12 |