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)을 변화시킨다.

,

오늘은 어제 배운 while문을 응용해서 이번엔 do~while문에 대해서 학습합니다.

 

do ~ while

 

위의 while문에서는 조건식이 참이면 명령문들을 실행했는데요 do ~ while문은 일단 한번 실행을 한 후 조건문 검사후 참이면 명령문을 실행하고 아니면 빠져 나온답니다. 일단 구조를 한번 살펴 봅시다.

 

do ~ while 문의 구조

 

do{ 조건식이 참이면 실행할 명령은 여기에 적습니다.

}

while(여기에는 조건식을 적습니다.)

 

그럼 한번 소스를 통해서 do ~ while문이 무엇인지 이해해 보도록 합시다.

a = 1;

do{

document.write(a);

}

while(a==10)

 

위의 소스를 보면은 a=1입니다. 조건식을 보면 1==10이죠 즉 a10과 같을 동안 반복분을 실행하는거죠.

 

그런데 즉 조건식에서는 1== 10이 동일하지 않으므로 반복문을 실행하지 않죠. 하지만 do문에 있는 실행문을 한번은 실행을 한 후에 조건식을 검사를 하기 때문에 한번은 실행을 합니다.

 

, a값인 1이 한번은 출력이 된 후에 조건식을 검사후에 조건에 만족하지 않으면 do문 안에 명령문을 실행하지 않습니다.

 

그럼 전체 소스를 보면서 테스트 해보시기 바랍니다.

 

<!DOCTYPE html>

<html>

<head>

<title> david's Web Laboratory</title>

<style type="text/css">

</style>

<script type="text/javascript">

a = 1;

do{

document.write(a);

a++;

}

while(a==10)

</script>

</head>

<body>

</body>

</html>

 

위 결과값은

1

 

블로그 이미지

itworldkorea

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

,

오늘은 while문 즉 반복문에 대해서 학습합니다.

 

반복문은 어떠한 값이 조건에 의해 그 조건에 만족하는 동안 계속 실행할 수 있습니다.

예를 들어 1200회 화면에 출력을 해야 한다면

1을 직접 200번 타이핑 하지 않고 반복문을 사용해 200회 출력할 수 있게 할 때 사용합니다.

 

사용법은 아래와 같습니다.

while(조건){

조건에 만족할 동안 실행할 명령문

}

 

 

예를 들어서 1부터 10까지 출력하는 것을 while문으로 만들어 본다면 다음과 같습니다

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8" />

<title>자바스크립트</title>

<script>

a = 1;

while(a <= 10){

document.write(a);

a++;

}

</script>

</head>

<body>

</body>

</html>

 

위의 소스를 보면 a의 값을 1로 선언 후 조건에는 a10보다 작거나 같다는 조건을

나타내며 그리고 그동안에 a의 값을 출력하는 명령문 그리고 a의 값을 1씩 올리는 a++가 있습니다.

 

위의 소스에 a++가 없다면 a가 값을 증가하면서 10에 도달하는 기능이 없으므로 무한루프에 걸리게 됩니다. 위의 소스를 실행할 때 한번 테스트 해보시기 바랍니다.

 

다음은 1부터 10까지의 누적합을 구하는 소스입니다. 알고리즘을 파악해 보세요

프로그램 면접시험 대 의외로 이런 간단한 문제를 묻는 곳도 있습니다.

 

 

결과값은

누적합1
누적합3
누적합6
누적합10
누적합15
누적합21
누적합28
누적합36
누적합45
누적합55

 

오늘 배운 반복문은 자주 사용하게 되기 때문에 꼭 기억해 주시기 바래요

 

블로그 이미지

itworldkorea

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

,

 

 

DataBase 란?

데이터베이스는 정보를 저장할 때 사용합니다. 회원가입을 할 때 우리가 사용하는 정보들이 데이터베이스에 저장이 됩니다.
데이터베이스는 프로그래밍 언어가 아니라 하나의 프로그램이에요.

그리고 데이터베이스에 데이터를 저장하거나 불러오거나 수정 삭제등은 데이터베이스의 명령문을 입력해서 처리합니다.

MySQL챕터에서는 간단히 이러한 데이터를 추가 수정 삭제하는 방법에 대해서 학습하고

PHP챕터에서 Database와 연동해서 회원가입 정보등을 입력해 볼거에요.

그럴려면 우선 MySQL을 알아야겠죠?

데이터 베이스는 간단히 말하면 가계부정리,

