분류 전체보기
-
[DB] DDL, DML, DCL 이란?DB 2016. 11. 18. 20:47
명령어 종류 명령어 설명 데이터 조작어(DML : Data Manipulation LanguageSELECT 데이터베이스에 들어 있는 데이터를 조회하거나 검색하기 위한 명령어를 말하는 것으로 RETRIEVE 라고도 함INSERTUPDATEDELETE 데이터베이스의 테이블에 들어 있는 데이터에 변형을 가하는 종류(데이터 삽입, 수정, 삭제)의 명령어들을 말함. 데이터 정의어(DDL : Data Definition Language)CREATEALTERDROPRENAMETRUNCATE 테이블과 같은 데이터 구조를 정의하는데 사용되는 명령어들로 (생성, 변경, 삭제, 이름변경) 데이터 구조와 관련된 명령어들을 말함.데이터 제어어(DCL : Data Control Language) GRANTREVOKE 데이터베이..
-
[SQL] SELECT 결과 UPDATEDB 2016. 11. 18. 13:11
select 결과를 update하는 방법은 여러가지가 존재합니다.Set Subqueryset 절에 subquery로 쿼리 결과를 update할 수 있습니다. 이 방법의 단점은 쿼리 결과가 0~1개 일때만 유효합니다. 만약 쿼리 결과가 1개 이상 나올 경우 에러가 납니다.UPDATE [테이블명] SET (컬럼, 컬럼1, ...) = (값, 값1, ... ) [WHERE conditions]; -- 예시 update test set (pk, id, name) = (select pk, id, name from test1 where pk = 1) -- 만약 해당 서브쿼리의 조회결과 갯수가 2개 이상일 시 에러From Subquery이 방법은 from절에 subquery를 넣어 사용하는 방법입니다. set절에 s..
-
[PostgreSQL] 컬럼 타입 변경시 에러 수정 방법 (text -> smallint)DB/PostgreSQL 2016. 11. 18. 09:21
만약 text 타입의 a라는 컬럼을 smallint로 타입을 변경한다고 할 때 아래와 같은 에러가 납니다.alter table test alter column a type smallint; -- 에러 발생 You might need to specify "USING a::smallint 텍스트 또는 varchar에서 정수로의 자동 변환을 지원하지 않습니다. (즉, 정수로 예상하는 함수에 varchar를 전달하거나 varchar 필드를 정수로 할당 할 수 없습니다.) 따라서 ALTER TABLE ...을 사용하여 형변환에 대해 명시적으로 지정해야합니다.alter table test alter column a type smallint using a::smallint;
-
[PostgreSQL] first(), last()DB/PostgreSQL 2016. 11. 16. 13:54
기타 sql에는 first()와 last() aggregate function을 제공하지만 postgresql에서는 직접 제공해주지 않습니다. 따라서 다른 sql에서 사용하는 first()와 last()를 사용하기 위해선 아래의 프로시저 함수를 추가해야 동일한 기능을 사용가능합니다.-- Drop a function if exists DROP FUNCTION IF EXISTS first_agg(anyelement, anyelement) CASCADE; -- Create a function that always returns the first non-NULL item CREATE OR REPLACE FUNCTION first_agg ( anyelement, anyelement ) RETURNS anyelem..
-
리눅스 종류서버 2016. 11. 15. 15:16
리눅스의 종류리눅스는 대부분 비슷합니다. 공통의 리눅스 커널을 어떻게 튜닝하냐에 따라 종류가 나뉘어 집니다. 패키지 관리가 RPM으로 이뤄진다면 대표적으로 레드햇 계열이고 APT로 이뤄진다면 데비안 계열이 대표적인 패키지입니다. 화려한 그래픽 기능과 다양한 기능을 접할 수 있는 계열은 우분투지만, 서버로 적합한 페도라 계열을 사용해도 큰 문제는 되지 않습니다.학습목적으로 페도라, 우분투 모두 깔아놓는 것도 나쁘지 않습니다. 레드햇 -> 페도라 (레드햇 계열의 개발버전으로 리눅스 커널 및 os에 대한 테스트 목적일 경우) -> centOS (레드햇 계열의 안정버전으로 무난하게 서버를 이용하고자 하는 경우)레드햇유료로 기술지원을 하는 기업용 레드햇 엔터프라이즈 리눅스와 페도라프로젝트에서 개발하고 있는 페도라..
-
[Golang] fmt print언어/Golang 2016. 11. 11. 14:01
go에서 표준출력 및 입력을 하기 위해선 fmt라는 패키지를 사용해야 합니다. 기능에 따라 여러 print이 존재하여 처음 접하면 어느 것을 사용할 지 햇갈립니다. 또한 데이터를 출력 및 받고자 할 때 데이터 타입에 따라 사용해야 하는 포맷이 다르기 때문에 확인을 하고 사용해야 합니다.fmt.Fprint (OS)print 앞에 F가 붙으면 파일 입출력에 해당합니다. fprint는 파일에 쓰는 용도입니다.func Fprint, Fprintf, Fprintln문법/* Fprint */ // Fprint가 여러번 호출되도 한 줄로 이어서 파일에 쓰임 fmt.Fprint(파일, 파일에쓰고자 하는 데이터) /* Fprintln */ // Fprintln 여러번 호출될 때마다 마지막 줄에 줄넘김 (CRLF)가 추가..
-
[Linux] 실행중인 프로세스 유지한 채 ssh 로그아웃하기서버 2016. 11. 11. 09:30
nohup으로 실행하지 않고 포그라운드로 프로세스를 실행하다가 ssh를 로그아웃해야 할 때 사용하는 기능입니다.ctrl + z를 눌러 포그라운드로 실행되는 프로세스를 중단시킵니다.bg 를 입력해 중단된 프로세스를 백그라운드에서 실행disown 를 입력해 작업의 소유권을 shell session에서 해제ssh 로그아웃위와 같이 한 다음, 다시 로그인 해 확인하면 해당 프로세스가 끊기지 않고 계속 동작하는 것을 볼 수 있습니다.$ python3 test.py # ctrl + z 키 누름 [1]+ Stopped python3 test.py $ bg # 만약 bg로 되지 않는다면 bg 1 입력 [1]+ python3 test.py & $ disown $ exit # 이후 ssh 재로그인 한 다음 프로세스 확인 ..
-
[Linux] history 시간 기록하기서버 2016. 11. 10. 15:06
~/.bash_history(즉 각 계정의 홈폴더의 .bash_history 파일)에는 수행한 명령어들이 기록됩니다. $ vi /etc/profile export HISTTIMEFORMAT="%Y-%m-%d_%H:%M:%S [CMD] : " :wq 또는 $ echo export HISTTIMEFORMAT="%Y-%m-%d_%H:%M:%S [CMD] : " > /etc/profile 바로 적용하기 위해 아래 명령어를 실행합니다.$ source /etc/profile /etc/profile을 수정하면 모든 계정에 대해 history 시간 기록이 설정됩니다. 루트에만 설정하고 싶으면 ~/.bash_profile 을 수정해야 합니다.
-
[Linux] 자동로그아웃 설정서버 2016. 11. 10. 14:54
telnet이나 ssh등.. 터미널로 접속해서 작업을 하다가 일정시간 이상 입력이 없을 때 타임아웃을 설정하려면 아래와 같이 설정합니다. $ vi /etc/profile ... export TMOUT=300 ... :wq시간은 초단위 이며 위와 같이 수정했을 때는 다음 로그인부터 적용되게 됩니다.바로 적용하고자 하면 아래 명령어를 입력합니다.$ source /etc/profile /etc/profile을 수정하면 모든 계정에 대해 자동로그아웃이 설정됩니다. 루트에만 설정하고 싶으면 ~/.bash_profile 을 수정해야 합니다.
-
[Linux] iconv서버 2016. 11. 10. 11:39
iconv명령어를 사용하면 파일의 인코딩을 다른 형식으로 변경할 수 있습니다.아래는 iconv 명령어의 옵션입니다.$ iconv --help Usage: iconv [OPTION...] [-f ENCODING] [-t ENCODING] [INPUTFILE...] or: iconv -l Converts text from one encoding to another encoding. Options controlling the input and output format: -f ENCODING, --from-code=ENCODING the encoding of the input -t ENCODING, --to-code=ENCODING the encoding of the output Options controlli..