PHP에서 mySQL 데이터를 호출할때 사용 되는 기본적인 명령어 모음

 

 

 

 

[MySQL] MySQL 명령어 _완전기초 (데이터베이스는 삽입,검색,수정,삭제만 알아도 반은 안거란 말이 있죠~ )

USE database_name;        ← 사용할 데이터 베이스 선택 :

 

① 검색

   SELECT * FROM table_name WHERE abc_column='a' ;

② 수정

   UPDATE  tabel_name  SET  a_column='a'  WHERE b_column='b' ;

③ 삽입

   INSERT INTO  table_name (a_column, b_column) VALUES ('a', 'b') ;

④ 삭제

   DELETE FROM  table_name  WHERE d_column='del' ;

   ※ TRUNCATE table_name;   ← 전체 레코드 삭제 ( DELETE FROM table_name 보다 빠름 )

 

 

자~ 여기부터는 MySQL 명령어 기초를 살짝 넘어가 봅니다

 

① SELECT * FROM table_name WHERE abc_column='a' ORDER BY a_column DESC  LIMIT 100;

     └ order by a_column은 정렬,  oder by a_column desc는 역순정렬,  limit 100 은 100개까지

 

   SELECT * FROM table_name WHERE a_column like '%aaa%';

     └ a_column 에서 aaa 를 포함하는 모든 레코드를 가져옴

 

   SELECT * FROM table_name WHERE a_column BETWEEN 10 AND 100;

     └ a_column 에서 10 ~ 100 사이의 값을 가진 레코드를 가져옴

 

   SELECT a_column FROM table_name GROUP BY a_column;

     └ a_column 의 같은 값끼리 그룹을 묶음.

 

   SELECT count(*) FROM table_name;

      └ 테이블의 전체 레코드 갯수를 가져옴

 

 

UPDATE table_a SET table_a . a_column = table_b . a_column FROM table_a, table_b

    WHERE table_a.a_column = table_b.a_column  ;

       └ 두개의 테이블에서 조건을 비교하여 업데이트

 

③ 문자관련 함수

    SELECT LEFT(a_column, 2) FROM table_name;     ← a_컬럼 에서 왼쪽부터 2자리 잘라서 가져온다.

    SELECT MID(a_column, 2, 4) FROM table_name;   ← a_컬럼 2자리부터 오른쪽으로 4자리 만큼 가져온다.

    SELECT RIGHT(a_column, 3) FROM table_name;   ← a_컬럼 에서 오른쪽부터 3자리 잘라서 가져온다.

    SELECT * FROM table_name WHERE LENGTH(a_column)=10;  ← a_컬럼에서 길이가 10인 레코드만

    UPDATE table_name SET a_column=REPLACE(a_column,'변경전글자','변경후글자');

       └ a_컬럼의 '변경전글자' 라는 문자열을 '변경후글자'로 바꾸어 a_컬럼 수정

    UPDATE table_name SET a_column=TRIM(a_column);

       └ a_컬럼의 왼쪽 오른쪽 공백을 모두 제거

     SELECT AVG(a_column),MIN(a_column),MAX(a_column),SUM(a_column) FROM table_name;   

       └ AVG : 평균값, MIN : 최소값, MAX : 최대값, SUM : 합계

     SELECT version(),user(),database();

        └ MySQL 버젼 , 유저 , 데이터베이스명 보기

 

④ 날자관련 함수

    SELECT NOW();

 

 

자~ 여기 부터는 조금더 기초를 넘어 MySQL 명령어 기본기 다지기 정도? 잠시 쉬어갑시다~

 

JOIN : a_테이블 과 b_테이블 에서 a_컬럼의 값이 같은 레코드만 가져옴

    SELECT a_table.a_column, b_talbe.a_column

    FROM a_talbe, b_table

    WHERE a_table.a_column = b_table.a_column;

 

   INNER JOIN : 테이블A 와 테이블B를 비교하여

 

테이블A와 테이블B의 컬럼a 값이 000 인 것의

테이블B 컬럼b 값을 가져오는 쿼리 입니다.

 

SELECT  b.column_b

FROM table_a as a
       inner join table_b as b on a.column_a=b.column_a
WHERE a.column='000'

 

 

 

 

UNION : a_테이블 과 b_테이블 에서 a_컬럼,b_컬럼 모든 값을 한꺼번에 가져옴

    SELECT a_column FROM a_table

    UNION

    SELECT b_column FROM b_table;

 

 

AND

mysql 사용을 위한 기본 인스톨 방법

 

http://dev.mysql.com/downloads/mirror.php?id=414335 

