◎MariaDB 코드
▶게시판 프로젝트 작업 사용 코드
▶권한, DB생성 테이블 생성, 삭제, 추가 등
#계정생성
CREATE USER 'kyu'@'localhost' identified BY '1111';
# 데이터 베이스 생성
create database KyuBoard;
# 데이터 베이스에 대한 권한 설정
grant all privileges on KyuBoard.* to 'kyu'@'localhost';
grant all privileges ON *.* to 'kyu'@'localhost'; #모든 권한
commit;
select * from mysql.user;
USE KyuBoard;
CREATE TABLE tbl_board(
bno INT NOT NULL auto_increment,
title VARCHAR(50) NOT NULL ,
content TEXT NOT NULL ,
writer VARCHAR(30) NOT NULL ,
regDate TIMESTAMP DEFAULT NOW(),
viewCnt INT DEFAULT 0 ,
PRIMARY KEY(bno)
);
# 칼럼역할
# bno 각 게시물을 구분할 고유번호
# title 게시물의 제목
# content 게시물 내용
# writer 작성자
# regDate 작성일
# viewCnt 조회수
SELECT*FROM tbl_board;
#테이블 삭제
DROP TABLE tbl_board;
#칼럼명 변경 ->alter table [테이블명] change [변경전 컬럼] [변경후 컬럼] [컬럼 타입];
alter table tbl_board change ViewCnt viewCnt varchar(30);
#테이블 임시 데이터
INSERT INTO tbl_board(title, content, writer)
VALUE('그냥 작성한 글','그냥 글','회원');
INSERT INTO tbl_board(title, content, writer)
VALUE('테스트 제목1','임시 게시글','관리자');
INSERT INTO tbl_board(title, content, writer)
VALUE('테스트 제목1','임시 게시글','관리자');
INSERT INTO tbl_board(title, content, writer)
VALUE('테스트 제목1','임시 게시글','관리자');
INSERT INTO tbl_board(title, content, writer)
VALUE('테스트 제목1','임시 게시글','관리자');
COMMIT;
SELECT*FROM tbl_board;
INSERT INTO
tbl_board(title, content, writer)
VALUE("타이틀 테스트", "테스트 내용", "관리자")
COMMIT;
SELECT*FROM tbl_board;
SELECT
bno, title, content, writer, regDate, viewCnt
FROM
tbl_board
WHERE
bno = 1;
# 수정용 쿼리문 작성 테스트
UPDATE tbl_board
SET
title = '수정된 테스트 제목1',
content = '수정된 테스트 내용',
writer = '수정된 작성자'
WHERE bno = 1;
SELECT * FROM tbl_board;
#DB에서 삭제가 잘 작동하는지 테스트
DELETE FROM tbl_board
WHERE bno = 7;
SELECT*FROM tbl_board;
#테이블 데이터 그대로 재입력 쿼리(더미용 데이터)
INSERT INTO tbl_board(title, content, writer)
SELECT title, content, writer FROM tbl_board;
SELECT COUNT(bno) FROM tbl_board;
#순서대로 출력
SELECT
bno, title, writer, regDate, viewCnt
FROM tbl_board
ORDER BY BNO DESC
LIMIT 0,10
USE kyuboard;
#검색 조건에 맞는 데이터를 가져오기 위한 쿼리문
#제목+내용 검색
SELECT
bno, title, content, writer, regDate, viewCnt
from tbl_board
WHERE title LIKE '%테스트%'
OR content LIKE '%test%'
#작성자
SELECT
bno, title, content, writer, regDate, viewCnt
from tbl_board
WHERE writer LIKE '%작성자%'
SELECT
CONCAT('%','키워드','%')
FROM
dual
SELECT*FROM tbl_board;
#조건에 맞는 게시물 검색
SELECT COUNT(bno) FROM tbl_board
WHERE title LIKE CONCAT('%','1','%')
#댓글을 저장하기 위한 테이블
CREATE TABLE tbl_reply (
rno int not null auto_increment,
bno int not null,
writer varchar(30) not null,
content text not null,
regDate timestamp not null default now(),
PRIMARY KEY(rno, bno),
FOREIGN KEY(bno) REFERENCES tbl_board(bno)
);
commit;
select * from tbl_reply;
SELECT * FROM tbl_board
ORDER BY bno DESC;
tbl_replyINSERT INTO tbl_reply(bno, writer, content, regDate)
VALUE(7608, '댓글 작성자', '댓글 내용', SYSDATE());
SELECT * FROM tbl_reply;
#UPDATE문 테스트
UPDATE tbl_reply SET
writer = '댓글 작성자_수정',
content = '댓글 내용_수정'
WHERE rno = 1
AND bno = 7608;
SELECT * FROM tbl_reply;
#DELETE문 테스트
DELETE FROM tbl_reply
WHERE rno = 1
AND bno = 7608;
SELECT * FROM tbl_reply;
insert into tbl_reply(bno, writer, content, regDate)
VALUE(7608, '댓글 작성자', '댓글 내용', sysdate());
SELECT
rno, bno, writer, content, regDate
FROM tbl_reply
WHERE bno = 7608;
UPDATE tbl_reply SET
writer = '회원1',
content = '글남김'
WHERE bno =7608
SELECT
rno, bno, content, writer, regDate
FROM tbl_reply
WHERE bno = 7608;
#댓글 수정/삭제용 쿼리 테스트
UPDATE tbl_reply
SET
content = '글 내용_수정'
WHERE rno=2;
SELECT
rno, bno, content, writer, regDate
FROM tbl_reply
WHERE rno = 2;
DELETE FROM tbl_reply
WHERE rno = 2;
SELECT * FROM tbl_reply
#회원정보 테이블 만들기
CREATE TABLE tbl_member(
userId CHAR(30) not null,
userPss CHAR(100) not null,
userName CHAR(30) not null,
regDate DATE DEFAULT SYSDATE(),
PRIMARY KEY (userId),
UNIQUE(userName)
);
#userID와 userName을 프라이머리 키와 유니크 키로 설정함에 따라
#중복 또는 null값을 가질 수 없기 떄문에 에러 발생
COMMIT;
SELECT * FROM tbl_member
#칼럼명 변경
ALTER TABLE tbl_member
CHANGE userPss userPass CHAR(100) not NULL;
SELECT * FROM tbl_member
#데이터 수정
UPDATE tbl_member
SET userName='kyu'
WHERE userId ='kyu';
#로그인 데이터 확인
SELECT
userId, userPass
FROM
tbl_member
WHERE userId = 'kyu'
AND userPass = '1234'
SELECT *FROM tbl_member
#회원정보 변경 쿼리문 테스트
UPDATE tbl_member
SET userPass ='2222'
WHERE userName = 'kyu';
SELECT * FROM tbl_member;
#회원정보 삭제 쿼리문 테스트
DELETE FROM tbl_member
WHERE userId = 'choi'
AND userPass ='1111';
tbl_memberSELECT * FROM tbl_member;
INSERT INTO tbl_member(userId, userPass, userName)
VALUES ('choi', '1111', 'choi')
#테이블 검색 확인용 쿼리
SELECT userId FROM tbl_member
WHERE userId = 'kyu';
COMMIT;
DELETE FROM tbl_member
WHERE userId = 'kyu';
#로그인 후 정보를 가져올 쿼리문
SELECT userId, userName, userPass
FROM tbl_member
WHERE userId = 'kyu';
'MySQL' 카테고리의 다른 글
MariaDB 문법(수정위주) (0) | 2022.02.26 |
---|---|
Group by (0) | 2022.02.21 |
기존 테이블 외래키추가(참조 테이블) (0) | 2022.02.07 |
계정 및 권한 코드 (0) | 2022.02.07 |
MySQL (0) | 2022.01.27 |
댓글