학교다닐때 교실에서 보던 시간표를 떠올리면 쉽게 알 수 있습니다.
월요일 1교시에는 어떤 수업인지 금요일 3교시는 어떤 수업인지 알 수 있죠. 데이터베이스도 이와 마찬가지 입니다.
다음의 표를 보면 좀 더 쉽게 알 수 있습니다.

학번 성명 신청과목

많은 학생을 등록시키고 그학생의 이름과 신청과목  , 점수

그때 그때 필요할 때 정보를 불어와서 볼 수 있도록 하는 것들을 할 수 있도록 하는 것이

데이터베이스입니다.
그래서

 학번, 성명, 신청과목과 같은 항목을 필드라고 불러요. 그

리고 그아래의 자료들은 레코드라고 부릅니다.

그럼 이제 데이터를 어떻게 집어 넣는지 어떻게 수정하는지 어떻게 삭제하는지

어떻게 원하는 데이터를 손에 넣을 수 있는지 검색은 어떻게 하는지 등에 대해서 알아볼게요.

블로그 이미지

itworldkorea

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

,


[MySQL] select 된 데이터 update 하기 

 


SET @a =0

update '테이블명' set 컬럼명 = concat('11-', (@a := @a +1) + 1000)
WHERE exam_school = '서원대학교'
AND mb_sex = '남자'
AND area = '서울'
ORDER BY name1;

 

설명 : 먼저  @a 라는 변수에 0 이라는 값을 주고

 

concat 을 이용하여 선택된 컬럼명에 11-1001 부터 선택된 조건의값을 업데이트 한다.

 

 

블로그 이미지

itworldkorea

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

,

MySQL 테이블이 존재 여부 확인하는 소스.  DB 관련 함수

 

<?
$link = mysql_connect("localhost", "root", "apmsetup");


$a = mysql_list_tables("hello");

$num = mysql_num_rows($a);

echo $num ;

for ($i = 0; $i < $num; $i++){
 $s = mysql_tablename($a,$i);
 if($s == "user_tbl"){
  echo "exists";
  exit;
 }
 
 
 
}
echo "end";
?>

블로그 이미지

itworldkorea

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

,

MySQL 테이블 이름 불러오는 함수 mysql_tablename ()  DB 관련 함수

 

테이블 이름을 불러오는 함수로 mysql_table(인자1,인자2)가 있다.

 

인자1에 쿼리문 2에 변수를 넣는다.

 

사용법 :

 

<?php
mysql_connect("localhost", "root", "apmsetup");
$result = mysql_list_tables("hello");
$num_rows = mysql_num_rows($result);
for ($i = 0; $i < $num_rows; $i++) {
    echo "Table: ", mysql_tablename($result, $i), "\n";
}

mysql_free_result($result);
?>

블로그 이미지

itworldkorea

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

,

MySQL 현재 서버의 상태를 보는 함수 mysql_stat()  DB 관련 함수

 

현재 서버의 상태를 알려주는 함수로 mysql_stat() 가 있다.

 

사용법 :

 

<?
$link = mysql_connect("localhost", "root", "apmsetup");
mysql_select_db("hello");

$a = mysql_stat($link);

echo $a ;


 ?>

 

 

결과

 

Uptime: 18203 Threads: 2 Questions: 590 Slow queries: 0 Opens: 21 Flush tables: 1 Open tables: 0 Queries per second avg: 0.32

블로그 이미지

itworldkorea

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

,

MySQL 테이블 리스트 보기 show tables from dbname  DB 관련 함수


다음은 특정 DB의 테이블 목록을 보는 소스이다.

 

<?
$link = mysql_connect("localhost", "root", "apmsetup");
mysql_select_db("hello");

$db_name = "hello"; // hello 대신 db이름을 적는다.

$sql = "show tables from $db_name";
$result = mysql_query($sql);

while ($row = mysql_fetch_row($result)){
echo "$row[0] <br />";
}

mysql_free_result($result);

 ?>

블로그 이미지

itworldkorea

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

,

MySQL 데이터베이스 목록 불러오기 mysql_list_dbs()  DB 관련 함수

 

데이터 베이스 목록을 불러 오기 위한 함수 mysql_list_dbs()를 사용하면 된다.

 

사용법 :

 

 <?
$link = mysql_connect("localhost", "root", "apmsetup");
mysql_select_db("hello");

$db_list = mysql_list_dbs($link);

echo "$db_list";

while ($row = mysql_fetch_object($db_list)){
echo "$row->Database <br />";
}


 ?>

블로그 이미지

itworldkorea

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

,