vim 에디터 설치방법에 대해 알아본다  

 

 

 

VIM(VI Improved) 에디터

개발자는 에디터와 떼려해도 뗄 수 없는 관계에 있습니다. 현존하는 에디터 종류는 무수히 많은데, 윈도우즈 기본 에디터인 메모장부터, 리눅스 vi, Edit Plus, Emacs, 그리고 개발을 쉽게 해주는 부가적인 여러가지 기능을 넣은 IDE 인 이클립스, Visual Studio 까지 다양합니다.

 

보통 자신이 가장 많이 사용하는 에디터가 하나쯤은 있기 마련이지만 한가지만 사용하는 개발자는 없는 것 같습니다.

그 중 여기서 소개할 에디터는 vim 에디터 입니다. 이름에서도 알 수 있듯이 vi에디터를 더욱 발전시킨 에디터라는 것을 알 수 있습니다. (참고로 vi 에디터는 Visual edItor 에디터입니다.)

 

 

VIM 에디터의 장점

•거의 모든 운영체제 환경을 지원합니다.


•CUI 기반으로 매우 가볍고 빠릅니다.


•GUI 환경 또한 지원합니다.


•플러그인을 통해 기능 확장이 가능합니다.


•내부 스크립트를 사용해 기능 커스터마이징이 가능합니다.


•외부 명령어와의 연동이 가능합니다.


•문법 검사 기능이 있고 프로그래밍 코드의 가독성을 높여줍니다.


•정규 표현식을 이용한 문자열 연산이 가능합니다.


•실행했던 행동들을 되돌릴 수 있는 undo 기능이 제공됩니다.

 

 

VIM 에디터 리눅스에 설치하기

최신 버전의 리눅스 배포판들에는 기본적으로 vim이 설치되어 있습니다. 그러나 이는 최소 기능만 설치된 버전이고 만약 vim이 설치되지 않은 경우도 있을 수 있으므로 설치 방법을 알아봅니다.

 

 

RHEL 계열(레드햇, CentOS, 페도라 등..)

RHEL 리눅스는 RPM을 통해 패키지를 관리하므로, vim 패키지를 얻어 설치하거나 yum을 사용합니다. 패키지 설치에는 root 권한이 필요하므로 권한을 얻은 후 설치합니다. yum 명령어 한번이면 설치가 완료됩니다

 

블로그 이미지

itworldkorea

IT korea가 세상(world)을 변화시킨다.

,


MS SQL기초  SQL 기본 구문과 SQL 표현법

 

 

 

 

SQL 기본 구문 이해하기


 

데이터베이스와 테이블

하나의 데이터베이스는 기본적으로 한개 이상의 테이블을 가지고 있습니다. 그리고 각각의 테이블은 이름(ex, member, notice)에 의해 구분됩니다. 그리고 테이블 안에는 하나 이상의 레코드(row)가 포함되어야 합니다

[출처] SQL 기본 구문|작성자 진격의 파파

 

SQL 표현법

데이터베이스에서 이루어져야할 대부분의 작업을 SQL 명령문으로 실행해야 합니다.

아래 구문은 위 member 테이블의 내용을 가지고 오는 명령문입니다.

select * from member;

 

SQL 뒤에 나오는 세미콜론(;)

대부분의 데이터베이스에서는 SQL 구문의 끝에 세미콜론을 찍어주어야 구문이 실행이 됩니다. 그리고 세미콜론은 SQL 구문을 분리할 수 있습니다. 

 

기본적인 SQL 명령어

SELECT - 데이터베이스에서 내용을 추출함
UPDATE - 데이터베이스의 내용을 수정함
DELETE - 데이터베이스의 내용을 삭제함
INSERT INTO - 데이터베이스에 내용을 삽입함
CREATE DATABASE - 데이터베이스를 만듬
ALTER DATABASE - 데이터베이스를 수정함
CREATE TABLE - 테이블을 만듬
ALTER TABLE - 테이블을 수정함
DROP TABLE - 테이블을 삭제함
CREATE INDEX - 키값을 만듬
DROP INDEX - 키값을 지움

 


블로그 이미지

itworldkorea

IT korea가 세상(world)을 변화시킨다.

,

 

SQL 기초 학습 / SQL이란?

 

 

 

웹프로그래머가 알아야할 것들은?

 

프로그램의 공부는 정말 끝이 없는듯 합니다.

