본문 바로가기
  • Welcome J-Kyu Tstory
MySQL

MariaDB 코드

by regularity 2022. 2. 15.
728x90

◎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';

 

 

728x90

'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

댓글