위 링크를 클릭하면 로그인 페이지가 나온다. Oracle 사이트 계정으로 로그인~!

 

다운로드 받은 파일을 실행

next를 하다보면 아래와 같은 화면이 나타남. Devleoper Default 선택한 상태로 next

 

 

그런데 설치가 진행되지 않는다면..다시 Back하고 Custom을 선택하고 next,

Applications > MySQL For Excel 1.1.1 선택 해제하고 next

 

next next하다보면 아래와 같은 화면이 나타남. Passworkd 설정 후, next next~끝

 

 

아래 경로로 가보면 connerctor jar가 있다. 이 jar파일을 톰캣경로\lib로 복사~~

만약, 톰캣이 실행중이라면, Restart를 하셔야 합니다.

경로 : C:\Program Files\MySQL\Connector J 5.1.26

 

 

MySQL 사용하기 

 

커맨드 창하나 실행~ (실행 > cmd) 

아래 경로로 찾아가기, 만약 환경변수에 설정을 해놨다면 그냥 바로 실행해도됨

C:\Program Files\MySQL\MySQL Server 5.6\bin  

경로로 이동한 다음 

 

아래와 같이 입력. 처음에 만든 사용자가 없으므로 root 계정으로 접속!

비밀번호는 mysql설치시 입력했던 암호

 

 

그리고 새로운 데이터 베이스 생성, 굵은 글씨는 이름이다.

create database my_database; 

show databases; // 데이터베이스 리스트 보여주는 명령어 

 

사용자 생성 및 권한 부여 

grant all privileges on my_database.* to test_user@localhost identified by '1234';

 

접속 종료하고 생성한 사용자로 다시 접속하기

 

 

테이블 생성하기

 

테이블 구조 보기

desc board;

 

데이터 추가

 

 

 

AND

리눅스이 기본 메일 기능인 sendmail의 설정 방법

 

1. sendmail이 서버에 존재하는지 확인.

(없으면 2번부서 시작, 설치되어 있으면 3번부터 시작)

rpm -qa | grep sendmail

 

2. yum으로 sendmail과 sendmail-cf 설치

yum -y install sendmail sendmail-cf

 

3. sendmail 실행

service sendmail start

 

설치 끝! 설정 시작~

 

cd /etc/mail

mv ./sendmail.cf sendmail.cf_old

cp ./sendmail.mc sendmail.mc_old

 

4. sendmail.mc 파일수정

52,53 line 수정 (앞부분 dnl 제거)

 

TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

 

 

 

116  line 수정

127.0.0.1을 0.0.0.0으로 개방

DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
(수정 후)
DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl


5. m4 명령으로 sendmail.cf 생성
m4 sendmail.mc > sendmail.cf

생성확인~
-rw-r--r-- 1 root root 58697 Dec 26 16:30 sendmail.cf
-rw-r--r-- 1 root root 58691 Nov 27 09:29 sendmail.cf.bak
-rw-r--r-- 1 root root 58439 Nov 12  2010 sendmail.cf_old
-rw-r--r-- 1 root root 58691 Nov 27 09:43 sendmail.cf.rpmsave
-rw-r--r-- 1 root root  7192 Dec 26 16:19 sendmail.mc
-rw-r--r-- 1 root root  7202 Nov 28 08:38 sendmail.mc_old
-rw-r--r-- 1 root root  7192 Nov 27 09:41 sendmail.mc.rpmsave


6. sendmail.cf 수정
95line 수정(도메인이 있을 경우 수정. 없다면 크게 신경 안써도 됨)
# my official domain name
# ... define this only if sendmail cannot automatically determine your domain
#DjYour domian name



7. 445 line 보안을 위해 일부 글자 다음과 같이 삭제
O SmtpGreetingMessage=$j Sendmail $v/$Z; $b
(수정 후)
O SmtpGreetingMessage=$j Sendmail; $b



8. /etc/mail/local-host-names 도메인추가

*hostname local-host-names과 동일한 도메인 입력할것!

 

9. 서비스 재시작

 service sendmail restart

 

10. 테스트 메일 발송하기

# telnet localhost 25          // 방화벽에서 25번 포트를 열려있는지 확인할것. 안열려 있다면 방화벽에 막혀 메일전송 불가!

mail from:<me@mail.com>  //보내는 사람 주소

rcpt to:<you@mail.com>  //받는 사람 주소

data                        

hi. sendmail!!    //메일 내용 입력

.      //입력 마침. 내용작성 후 반드시 입력

 

quit   //종료

 

 

해당메일로 가서 메일이 정상적으로 수신되었는지 확인!!

 

 

 

AND