웹프로그램만 하더라도 공부해야 할 것들이 JSP, ASP, PHP, Database, Javascript, jQuery, SQL, CSS, HTML 등등 그 이외에도 더 많이 있지만 저렇게 많은 공부를 해야 인터넷이라는 공간에 집을 지을수 있습니다.

 

SQL 언어가 중요하고 필수적으로 알아야 하는 이유는 데이터베이스를 조작하고 엑세스할수 있기 때문입니다. 인터넷에 있는 모든 글은 데이터베이스에 저장되게 되는데 SQL 언어를 모르면 앙꼬없는 찐빵이겠죠. 

 

SQL 은 아래 내용처럼 많은 것들을 할 수 있습니다.

- SQL은 데이터베이스에 대해 쿼리를 실행할 수 있습니다
- SQL은 데이터베이스에서 데이터를 검색 할 수 있습니다
- SQL은 데이터베이스에 레코드를 삽입 할 수 있습니다
- SQL은 데이터베이스의 레코드를 업데이트 할 수 있습니다
- SQL은 데이터베이스에서 레코드를 삭제할 수 있습니다
- SQL은 새 데이터베이스를 만들 수 있습니다
- SQL은 데이터베이스에 새 테이블을 만들 수 있습니다
- SQL은 데이터베이스의 저장 프로 시저를 만들 수 있습니다
- SQL은 데이터베이스에서 뷰를 만들 수 있습니다
- SQL 테이블, 프로 시저 및 뷰에 대한 권한을 설정할 수 있습니다

 

SQL 언어는 표준 언어이지만 데이터베이스 마다 각각 사용법이 조금씩 다릅니다. 그렇지만 표준을 준수하기 위해서 기본적인 명령어는 똑같이 사용됩니다. 예를들어서 SELECT, UPDATE, DELETE, INSERT, WHERE 처럼 말이죠.

 

PHP 포스팅을 하면서 SQL에 대해 조금 다루긴 했지만 이번 SQL 포스팅에선 좀더 구체적으로 SQL에 대해서 알아보기로 하겠습니다. 

우선 SQL 소개 부분이니 여기까지만 설명을 드리고 다음 포스팅에선 SQL Syntax 에 대해서 포스팅하겠습니다.

 

 

블로그 이미지

itworldkorea

IT korea가 세상(world)을 변화시킨다.

,

[리눅스설치] RAID와 디스크 RAID 구성 종류

 

   


  

RAID에 대하여


RAID(Redundant Array of Inexpensive Disks)는 물리적으로 서로 다른 여러개의 디스크를 논리적으로 하나의 디스크인것처럼 사용하는 것입니다.

RAID는 크게 하드웨어 RAID와 소프트웨어 RAID가 있는데, 하드웨어 RAID의 경우 서버장비 제조업체에서 RAID용 장비와 DISK를 만들어서 공급받아 사용합니다.

안정성과 성능은 뛰어나지만 고가의 RAID 전용 장비 구매비용이 들어가게 됩니다.

소프트웨어 RAID의 경우 운영체제에서 지원하는 기술을 통해 이루어지기 때문에 하드웨어적인 구매비용이 절감되는 장점이 있지만 하드웨어 RAID 방식에 비해 안정성이나

속도가 떨어지는 단점이 있습니다.


RAID 레벨에 따른 디스크 구성
 

RAID는 방식에 따라 기본적으로 RAID0 ~ RAID5 까지로 나뉩니다.
 

단일 디스크인 경우

이경우는 RAID가 아니고 말 그대로 디스크 하나를 하나인것처럼 사용하는 경우입니다.

당연히 데이터는 디스크 하나에 차곡차곡 저장됩니다.
 
 

Linear RAID

Linear RAID는 RAID로 구성된 디스크를 차례대로 사용하는 경우입니다.

데이터는 첫번째 디스크부터 차례대로 저장됩니다.

디스크는 2개 이상 필요합니다.

RAID로 구성된 디스크의 공간을 100퍼센트 이용가능합니다.

 

그러나 신뢰성은 보장할 수 없는데 만약 1번 디스크와 2번디스크에 데이터가 걸쳐있는 경우 둘 중 하나 망가지면 데이터 잃게 됩니다.

무슨 뜻이냐면 만약 파일 하나를 저장하는데 10번화 11번 데이터가 파일 하나를 나눠 저장한 경우라면 둘 중 하나가 망가졌을 경우 해당 파일은 완전하지 못한 파일로 사용하지 못하게 되는 것입니다.
 

 

