본문 바로가기
DataBase/SQL

SQL_테이블 생성(cmd ,명령 프롬프트)

by miming 2022. 2. 23.

데이터베이스를 사용하기 위해서는 테이블을 먼저 생성해야합니다.

 

테이블을 생성할 때는 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