pgsql-3. Data 만들기

yeeun lee·2020년 3월 20일
1

해당 포스팅에서는 가장 기초로 되는 데이터베이스와 그 안의 테이블 만드는 법을 정리했다. 🤓본문은 freecodecamp강의를 참고로 한다!

  • 무엇을 하든 내 명령어가 실행될 수 있도록 세미콜론(;)을 함께 입력해주는 것을 잊지 말자!
  • 백슬레시()로 시작하는 명령어는 세미콜론 안 붙여도 된다.

1. 데이터베이스

1.1 생성

create database table_name;

강의에서는 posgre가 내장된 명령어와 데이터명이 구분되지 않기 때문에, 명령어는 대문자로 쓰는 것 보기에 좋다고 했다. 대소문자 바꾸는게 다소 귀찮은지라 ... 권장 사항일 뿐 필수는 아니다.

1.2 연결

\c table_name

c 는 connect 의 약자다. 연결되면 입력 줄도 사용자 이름에서 데이터베이스로 바뀌고, 어떤 사용자가 어느 데이터베이스에 연결되었다는 문장이 프린트된다.

2. 테이블

기본적인 형식은 다음과 같으나, nullable (빈칸을 만들 수 있는지) 한지에 따라 형식이 약간 다르다.

create table table_name (
column name + data type ( length of a data ) + constraints if any

)

2.1 틀 생성

벨로그에서 Postgresql 코드 입력을 지원하지 않는 것 같다. 코드로 표기하기 위해 언어를 python으로 선택해 주석을 #으로 표기했지만, 사실 postgresql는 comment 명령어로 주석을 다는 점 참고!

데이터 제약 없는 경우 without constraint

Create table person (

id int, # data type 중 integer는 정수
first_name VARCHAR (50), 
# VARCHAR는 string data type, 괄호 안 숫자는 글자 수 제한 같은 것
last_name VARCHAR (50),
gender VARCHAR (6),
data_of_birth TIMESTAMP, #TIMESTAMP includes hour, minute and second it can be altered to ‘data’

데이터에 제약 있을 경우 with constraint

Create table person (

id BIGSERIAL, NOT NULL PRIMARY KEY 
# BIGSERIAL 은 자동으로 생성되어 증가하는 숫자auto-increment number
first_name VARCHAR (50) NOT NULL,
last_name VARCHAR (50) NOT NULL,
gender VARCHAR (6) NOT NULL,
data_of_birth DATE NOT NULL

2.2 데이터 추가

위와 같이 테이블의 틀을 만든 뒤, 그 틀에 맞게 데이터를 추가한다.

insert into table_name (column1, column2, ... ) values (data1, data2, ... )
Insert 0 1 # 데이터가 생성되었다는 뜻! means it worked

2.3 데이터 불러오기

select column from table_name

select * from jelly # *은 모든 데이터(everything)를 뜻한다.
select jelly_name from jelly_in_market
select price from jelly_in_market

3. 테이블 랜덤 생성

3.1 Mockaroo

해당 사이트(https://mockaroo.com/)는 내가 원하는 테이블 틀에 맞추어 랜덤한 데이터를 생성해준다.

만약 개인적으로 test 파일을 만들어 이것 저것 연습하고 싶다면 아래 사이트에서 SQL 파일을 저장한 뒤, 아래 명령어를 입력하면 데이터가 insert 된다.

3.2 불러오기

mockaroo 에서 가져온 파일을 불러오고 싶다면

\i 파일의 경로(파일명 포함)

잘 불러와졌는지 확인하고 싶으면

select * from car ;

4. 데이터 타입

위 테이블을 만들 때 사용된 키워드 중 데이터 타입은 공식 사이트를 통해 확인할 수 있다.

  1. character varying(n), varchar(n): variable-length with limit

  2. character(n), char(n): fixed-length, blank padded

  3. text, varchar: variable unlimited length

profile
이사간 블로그: yenilee.github.io

0개의 댓글