RAID0

RAID0은 동시에 각각의 디스크에 데이터를 저장하는 방식(병렬)입니다.

그렇기 때문에 RAID 레벨중 가장 속도가 빠릅니다.

디스크 1 에는 1,2,3을 저장하면서 동시에 디스크2에 4,5,6을 저장하는 것입니다.

이러한 방식을 Stripping 방식이라고 합니다.

속도는 빠르지만 뭐든 나누어 저장하기 때문에 한개의 디스크라도 고장이 난다면 데이터를 모두 잃게 되어 신뢰성이 떨어지는 방식입니다.

대부분 속도가 필요하나 중요하지 않은 데이터를 저장할 때 구성하는 방식입니다.

 

또한 디스크가 여러개일 때 디스크의 용량이 각각 다르다면 더 작은쪽에 용량이 맞춰집니다.

왜냐하면 어떤 데이터를 저장할 때 n/1로 나누어 동시에 저장하기 때문에 한쪽 디스크 용량이 작아 데이터가 꽉 찼을 경우 다른 디스크에 용량이 남는다고 해도 나누어 저장할 수 없기 때문입니다.
 

 
RAID1
RAID1은 RAID0의 신뢰성이 떨어지는 것과는 반대로 신뢰성을 보장하기 위한 방식입니다.

데이터를 여러개의 디스크에 동시에 저장하는 것은 같지만 같은 데이터를 복사하여 저장(Mirroring이라고 부름) 합니다.

그렇기 때문에 결함을 허용합니다.

* 결함을 허용한다는 뜻은 한쪽이 고장나도 데이터의 안정성을 보장한다는 뜻입니다.

 

단점으로는 데이터를 복사하여 저장하기 때문에 공간 효율이 2분의 1이라는 점(비용이 높음) 입니다.
 


RAID5

RAID5의 경우 RAID0처럼 공간 효율성이 좋으면서 RAID1처럼 신뢰성도 어느정도 보장하는 구성입니다.

디스크는 세 개 이상이 필요한데 구성하는 디스크 중 하나는 패리티 비트를 저장하기 위한 용도로 사용합니다.

 


예를 들어 파일1 ,2 ,3 이 있다고 가정했을 때 각각의 파일을 나누어 2진수로 저장한다고 생각해 보세요.

이때 1번 파일의 데이터는 0 과 1입니다.

그러면 디스크3에는 파일1에 대한 패리티비트로 1을 저장하게 됩니다.

*짝수 패리티(Parity) 비트의 경우 어떤 수의 합이 짝수가 되기 위한 비트로 저장하게 합니다.

 


파일 2의 경우 실제 데이터는 1과 1인데 1번디스크와 3번디스크에 각각 저장합니다.

그러면 패리티 비트는 2번디스크에 저장하게 되고 이미 1 과 1을 더하면 짝수이므로 0을 패리티비트로 저장하게 됩니다.

 


이런식으로 저장하게 되면 디스크 2가 고장이 난 경우 파일 1의 경우에는 1번 디스크의 0과 3번 디스크의 1을 합하면 1이므로 자연스럽게 2번 디스크의 원래 데이터는 1이었다는 것을 알 수 있습니다.

 


물론 디스크 두개가 고장날 경우 복구가 불가능 합니다.

따라서 디스크 구성 개수가 늘어날수록 공간효율은 N-1로 좋으나 디스크가 여러개일 수록 동시에 두개가 고장날 확률이 높아지므로 신뢰성이 떨어집니다.

 


또한 평소에는 패리티비트는 읽지 않고 실제 데이터만 읽다가 디스크에 문제가 생긴 경우에 패리티 비트를 이용하여 복구하게 됩니다.

 

RAID6(N-2의 공간 효율)

RAID6의 경우 RAID5를 개선한 것으로 패리티 비트를 두 개 사용하는 중복 패리티 알고리즘을 적용합니다.

따라서 디스크는 최소 4개 이상이 필요합니다.

중복 패리티 사용하기 때문에 저장속도가 조금 더 떨어지지만 RAID5보다 신뢰성이 높습니다.
 


RAID1을 RAID0으로 묶어 사용하는 경우 또는 RAID0을 RAID1로 묶어 사용하는 경우

RAID는 레벨별 한가지 구성으로만 사용하는 것이 아니고 다음과 같이 RAID1로 구성한 디스크들을 또다시 RAID0으로 구성하여 사용할 수 있습니다.

