50일차 - phpMyAdmin SQL

밀레·2022년 12월 5일

코딩공부

목록 보기
120/135
post-thumbnail

그누보드 (≠백엔드)

  • 백엔드 언어로 만들어진 '프레임워크' ex) 워드프레스
  • 백엔드에 전달할 정보 : DB명 / DB테이블 / 접두어 / DB아이디 / DB패스***워드 / DB접속주소

Q) DB를 추가하는 방법이 없을까요?
wp_write_free여성사진가협회 / mm_write_free뫄뫄회사 / ss_write_free솨솨기업 등등
모든 DB가 다 'dotoho' 안에 있으면 무섭잖아. 실수로 딴거 삭제할까봐.

A) 돈 주고 서버를 더 사세요.


1. 닷홈 phpMyAdmin 로그인

  • 접두어_write(게시판)_gallery(아이디)
  • 접두어_write(게시판)_notice(아이디)

2. CMS_board_file은 '첨부파일' 게시판

첨부파일은 CMS_board_file 게시판에서 따로 관리함.


3. phpMyAdmin에서 즉시 'free' 게시판 수정하기

방법1) CMS_write_free '수정' → 빈칸 바꾸기

방법2) SQL을 수정해주기 (백틱)

UPDATE `CMS_write_free` SET `wr_hit` = '1000', `wr_name` = '접니다' WHERE `CMS_write_free`.`wr_id` = 1;
    <!-- 이 게시판을 수정 -->  <!--조회수를 1000으로-->  <!--글작성자 수정-->    
  • UPDATE CMS_write_free /// 이 게시판을 수정
  • wr_hit = '1000' ////// 조회수를 1000으로 수정
  • wr_name = '접니다' /// 글작성자 수정

수정 후, php 언어 변경된 것을 확인

아래처럼 게시글 컨텐츠 수정됨
ex1)


4. free 게시판에 '새 글' 삽입하기 (3과 동일)

방법1) CMS_write_free '삽입' → 빈칸에 new 내용 삽입하기

wr_subject 제목
wr_content 내용
wr_link1
wr_name 글작성자
wr_datetime 글작성시간
wr_1 2 3 4 ... 여분필드

방법2) SQL로 새글 삽입하기 (백틱)

          <!-- 이 테이블로 -->
INSERT INTO `cms_write_free` (`wr_id`, `wr_num`, `wr_reply`, `wr_parent`, `wr_is_comment`, `wr_comment`, `wr_comment_reply`, `ca_name`, `wr_option`, `wr_subject`, `wr_content`, `wr_seo_title`, `wr_link1`, `wr_link2`, `wr_link1_hit`, `wr_link2_hit`, `wr_hit`, `wr_good`, `wr_nogood`, `mb_id`, `wr_password`, `wr_name`, `wr_email`, `wr_homepage`, `wr_datetime`, `wr_file`, `wr_last`, `wr_ip`, `wr_facebook_user`, `wr_twitter_user`, `wr_1`, `wr_2`, `wr_3`, `wr_4`, `wr_5`, `wr_6`, `wr_7`, `wr_8`, `wr_9`, `wr_10`) 

VALUES <!-- 각 값들을 삽입(insert into)한다 -->
(NULL, '0', '', '0', '0', '0', '', '', '', 'sQL에서 넣는 데이버베이스', '내용', '', '', '', '0', '0', '0', '0', '0', '', '', '', '', '', '2022-12-05 10:17:38', '0', '', '', '', '', '', '', '', '', '', '', '', '', '', '')
  • INSERT INTO cms_write_free (~~~) //// 이 테이블
  • VALUES ( , , , , ~~~ ) /// 각 값들을 삽입(insert into)한다

+) SQL 1회로 새글 5개 작성하는 법 (=DB를 한꺼번에 업로드)

한꺼번에 5개의 새글이 작성됨

그누보드에서도 확인 가능 ↓


5. 테이블 구조 살펴보기

5-1. CMS_write_free의 테이블 구조 살펴보기

  • 이름
  • 데이터타입
  • null 필수입력
  • 기본값

5-2. CMS_board_file(첨부파일 게시판) 테이블 구조 살펴보기

사진을 두 장 첨부하면 아래처럼 나타남.

5-3. cms_config(그누보드 테마 있는곳) 보기


6. 내가 만든 게시판 테이블 찾아가기 : CMS_content

bo_table 게시판
co_id 내용관리

wr_subject  // 게시판명
wr_content  // 내용
wr_name 	// 글작성자
wr_datetime // 글작성시간
wr_hit 		// 조회수


7. where 키워드로 원하는 데이터 정확히 뽑아내기

주로 사용되는 키워드들
where
order by wr_id desc(내림차순)
order by asc(오름차순)
group by 특정 필드

예시1)

                               <!-- 필드가   5 이상인 애들 추려 -->
SELECT * FROM `CMS_write_free` where wr_id >= 5;

예시2)

SELECT * FROM `CMS_write_free` where wr_name = '행인';
								<!-- 조회수가 100 이상인 것만 -->

예시3)

SELECT * FROM `CMS_write_free` where wr_hit >= 100;

예시4) 2개 필드에서만 조건 사항 추려내기

SELECT wr_name, wr_subject FROM `CMS_write_free` where wr_hit >= 100;

예시5) 조건이 일치하는 필드의 갯수 세기

SELECT count(wr_id) FROM `CMS_write_free` where wr_hit >= 100;

8. 게시판 만들기 - 테이블 생성 및 데이터 입력

기본 틀 예시)

  • 필드명
  • 용량제한/데이터타입
  • 필수인자
CREATE TABLE emp_table
<!-- 필드명    용량제한/데이터타입  필수인자 -->
(   `emp_id`      int           NOT NULL,
    `emp_name`    varchar(100)  NOT NULL,
    `gender`      char          NULL,
    `age`         int(11)       NULL,
    `content`     text(300)     NULL,
    PRIMARY KEY (emp_id)
);

+) PRIMARY KEY란?
컴퓨터가 관리하는 키


포폴 사전인터뷰 폼 필드에 최적화된 테이블 만들기

① 기본 틀

모양 A

CREATE TABLE freeinterview_table
(   `id`      	int           NOT NULL,
    `subject`    varchar(255)  NOT NULL,
    `content`      text          NULL
    PRIMARY KEY (emp_id)
);

모양 B

CREATE TABLE freeinterview_table
(   `id`      	int           NOT NULL AUTO_INCREMENT PRIMARY KEY,
    `subject`    varchar(255)  NOT NULL,
    `content`      text          NULL
);

② emp_table & freeinterview_table 테이블 생성하기 (A,B 각각 예시)

③ emp_table & freeinterview_table 테이블이 각각 생성됨


9) '게시글 순번' 바르게 지정

게시판 관리에서 직접 조정해준다 → 순번이 뒤죽박죽에서 깨끗이 정리됨.

0개의 댓글