Mysql을 사용하기 위한 setup과 간단한 SQL문을 정리해보았다.
Database와 table의 차이는 간단히 database는 엑셀 파일 자체이고, table은 sheet의 개념이다.
database안에 여러 개의(물론하나일수도 있겠지만) table이 포함되는 구조이다.
일단 접속은 mysql -uroot -p로 접속해주고...
Mysql 비밀번호 변경
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('바꿀비번');
User Read
use mysql;
select user, host from user; //유저 조회
User Create
USER_ID@localhost identified by 'USER_PASSWORD';
grant all privileges on DATABASE_NAME.* to USER_ID@localhost; //유저 생성
Create Database & Use
CREATE DATABASE test;
USE test;
Create Table ( CRUD 게시판을 위한 테이블 )
CREATE TABLE `tblboard`
(
`b_seq` int(11) NOT NULL AUTO_INCREMENT , //id값으로 사용할 것이다. 자동으로 1씩 증가한다.
`b_title` varchar(45) NOT NULL , // 제목은 바뀔수 있는 char형
`b_content` text NOT NULL , // 글자수 제한 없이 text를 받는다.
`b_created` datetime NOT NULL , // 생성된 날짜로 datetime 형을 이용한다.
`b_modified` datetime NOT NULL , // 수정된 날짜
`b_hit` int(11) NOT NULL DEFAULT 0 , // 나머지 부가적인 조회수 좋아요 등등...
`b_like` int(11) NOT NULL DEFAULT 0 ,
`b_status` int(11) NOT NULL ,
`b_writer_seq` int(11) NOT NULL , // 나중에 User id값과 연결될 seq
`b_type` int(11) NOT NULL DEFAULT 0,
PRIMARY KEY (`b_seq`) // id값은 절대 겹치면 안되기 때문에 PK로 설정
);
Insert Test Data ( 글 생성 부분을 개발할 동안 글 목록 등에 쓸수있게 임의로 데이터를 만들어 넣는다. )
INSERT INTO `tblBoard` VALUES (1,'test_title','test...', '2021-01-01 11:12:12', '2021-01-01 11:12:12',0,0,1,1,3);
기본적인 Mysql CRUD 문법
INSERT INTO `table_name` (field1, field2, …) VALUES (data1, data2, …); // Create
SELECT * FROM table_name; // Read
UPDATE `table_name` SET field1=data1, … WHERE <condition>;
// ex) UPDATE `tblBoard` SET b_title="Hello world" WHERE id=1;
DELETE FROM `table_name` WHERE <condition>;
// ex) DELETE FROM `tblBoard` WHERE id=1;
본인은 DB 관리를 용이하게 하기 위해서 (GUI가 더 좋은거) phpmyadmin이라는 프로그램을 깔았다.
$ sudo apt install php-curl php-gd php-zip php-mcrypt
$ sudo apt install phpmyadmin
다음 코드로 깔아줄 수 있고, example.com/phpmyadmin으로 접속해서 DB를 관리할 수 있게 하였다. DB를 웹상에서 관리하기 때문에 웹서버인 apache2가 같이 깔릴 것이다.
'개발' 카테고리의 다른 글
[Web] - 7편 (1) Svelte 시작 및 초기 세팅(routing, auth) 소감 (0) | 2022.04.18 |
---|---|
[Web] - 3편 포트 설정 및 서브 도메인 연결 (0) | 2021.10.07 |
[Web] - 1편 서버 기본 세팅(nodejs, mysql 설치) (0) | 2021.08.30 |
[Web] - 0편 Linux(Ubuntu) 서버 구매 및 도메인 연결 (0) | 2021.08.26 |
[Mysql] 윈도우에서 mysql(mariadb) CRUD (0) | 2021.08.18 |