SQL
정보를 관리하는 전문 어플리케이션
장점
안전하다, 빠르다(인덱스를 통해서 정보를 빠르게 찾을 수 있도록 정리되어있다), 프로그래밍적 제어 가능
두대의 컴퓨터가 있을때, 한대의 컴퓨터가 MySQLClient, 다른 하나는 MySQLServer일 때, 다음과 같은 관계가 성립된다.
그림으로 나타내면 아래와 같다.
최종적으로 만드려는 웹에플리케이션이 데이터베이스와 어떤 관계인지는 다음과 같다.
웹브라우저에 a.php를 입력하면 웹서버는 php를 처리할수 없음을 알고 php에게 a.php를 요청한다. 그럼 php엔진은 a.php를 한줄한줄 읽어나가는데 sql구문이 있다면 php엔진은 mysql에 접속하고, php는 mysql이 전송해준 데이터를 가공해서 웹페이지를 만들고, 이것을 웹서버에게 돌려준다.
최종적으로 웹서버는 이렇게 만들어진 웹페이지를 웹브라우저에게 전해주면서 사이클이 끝나게 된다.
MySQL monitor은 Mysql을 설치하면 자동으로 설치가 되며, 표준적인 Mysql 클라이언트라고 할 수 있다. 데이터베이스 서버에 접속할 수 있는 장점이 있지만, 단점은 여러 명령어를 알아야하기 때문에 사용하기가 어렵다는 점이다.
MySQL Monitor 사용하기
윈도우+R후 cmd입력 후
cd C:\Bitnami\wampstack-7.1.26-2\mysql\bin
mysql -hlocalhost -uroot -p
를 해주고, 암호를 입력하면 MySQL Monitor을 성공적으로 사용할 수가 있다.
데이터베이스 보기
Show databases;
데이터베이스 생성
CREATE
DATABASE
opentutorials
CHARACTER
SET
utf8
COLLATE
utf8_general_ci;
데이터베이스 선택
이제부터 opentutorials라는 데이터베이스를 사용할것이다.
use opentutorials;
테이블 생성
CREATE
TABLE
`topic` (
`id`
int
(11)
NOT
NULL
AUTO_INCREMENT,
`title`
varchar
(100)
NOT
NULL
, //100보다 작은 문자를 넣으면 잘린다. NOT NULL:이름이 없으면 안됨
`description` text
NOT
NULL
, //긴 텍스트를 받을 수 있어야한다.
`author`
varchar
(30)
NOT
NULL
,
`created` datetime
NOT
NULL
,
PRIMARY
KEY
(id)
) ENGINE=InnoDB
DEFAULT
CHARSET=utf8;
생성된 테이블 확인
show tables;
데이터 삽입
데이터 가져오기
SELECT * FROM topic; //topic테이블에서 가져오겠다. *는 컬럼을 의미한다.
SELECT title, author FROM topic; //title과 author정보만 가져온다.
author를 내림차순으로 정렬
select id,titile,author,created FROM topic ORDER BY author DESC;
'생활코딩 > 웹어플리케이션 만들기' 카테고리의 다른 글
[생활코딩/웹어플리케이션] 라이브러리 (0) | 2019.03.12 |
---|---|
[생활코딩/웹어플리케이션] 자바스크립트 실습 (0) | 2019.03.06 |
[생활코딩/웹어플리케이션] UI vs API (0) | 2019.03.05 |
[생활코딩/웹어플리케이션] JavaScript vs PHP 함수 (0) | 2019.03.05 |
[생활코딩/웹어플리케이션] JavaScript vs PHP 배열과 반복문 (0) | 2019.03.05 |
INSERT
INTO
`topic` (`id`, `title`, `description`, `author`, `created`)
VALUES
(3,
'Opeartor'
,
'<h2>Operator</h2>\r\n<h3>Description</h3>\r\n<p>Programming languages typically support a set of operators: constructs which behave generally like functions, but which differ syntactically or semantically from usual functions</p>\r\n<p>Common simple examples include arithmetic (addition with +, comparison with >) and logical operations (such as AND or &&). </p>\r\n'
,
'egoing'
,
'2015-06-18 05:00:00'
);