[PostgreSQL실용]_2_데이터베이스와 테이블 생성

Hyejin Beck·2024년 1월 9일
1

데이터베이스(SQL)

목록 보기
11/40


1. 데이터베이스를 만들고, 테이블을 추가
2. pgAdmin인터페이스에서 SQL을 사용하여 테이블에 데이터행을 여러개 삽입

데이터베이스 생성

CREATE DATABASE

도구들 > 쿼리도구

CREATE DATABASE analysis; 

이제 왼쪽에 analysis 라는 데이터베이스가 생성되었습니다.
postgres 라는 데이터베이스와 동일한 위치에 있어야 합니다.

연결

만들어진 analysis 데이터베이스 클릭하고

도구들 > 쿼리도구

아까는 postgres/ 로 시작했는데, 이제는 analysis로 시작합니다.

테이블 생성

CREATE TABLE

CREATE TABLE 테이블명 ( 컬럼1 타입1, 컬럼2 타입2 .. );

  • bigserial 은 테이블에 행을 추가할때마다 자동으로 증가하는 특별한 정수 타입입니다. 먼저 만들어진 1번째 행이 1번을 받은 뒤엔, 그 다음 2번째 행은 2번을 받는 식으로 쭉 이어진다고 합니다.
  • varchar() 는 문자열로 ()괄호 안에 문자의 갯수
  • data 날짜형
  • numeric 숫자형
CREATE TABLE teachers (
	id bigserial , 
	first_name varchar(25), 
	last_name varchar(50), 
	school varchar(50) , 
	hire_date date, 
	salary numeric 
); 

아직 teachers 테이블에 제약조건 등을 추가하지 않아
칼럼 부분만 화살표> 누르게되면 노드가 펼쳐집니다.

쿼리 작성

INSERT INTO

컬럼명과 그에 해당하는 6개의 열 rows를 만들어 teachers 테이블에 삽입하겠습니다.

INSERT INTO 테이블명 (컬럼1, 컬럼2, 컬럼3,,)
VALUES ('값', '값', '값', ,,) , ('값', '값', '값',,,) , ('값', '값','값',,) , ...

위의 만들어진 컬럼명 대로 삽입합니다.
다만! bigserial로 만들어진 id컬럼은 안 넣습니다!
자동으로 부여되는거니깐요!!! 개이득b

INSERT INTO teachers (first_name, last_name, school, hire_date, salary )
VALUES ('Hyejin','Beck','Harvard University','2024-03-01','5200'), 
	   ('Sara','Lee','Yale University','2022-03-02','4500'), 
	   ('James','Chan','Seoul University','2018-09-03','5500'), 
	   ('Miranda','Park','Harvard Business School','2012-03-04','7800'), 
	   ('Minji','Lee','Myers Middle School','2004-04-01','9800'), 
	   ('Betty','Min','Seoul University','2002-03-01','10500'); 

다행히 id컬럼도 자동으로 번호가 부여됬고, 다른 컬럼들의 데이터값도 잘 만들어졌습니다!

정리

자동으로 값이 부여되는 bigserial 데이터타입이 유용할 듯 합니다.

-- 데이터베이스 생성 
CREATE DATABASE analysis; 

-- 테이블 (컬럼과 타입) 생성 
CREATE TABLE teachers (
	id bigserial , 
	first_name varchar(25), 
	last_name varchar(50), 
	school varchar(50) , 
	hire_date date, 
	salary numeric 
); 

-- 각 컬럼에 들어갈 rows 값 생성 
INSERT INTO teachers (first_name, last_name, school, hire_date, salary )
VALUES ('Hyejin','Beck','Harvard University','2024-03-01','5200'), 
	   ('Sara','Lee','Yale University','2022-03-02','4500'), 
	   ('James','Chan','Seoul University','2018-09-03','5500'), 
	   ('Miranda','Park','Harvard Business School','2012-03-04','7800'), 
	   ('Minji','Lee','Myers Middle School','2004-04-01','9800'), 
	   ('Betty','Min','Seoul University','2002-03-01','10500'); 
profile
데이터기반 스토리텔링을 통해 인사이트를 얻습니다.

0개의 댓글

관련 채용 정보