구성방식 변경에 따라 신뢰성과 공간효율 입출력 속도등을 알맞게 조절할 수 있습니다.


추가 RAID 2, 3, 4도 있지만 단점들을 보완한 방식이 5이므로 잘 사용하지 않습니다.


블로그 이미지

itworldkorea

IT korea가 세상(world)을 변화시킨다.

,


오늘은 SQL 의 SUM() 함수에 대하여 학습하겠습니다 

sum() 함수는 어떤 숫자 열의 총 합계를 보여줍니다.

기본적인 구문은

select SUM(column_name) as sum_column from table_name;

위와 같은 구문을 실행하면 column_name 의 모든 내용을 더한 값이 출력됩니다.

 

간단한 테이블을 하나 만들어서 직접 값을 구해보겠습니다.

아래는 member 테이블이라고 가정하고 사람들의 모든 나이를 더해보겠습니다.

 id

 name

 age

 1

 20

 2

 30

 3

 

 40

나이에 해당하는 age의 값을 더하는 구문을 만듭니다.

select SUM(age) as sum_age from member;

위와 같이 구문을 만들고 실행을 하면 20+30+40 이렇게 모든 내용을 더한 내용이 출력됩니다.

그래서 출력되는 내용은 90가 나오게 됩니다.

 

물론 특정 내용에 해당하는 값을 더하기 위해선 sql 구문에 where 조건절을 만들어 값을 가져올 수 있습니다.

크게 어려운점 없으니 응용해보시기 바랍니다.

 

 

블로그 이미지

itworldkorea

IT korea가 세상(world)을 변화시킨다.

,

SQL 기본 구문

 

데이터베이스와 테이블

하나의 데이터베이스는 기본적으로 한개 이상의 테이블을 가지고 있습니다. 그리고 각각의 테이블은 이름(ex, member, notice)에 의해 구분됩니다. 그리고 테이블 안에는 하나 이상의 레코드(row)가 포함되어야 합니다.

 예를들어 회원(member) 테이블의 기본적인 모습은 아래와 같습니다.

 

 id

 user_id

 user_pwd

 name

 age

 phone

 email

 1

 user1

 1111

 홍길동

 25

 010-1111-1111

 test1@test.com

 2

 user 2

 2222

 임꺽정

 45

 010-2222-2222

 test2@test.com 

 3

user 3

 3333

 이철수

 34

 010-3333-3333

 test3@test.com

 4

 user 4

 4444

 김영희

 28

 010-4444-4444

 test4@test.com

위 테이블 구성은 4개의 레코드를 가지고 있고 7개의 열(id, user_id, user_pwd, name, age, phone, email)을 가지고 있습니다.

 SQL 표현법

데이터베이스에서 이루어져야할 대부분의 작업을 SQL 명령문으로 실행해야 합니다.

아래 구문은 위 member 테이블의 내용을 가지고 오는 명령문입니다.

select * from member;

 SQL 뒤에 나오는 세미콜론(;)

대부분의 데이터베이스에서는 SQL 구문의 끝에 세미콜론을 찍어주어야 구문이 실행이 됩니다.

그리고 세미콜론은 SQL 구문을 분리할 수 있습니다. 

 

기본적인 SQL 명령어

SELECT - 데이터베이스에서 내용을 추출함
UPDATE - 데이터베이스의 내용을 수정함
DELETE - 데이터베이스의 내용을 삭제함
INSERT INTO - 데이터베이스에 내용을 삽입함
CREATE DATABASE - 데이터베이스를 만듬
ALTER DATABASE - 데이터베이스를 수정함
CREATE TABLE - 테이블을 만듬
ALTER TABLE - 테이블을 수정함
DROP TABLE - 테이블을 삭제함
CREATE INDEX - 키값을 만듬
DROP INDEX - 키값을 지움

 

 

 

블로그 이미지

itworldkorea

IT korea가 세상(world)을 변화시킨다.

,

 
SQL이란 ?


 
SQL 소개  SQL 

프로그램의 공부는 정말 끝이 없는듯 합니다.

웹프로그램만 하더라도 공부해야 할 것들이 JSP, ASP, PHP, Database, Javascript, jQuery, SQL, CSS, HTML 등등
그 이외에도 더 많이 있지만 저렇게 많은 공부를 해야 인터넷이라는 공간에 집을 지을수 있습니다.

