본문 바로가기

국비과정/JAVA

20230629 _[20일차]_02. HeidiSQL _ 테이블생성 & 데이터입력

데이터가 모여서 테이블이 되고 여러 테이블이 모인걸 데이터베이스라고 함.

 

(계정생성)

GRANT ALL PRIVILEGES ON choongang.*     //  choongang의 모든 데이터에 대한 권한을 주겠다

TO PHYHO@'%' IDENTIFIED BY '0228';       //  요 계정에게

 


[ 테이블을 만들자 ]

 

(사용자 정보를 담는 테이블)
관리번호 - 사람이름  - 아이디 - 비밀번호 - 가입일 - 등급

PK(외래키) - 대부분숫자, 겹치지않게


테이블 member 
mno - mname - mid - mpw - mjoindate - mgrade (대소문자구분x)


[AQueryTool]

 

https://aquerytool.com/

 

AQueryTool

AQueryTool은 웹 기반 ERD 툴 + SQL 자동 생성 프로그램입니다.

aquerytool.com

 

 

테이블 추가해서 위의 정보 입력

 

 

입력한 데이터 복사해서 쿼리창에 입력

부분실행하면 member 테이블 생성됨!

 

Unique Index설정은 아래에 계속..


( Unique Index ) _ ID 중복방지

 

 

기존에 만들었던 테이블 삭제하고 다시 생성해줘야함!

 

요 창의 테이블에서 바로 정보수정 가능

 


[ 테이블에 데이터 입력 ]

 

INSERT INTO member
VALUES (1, '홍길동', 'hong123', '01234567', '2023-06-29', 5); 

 

저장은 한 번만 가능 (ID를 유니크인덱스로 설정해줘서 중복저장 불가.)

저장 후 table탭에서 확인가능

 

 * column순서 맞춰서 데이터입력 * 

 

mno 빠져서 오류남

 


INSERT INTO member
(mname, mid, mpw, mjoindate, mgrade)
VALUES ('김길동', 'kimm123', '01234567', '2023-06-29', 5);

 

=>  입력할 데이터를 미리 골라서 명시해주면 전체 데이터를 입력안해도 자동으로 저장됨.

 


INSERT INTO member
(mname, MID, mpw, mjoindate, mgrade)
VALUES ('마카롱', 'makaaaa', '01234567', NOW ( ) , 5);

 

=>  NOW() : 현재시간 

 


위의 방식으로 데이터 3개 넣어주면 

짜잔

 

 

근데 테이블 탭에서도 데이터 수정가능 (아래 참고)

수정하면 저장 꼭!!!! 눌러주기

 

 

mno는 자동증가로 설정 & mgrade는 5로 지정 & mjoindate는 Now() 로 설정

=> 입력할 데이터 줄여줬으니 이제 쿼리에서 mname, mid, mpw세가지만 입력해주면됨

 

 

* 중간에 데이터 넣었다가 삭제하면 그 다음 mno 번호로 넘어감.


( 데이터 한번에 입력해주기 ) 


( 데이터 삭제 )

DELETE FROM member WHERE mname='사과';

사과 데이터들 전부 삭제됨

재실행하면 다시 생성 (mno주의*)

 

 

( 원하는 데이터 삭제 )

DELETE FROM member WHERE mno=11;

mno=11 에 해당하는 테이블 행이 통으로 삭제됨

 


( 데이터값 업데이트 )

 

UPDATE member SET mname='사과사과' WHERE mname='사과';

 

 


( 데이터 찾기 )

 

SELECT FROM member WHERE mname='바나나';

SELECT FROM member WHERE mname='바나나' AND mgrade = 5;

 

SELECT COUNT(*) FROM member
WHERE mid='banana' AND mpw='01234567';

 

 

찾는 조건의 데이터가 있으면 불러오고 없으면 아무것도X


SELECT COUNT(*) FROM member
WHERE mid='banana' AND mpw='01234567' AND mgrade=5;

-- 0~4 는 로그인 못합니다
-- 5는 사용자
-- 7~9 관리자

 

=> 실제 로그인 과정 (조건에 해당하면 로그인 실행)

 

 

( 행 추가 )

관리자 mgrade=9 로 생성 => 로그인불가