데이터베이스를 사용하기 위해서는 테이블을 먼저 생성해야합니다.
테이블을 생성할 때는 CREATE TABLE문을 사용하고,테이블 변경하고 싶을 때는 ALTER TABLE문을 사용합니다.
그리고 생성된 테이블을 삭제하고 싶을 때는 DROP TABLE문을 사용하면 됩니다.
CREATE TABLE : 테이블을 생성할 때 기본키, 외래키, 제약사항 등을 설정할 수 있음
ALTER TABLE : 칼럼을 추가하거나 변경, 삭제 가능하고 기본키 또는 외래키도 설정가능
DROP TABLE : 테이블의 데이터 구조뿐만 아니라 저장된 데이터도 모두 삭제된다.
* 칼럼이란 테이블 제일 위의 필드라고 생각하면 됩니다.
이 글을 읽기 전, 후로 https://mimi-coding.tistory.com/10 를 보시면서 정리하세요!
SQL종류 정리(이론)
SQL이란 (Structured Query Language) '구조화 된 질의 언어'라는 의미로, 관계형 데이터베이스 관리 시스템(RDBMS)의 데이터를 관리하기 위한 비절차적(non-procedural language)언어이다. 일반적인 프로그래밍..
mimi-coding.tistory.com
저는 Oracle Database 11g 를 설치하고 진행을 하였습니다.
설치는 https://blog.naver.com/with_seol/222447913474를 참고하시면 좋을 듯 합니다!
step1_설치 후 cmd 창에서 설치가 제대로 되었는지 확인.
1. cmd명령프롬프트를 실행
2. C:\Users\pc> sqlplus
3. Enter user-name: system
4. Enter password: 에 설치시 지정해놓은 비밀번호 입력 후 엔터
(비밀번호 입력시 원래 화면에 노출이 안되니 놀라지마세요!)
5. 설치가 잘 되었다면
Connected to:
Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production 라는 문구가 뜹니다.
step2_기본계정 사용하기
oracle에서 기본적으로 제공해주는 학습용계정인 hr계정으로 진행하였습니다.
1. hr계정 lock풀기
SQL> alter user hr account unlock;
2. 비밀번호 지정
SQL> alter user hr identified by ****; ( ****로 표시만했을 뿐 비밀번호는 따로 설정하였습니다.)
3. 권한부여추가
SQL> grant connect,resource to hr;
4. 지금까지 친 명령어들 확실히 저장하며 마무리
SQL> commit;
5. 시스템 나가기
SQL> exit;
6. hr계정으로 시작하기 (step_1과 같음. 다만 계정과 패스워드가 달라졌을 뿐)
C:\Users\pc>sqlplus
Enter user-name: hr
Enter password: ->(입력해도 안보입니다.)
자 이렇게 hr계정으로 들어왔다면 이제 데이터베이스를 사용하기 위해 테이블(table)을 생성해봅시다!!
table을 생성할 때는 CREATE TABLE문을 사용힙니다. (DDL이죠~~?)
CREATE TABLE member( -->member라는 이름의 테이블을 생성
2 id NUMBER NOT NULL Primary Key, --> id 칼럼을 기본키로 저장
3 username VARCHAR2(20), --> 생성되는 member테이블의 칼럼명
4 dept VARCHAR2(7), --> 데이터 타입을 지정 number는 숫자, VARCHAR2는 가변 길이 문자, DATE는 날짜
5 birth DATE,
6 email VARCHAR2(40)
7 ); -->세미콜론(;) 필수!!
위처럼 입력 후 엔터 하면 생성되었다는 Table created. 문구 뜸
desc member; --> 테이블 구조확인 describe를 줄여서 desc로 사용.
해당 테이블의 컬럼, Null조건 여부, 데이터 타입등의 정보를 확인 가능
입력 후 엔터 치면 밑의 화면처럼 내가 생성한 테이블의 구조를 확인 할 수 있습니다.
칼럼을 하나 추가해볼까요?
생성된 테이블을 변경하려면 ALTER TABLE문을 사용합니다.
ALTER TABLE member add(tel varchar2(30) NOT NULL);--> member테이블에 tel이라는 칼럼명을 가변 길이 문자인 varchar2와 NULL이면 안된다는 NOT NULL로 추가
위처럼 입력 후 엔터 하면 변경되었다는 Table altered. 문구 뜸
그리고 다시 desc로 구조확인을 해보면 아래 화면과 같이 맨 마지막에 추가된 것을 확인할 수 있습니다.
**위에까지 진행하고 DROP TABLE member; 로 테이블 전체를 한번 삭제 후 다시 생성하였습니다.
생성하면서 tel은 안넣고 맨 처음 생성했던 것과 같이 ID USERNAME DEPT BIRTH EMAIL 칼럼만 생성해서
밑에서는 tel 없는 캡쳐본과 설명이 이어집니다. **
자, 이제 테이블을 생성했으니 이제 안에 데이터를 채워보겠습니다. (데이터를 채우는건 DML이죠~~?)
생성했던 테이블 칼럼순서에 맞춰 insert문으로 데이터를 입력해줍니다.
칼럼 순서 : ID, USERNAME, DEPT, BIRTH, EMAIL
insert into member values(950505, '성명','뽀또','95.05.05','khm24ks@naver.com'); -->성명은 이름입니다.
입력이 잘 되었으면 1 row created. 문구가 뜨고 제대로 안되었다면 ERROR at line 1:
ORA-01843: not a valid month 이런 식의 에러문구가 뜹니다 !
위와 같이 총 5개의 데이터를 칼럼 순서대로 입력을 해주었고, commit으로 마무리를 지어줬습니다.
그리고 정보가 제대로 입력이 되었는지 select문으로 테이블에 입력된 데이터를 조회하면 아래와 같이 입력한 정보가 나옵니다. select문은 특정 칼럼이나 특정 행만을 조회할 수 있습니다.
select * -->모든 칼럼을 출력
from member -->from절에는 테이블 명을 쓴다, 즉 member테이블을 지정하겠다는 것.
1.
select * -->모든 칼럼을 출력
from member -->member테이블을 지정
where id --> member 테이블에서 ID가 950505번인 행을 조회한다.(조건문을 지정)
2.
select id,username --> 칼럼 중 id와 username을 출력
from member -->member테이블을 지정
3.
select id,username,birth --> 칼럼 중 id와 username, birth를 출력
from member -->member테이블을 지정
입력된 데이터의 값을 수정하려면 update문을 사용합니다.
update 을 사용하면 원하는 조건으로 데이터를 검색해서 해당 데이터를 수정할 수 있습니다.
단, update문에 조건문을 입력하지 않으면 모든 데이터가 수정되므로 유의해야 합니다.
update member set id=555555, username='이쁜이' where id=444444;
-->member 을 수정, id칼럼의 값을 555555로, username을 '이쁜이'로 변경한다. 변경대상은 id가 444444인 직원
입력 후 엔터 치면 잘 수정되었다는 1 row updated. 문구 뜸
select문으로 조회를 해보면 밑의 화면처럼 잘 나온 것을 확인 할 수 있다.
자, 이제 마지막! delete문을 사용해서 데이터 삭제를 해봅니다.
delete from member where id=222222;
-->member테이블에서 id가 222222인 직원의 행을 삭제.
잘 삭제 되었다면 1 row deleted. 문구가 뜹니다.
이렇게 cmd명령프롬프트로 계정 락을 풀고 새로운 테이블 생성과 데이터 입력 수정 등등 해보았습니다.
이 글을 읽기 전, 후로 https://mimi-coding.tistory.com/10 를 보시면서 정리하세요!
SQL종류 정리(이론)
SQL이란 (Structured Query Language) '구조화 된 질의 언어'라는 의미로, 관계형 데이터베이스 관리 시스템(RDBMS)의 데이터를 관리하기 위한 비절차적(non-procedural language)언어이다. 일반적인 프로그래밍..
mimi-coding.tistory.com
'DataBase > SQL' 카테고리의 다른 글
Eclipse 환경에서 JDBC연결하는 방법 (3) | 2022.02.25 |
---|---|
Oracle SQL Developer_데이터 추가(이클립스) (0) | 2022.02.23 |
Oracle SQL Developer _테이블 생성 및 데이터입력 (1) | 2022.02.23 |
Oracle_ Data Type 종류 정리 (0) | 2022.02.23 |
SQL종류 정리(이론) (0) | 2022.02.22 |