SQL 언어가 중요하고 필수적으로 알아야 하는 이유는 데이터베이스를 조작하고 엑세스할수 있기 때문입니다.
인터넷에 있는 모든 글은 데이터베이스에 저장되게 되는데 SQL 언어를 모르면 앙꼬없는 찐빵이겠죠. 

SQL 은 아래 내용처럼 많은 것들을 할 수 있습니다.

♥ - SQL은 데이터베이스에 대해 쿼리를 실행할 수 있습니다
♥ - SQL은 데이터베이스에서 데이터를 검색 할 수 있습니다
♥ - SQL은 데이터베이스에 레코드를 삽입 할 수 있습니다
♥ - SQL은 데이터베이스의 레코드를 업데이트 할 수 있습니다
♥ - SQL은 데이터베이스에서 레코드를 삭제할 수 있습니다
♥ - SQL은 새 데이터베이스를 만들 수 있습니다
♥ - SQL은 데이터베이스에 새 테이블을 만들 수 있습니다
♥ - SQL은 데이터베이스의 저장 프로 시저를 만들 수 있습니다
♥ - SQL은 데이터베이스에서 뷰를 만들 수 있습니다
♥ - SQL 테이블, 프로 시저 및 뷰에 대한 권한을 설정할 수 있습니다

 SQL 언어는 표준 언어이지만 데이터베이스 마다 각각 사용법이 조금씩 다릅니다.
그렇지만 표준을 준수하기 위해서 기본적인 명령어는 똑같이 사용됩니다.
예를들어서 SELECT, UPDATE, DELETE, INSERT, WHERE 처럼 말이죠.

 

PHP 포스팅을 하면서 SQL에 대해 조금 다루긴 했지만
이번 SQL 포스팅에선 좀더 구체적으로 SQL에 대해서 알아보기로 하겠습니다. 

블로그 이미지

itworldkorea

IT korea가 세상(world)을 변화시킨다.

,

 
오늘은 웹 개발 특히 홈페이지젲작할 때 필요한 프로그램을 소개합니다.

 

 웹 개발를 위한 것들 제로보드xe+그누보드+워드프레스+부트스트랩(Bootstrap)+제이쿼리모바일+제이큐터치

제로보드 XE

공식홈 : www.xpressengine.com

마켓 : www.xemarket.co.kr

 


설치형 무료게시판으로 제로보드 3 때부터 워낙 유명한 오픈소스 툴.

xe는 한번도 사용해보진 않았지만, 요즘 보니 한번 사용해보고 싶은 호기심이..

어라 ? 마켓도 있네?

 그누보드

공식홈 : www.sir.co.kr

 

한창 제로보드4 를 사용할때 알게된 또다른 설치형 무료 게시판.

당시 어떤면에서는 제로보드4 보다 깔끔한 ui에 더 괜찮아 보였던 오픈소스 인데, 지금은 무언가 많이 바뀐듯.

 워드프레스 (WordPress)

공식홈 : https://wordpress.org/

한글홈 : http://ko.wordpress.org/

 


정말 간편히 블로그 형태 및 기타 웹사이트를 손쉽게 만들어주는 프레임워크.

기본적으로 워드프레스를 사용하기 위해선 데이타베이스(mysql) 사용이 필수 이다.

(현재 데이타베이스 종류로는 mysql만 지원하는 걸로 알고 있음)

웹표준으로 제작이 되어 있으며, 여러 무료 테마들과 플러그인등으로 몇번의 클릭으로 상당히 기능적인 웹사이트를 생성할 수 있다.

요즘 한창 뜨고 있는 반응형 웹을 지원하며, 간단한 플러그인 추가로 모바일페이지까지 추가 작업없이 생성이 가능하다.

위의 제로보드와 그누보드 처럼 설치형 이며, 설치는 위의 두 오픈소스들 처럼 간단하다.

부트스트랩 (Bootstrap)

공식홈 : http://getbootstrap.com/

한글홈 : http://bootstrapk.com/BS3/

 


개인적으로 가장 관심가지고 있는 프레임워크.

html, css, js 로만 구성하여 상당히 다이나믹하고 미러한 사이트를 구성할 수 있다.

설치가 아닌 템플릿을 다운받아 소스 수정 및 추가 태그로 나만의 개성있고 기능성 넘치는 사이트를 구성할 수 있다.

