1. COUNT
-가져온 레코드의 개수를 세어주는 함수

SELECT COUNT (*) 테이블이름

<?
include "connect.php"; //mysql접속

$query="SELECT COUNT(*) FROM student;"; //꺼내오기 쿼리문
$result=mysql_query($query, $connect); //쿼리문입력

$count = mysql_result($result, 0, 0); //꺼내온 값의 저장

echo $count;
?>
결과는 3


저장될변수=mysql_result (쿼리결과, 열, 행);

 no name  year 
 (0,0) 0,1  0,2 
 1,0  1,1 1,2 


우리가 넣어준 sql쿼리문의 결과는 위와 같이 여러 개의 열과 행으로 나누어진 형태의 2차원 배열이 아니라,
단순한 레코드의 개수이기에 하나의 열과 행으로 이루어진 값이 될것이다. 그렇기에
mysql_result함수에는 0,0을 넣어 첫번째 열의 첫번째 행에 해당하는 값임을 알려주는 것이다.

만약 mysql_fetch_array함수를 사용하고자 한다면
<?
include "connect.php"; //mysql접속

$query="SELECT COUNT(*) FROM student;"; //꺼내오기 쿼리문
$result=mysql_query($query, $connect); //쿼리문입력

$data = mysql_fetch_array ($result); //연관배열만들기
echo $data["COUNT(*)"];
?>

mysql_fetch_array함수 사용은 하나의 레코드를가져올때 사용했던 방법과 동일하지만
저장된 연관 배열의 원소를 나타낼때의 방법은 조금 다르다
$배열이름["함수(매개변수)"]
위와 같은 형식은 count함수가 아닌 다른 함수에서도 같은 방법으로 사용된다




2. SUM
-지정된 컬럼에 입력된 값들의 합계를 구함

SELECT SUM(컬럼이름) FROM 테이블이름

<?
include "connect.php"; //mysql접속

$query="SELECT SUM(no) FROM student;"; //꺼내오기 쿼리문
$result=mysql_query($query, $connect); //쿼리문입력

$sum = mysql_result($result, 0, 0); //꺼내온 값의 저장

echo $sum;
?>
결과는 6
-> no컬럼에는 1,2,3의 값이 들어 있으므로 1+2+3이 되어 6이 되는 것이다.




3. MAX, MIN
-최대값과 최소값을 구하는 함수

SELECT MAX(컬럼이름) FROM 테이블이름
SELECT MIN(컬럼이름) FROM 테이블이름


<?
include "connect.php"; //mysql접속

$query="SELECT MAX(no) FROM student;"; //꺼내오기 쿼리문
$result=mysql_query($query, $connect); //쿼리문입력

$max = mysql_result($result, 0, 0); //꺼내온 값의 저장

echo $max;
?>
결과는 3
->student 테이블의 no컬럼에서 가장큰 값은 3




4. AVG
-평균을 구하는 함수

SELECT AVG(컬럼이름) FROM 테이블이름

예>
SELECT AVG(no) FROM student

결과는 2
->1,2,3의 평균




5. ROUND
-반올림을 해주는 함수

SELECT ROUND(컬럼이름, 자릿수) FROM 테이블이름

자릿수를 입력하지 않거나 0으로 해준다면 소수첫째자리에서 반올림하여 정수형태가 된다
자릿수를 1로 해준다면 소수둘째자리에서 반올림하여 소수첫째자리까지만 표시한다.

SELECT ROUND(no,1) FROM student WHERE no=1
-> student테이블에서 no가 1인 레코드의 no값을 반올림하여 소수 둘째 자리에서 반올림하여
소수 첫째자리까지만 표시 하라는 것


SELECT ROUND(AVG(no)) FROM student WHERE no=1
->위와 같이 중복사용도 가능하다

<?
include "connect.php"; //mysql접속

$query="SELECT ROUND(AVG(no)) FROM student ;"; //꺼내오기 쿼리문
$result=mysql_query($query, $connect); //쿼리문입력

$avg = mysql_result($result, 0, 0); //꺼내온 값의 저장

echo $avg;
?>




6. 기타함수

UNIX_TIMESTAMP() -현재의 유닉스타임스탬프를 리턴
HEX(n) - 10진수를 16진수로 변환
OCT(n) - 10진수를 8진수로 변환
BIN(n) - 10진수를 2진수로 변환
CONV(n, 진수1, 진수2) - n을 진수1에서 진수2로 변환
ASCII(문자열) - 문자열의 첫분자의 ASCII코드로 변환
LOWER(문자열) - 문자열을 소문자로 변환
UPPER(문자열) - 문자열을 대문자로 변환
REVERSE(문자열) - 문장ㄹ의 순서를 바꿈
INSERT (문자열1, 위치, 크기, 문자열2) - 문자열1의 지정된 위치에 지정된 크기만큼 문장열2를 추가
LTRIM(문자열) - 문자열의 왼쪽 공백을 제거
RTRIM(문자열) - 해당 문자열의 오른쪽 공백을 제거
CONCAT(문자열,문자열...) -해당문자열을 연결
LEFT(문자열,크기) -문자열에서 지정된 크기만큼 왼쪽부터 리턴
RIGHT(문자열,크기) -문자열에서 지정된 크기만큼 오른쪽부터 리턴
LOCATE(문자열1, 문자열2) -문자열2에서 문자열1의 위치를 리턴
LPAD(문자열1, 길이, 문자열2) -문자열1의 왼쪽에 문자열2를 길이 만큼 추가
RPAD(문자열1, 길이, 문자열2)- 문자열1의 오른쪽에 문자열2를 길이만큼 추가
USER() - 현재 mysql에 접속중인 사용자의 이름을 리턴
VERSION() -mysql의 버전을 리턴
PASSWORD(문자열) - 문자열을 암호화하여 리턴

+ Recent posts