많은 샘플들과 소스코드 와 클래스들을 제공하며, 다소 컨텐츠 수가 너무 많고 다양한 사이트 보단,

쓸데없이 화려한 기교없는 비교적 심플하고 시원한 페이지를 구성하는 사이트에 최적화 된 툴이라고 볼수 있다.

부트스트랩 역시 웹표준 및 반응형 웹을 지원하여, 해상도나 브라우저 종류,  디바이스 기기에 상관없이 최적화된 화면을 보여준다.

물론 그런 부분등을 고려하여 웹 레이아웃을 잡아야 겠지만~ ^^

 

제이쿼리모바일 (jquerymobil)

공식홈 : http://jquerymobile.com/

 

너무나도 유명한 제이쿼리~

요즘 어지간한면 제이쿼리 스크립트를 활용하지 않은 사이트를 보지 못한 듯 하다.

위의 부트스트랩 역시 제이쿼리 스크립트를 활용한 프레임워크이다

그런 제이쿼리에서 css 와 js 를 활용하여 마치 어플리케이션에서 구동하는 듯한  ui를 구현한 것이 이 제이쿼리모바일 이다.

이름 그대로 모바일페이지를 빌드 하기 위해 만들어진 툴로 소스툴을 다운받아 사용자가 수정 및 원하는 소스코드를 사용하여,

모바일 페이지를 생성하면 된다.

 
 

JQtouch (제이큐터치)

공식홈 : http://jqtjs.com/


jQT


www.jqtjs.com


모바일 개발 관련 정보를 검색하다 우연히 알게된 모바일 웹 개발 킷.

훓어 보니 이 역시 제이쿼리 스크립트로 개발된 소스이다.

모바일에서 데모 페이지를 테스트해보니 제이쿼리모바일과 크게 차이를 느끼지 못하겠고,

그리고 제이쿼리 모바일에 비해 동작 애니메이션 등 무언가 깔끔하지 못한듯한 툴이라 깊이 정보를 파고들지 않은 툴이기도 하다.

제이쿼리모바일과 다른점을 찾지 못하겠지만, 일단 정보상 기록.

 

 

블로그 이미지

itworldkorea

IT korea가 세상(world)을 변화시킨다.

,

MySql 의 DATE 함수들 <날짜 함수>

 

 

SQL DATE 형식은 데이터베이스 마다 조금씩 틀린 부분이 있습니다.

 

MySql 의 DATE 함수들

NOW() : 현재 날짜와 시간을 보여줍니다.

CURDATE() : 현재 날짜를 보여줍니다.

CURTIME() : 현재 시간을 보여줍니다.

 

예) SELECT NOW(),CURDATE(),CURTIME()

 

 NOW()
 
 CURDATE()
 
 CURTIME()
 

 2012-09-26 14:42:53
 
 2013-09-26
 
 14:42:53

 
 각각의 함수들에 대해서 쿼리문은 위와 같은 형식의 날짜 또는 시간이 나오게 됩니다.

 

DATE_ADD() : 날짜에 지정된 시간을 추가할 수 있습니다.

DATE_SUB() : 날짜에 지정된 시간을 뺄 수 있습니다.

 

SELECT DATE_ADD(column_name,INTERVAL 5 DAY) AS AddDate FROM test

// 위 구문은 test 테이블의 column_name 의 날짜에서 5일을 추가하라는 의미 입니다.

 

SELECT DATE_SUB(column_name,INTERVAL 5 DAY) AS AddDate FROM test

// 위 구문은 test 테이블의 column_name 의 날짜에서 5일을 빼라는 의미 입니다.

 

DATEDIFF() : 두 날짜 사이의 시간을 보여줍니다.

 

예제구문

SELECT DATEDIFF('2013-09-26','2013-09-22') AS DiffDate

// 결과값은 4가 나오게 됩니다.

SELECT DATEDIFF('2013-09-26','2013-09-30') AS DiffDate

// 결과값은 -4가 나오게 됩니다.

 

DATE_FORMAT() : 다른 형식의 날짜/시간을 표시하는데 사용됩니다.


DATE_FORMAT(date,format) 와 같은 형식으로 사용됩니다.

 


DATE_FORMAT(NOW(),'%b %d %Y %h:%i %p')
DATE_FORMAT(NOW(),'%m-%d-%Y')
DATE_FORMAT(NOW(),'%d %b %y')
DATE_FORMAT(NOW(),'%d %b %Y %T:%f')

// %b, %d, %Y... 등등 형식에 대한 지정을 할 수 있는 옵션입니다.

각각의 기능에 대해 검색해보시길 바랍니다. 대소문자의 기능도 틀린점 유의하시기 바랍니다.

소문자 a 부터 시작하여 소문자 y 까지의 옵션이 있는데 너무 설명이 길어질듯 하여 생략하는 것이니

꼭 알아두시길 바랍니다
 

결과값은

Sep 26 2013 03:18 PM

09-26-2013

26 Sep 13

26 Sep 2013 15:24:19:000000

 

MSSQL , Oracle 등 데이터베이스마다< 날짜 함수>에 대한 명령어는 조금씩 차이가 있습니다.

모든 부분 설명드리고 싶지만 PHP의 경우 대부분 MySql과 연동하여 사용하기 때문에

우선 MySql에 대해서만 설명합니다.
 

오늘은 여기까지 합니다.

 


 

블로그 이미지

itworldkorea

IT korea가 세상(world)을 변화시킨다.

,

[SQL연산자] LIKE, 와일드카드, SQL정렬 (오름차순, 내림차순) 
 


LIKE와 와일드카드

 

 LIKE 연산자는 검색하려는 값을 정확히 모를 경우 사용하는 연산자이다. 형식은 아래와 같다.
"where 컬럼명 LIKE 검색내용"
 검색 내용에는 와일드카드와 같이 사용된다. 와일드카드에는 "_"와 "%"가 있다.
 _는 하나의 문자에 어떤 값이 와도 상관없다는 의미이고,
 %는 문자가 없거나 하나 이상의 문자에 어떤 값이 와도 상관없다는 의미이다.
 와일드카드를 사용하면 특정 문자나 문자열을 포함한 데이터를 조회할 수 있다.(대부분 와일드카드 사용 시 %를 사용하게 된다.) 예를 들어 네이버 검색창에 오라클이라는 내용을 검색하면 오라클이라는 문자열을 포함한 여러 내용들이 검색된다.
 기존 방식으로 scott 계정 emp 테이블의 앞 글자가 A로 시작하는 사원들을 검색하기 위해서는 사원의 이름을 풀내임으로 모두 적어줘야 한다.

 


select * from emp where ename='ALLEN' or ename='ADAMS';
 


 하지만 like 연산자와 와일드카드를 이용하면 간단하게 검색이 가능하다. LIKE와 와일드카드를 이용한 예제들을 확인해 보자.

 

select * from emp where ename like 'A%'; --A로 시작하는 사원명 검색
select * from emp where ename like '%E'; --E로 끝나는 사원명 검색
select * from emp where ename like '%A%'; --A라는 문자가 들어가는 모든 사원 검색
select * from emp where ename like '_A%'; --두번째 문자가 A인 사원 검색


정렬(오름차순, 내림차순)

 

 정렬은 데이터를 오름차순이나 내림차순으로 검색할 수 있도록 하는 방법이다. 예를 들어 자료실에서 최신 순으로 조회를 하거나 오래된 순으로 조회를 하거나 추천 순으로 검색할 때 사용된다. 정렬을 사용하는 형식은 아래와 같다.
 오름차순은 "order by 컬럼명 asc"를 사용하고 내림차순은 "order by 컬럼명 desc"를 사용한다. 이때 asc는 기본값이므로 생략이 가능하다. 오름차순 및 내림차순에 따른 정렬 순서는 아래 표와 같다.


 예제를 통해서 알아보자.


select * from emp order by hiredate desc; -- 최근 입사한 순으로 데이터 출력
select * from emp where deptno=10 order by sal desc; -- 10번 부서의 급여가 높은 순으로 데이터 출력
select * from emp where sal > 2000 order by ename asc; -- 급여가 2000보다 많은 사원들의 이름순으로 출력
 


 이때 정렬을 하였지만 동일한 데이터가 있을 경우 여러 번 정렬을 추가할 수 있다. 형식은 "order by 칼럼명 정렬 방식, 칼럼명 정렬 방식"이다. 

 

select * from emp order by deptno asc, sal desc; -- 부서번호 순으로 정렬 후 급여가 많은 순으로 정렬
select * from emp order by deptno asc, ename asc; -- 부서번호 순으로 정렬 후 이름순

 

 

블로그 이미지

itworldkorea

IT korea가 세상(world)을 변화시킨다.

,