본문 바로가기

CLASS/DATABASE29

MongoDB 👀MongoDBRDBMS 아님 ( NoSql 임 )mongoDB, Redis .. => 이둘의 차이?      Redis : 채팅,영상 스티리밍 서비스,게임,금융,의료,IoT..등 프로젝트에 사용,더 빠름 (단일코어, 단일 스레드 사용) ,                   메모리 저장 (데이터 저장)     mongoDB : 모바일 , 웹 어플리케이션 ,로그관리,IoT..등 프로젝트에 사용                        멀티스레드 사용 (스레드 줄이면 빠르게 사용 가능하긴 함) , 디스크 저장 (데이터 저장)              MongoDb (port : 27017) , Redis(port : 6379)  👀Install https://www.mongodb.com/try/downloa.. 2024. 10. 17.
postgresql port : 5432https://www.enterprisedb.com/downloads/postgres-postgresql-downloads설치 ㅎ    👀 postgresqlroot사용자 : postgres 👀 명령어\l : 데이터베이스 리스트 확인 (== show databases;)psql -U postgres  => 최고 관리자로 로그인creat database test => test라는 database 생성\c 데이터베이스명 : 해당 데이터베이스 진입 (== use 데이터베이스명;)select,insert는 mysql이랑 똑가틈 자동증가값 사용하려면 create SEQUENCE shop_no; 머 이렇게 해줘야함 (oracle처럼 시퀀스 따로 만들어줘야함)  👀 사용자 추가  및 권한\c.. 2024. 10. 14.
database 보안.. [서버 해킹 위험 방지]1. root패스워드 a123456 하지말기% 하지 말기 -외부접근 안되도록 설정해야함 ! (localhost만 적용) 2. use mysql;select * from user;사용자 리스트 중에서 미확인 생성자가 있을 경우 삭제 2024. 10. 14.
Oracle 정리 [Oracle] - Container 기준 CDB - Oracle의 큰 운영체제 Database => Database를 구성 Seed(씨앗)라는 Database를 이용해서 PDB를 활용함 [관리자] system 사용자 => sysoper (DB-startup, close, backup, recover, mount) sys 사용자  => sysdba (오라클의 모든 권한을 갖는 관리자) show pdbs;   => 가상의 Database 리스트를 확인하는 명령어 select name from v$pdbs; => show pdbs 동일하게 리스트를 확인 show con_name; => 컨테이너 네임을 출력하는 명령어 ※ cmd로 접속시 sys는 sysdba 또는 sysoper로 접속을 해야하며, 해당 설정은.. 2024. 9. 6.
#6-3/ Oracle+mybatis - selectone/like 사용하는 방식 👀 검색기능 : like 사용  - customer_dto.javapackage kr.co.sen;import lombok.Getter;import lombok.Setter;@Getter@Setterpublic class customer_dto { Integer c_idx; String c_id,c_name,c_hp,c_email,c_tel,c_post; String c_road,c_address,c_level,c_area,c_join;}   - mapper.xml select * from customer where c_name like '%'||#{c_name}||'%' order by c_idx desc=> ⭐ Oracle 에서는 mybatis에서 like 사용시 || 와 함께 사용         .. 2024. 9. 6.
#6-2/ Oracle - sequence reset, ROW_NUMBER(),view+join ❗ 시퀀스 증가값 확인select LAST_NUMBER from user_sequences where SEQUENCE_NAME='시퀀스 이름'; ❗ 시퀀스 0으로 돌리기alter SEQUENCE CNO INCREMENT BY -시퀀스 증가값 확인한 값+1;  ❗ [고유 row를 확인하는 방법 ]sequence 는 data 삭제햇다 다시 insert하면 마지막 번호부터 다시 시작함  => 불러온 data 목록 아예 1부터 먹여지는 기능 oracle에는 있음!!!  - 고유 row       게시판 번호먹일때 유용할듯  ❗ [limit 사용법]  - oracle에응 limit이라는 명령어 없음    => BETWEEN을 이용하여 설정        select * from (select ROWNUM NUM, .. 2024. 9. 6.
#6-1 / Oracle - data 미러링 , table 제작 상세내역 확인 , trigger create SEQUENCE cno start with 1 INCREMENT BY 1 MAXVALUE 9999 CYCLE NOCYCLE;-> sequence 는 nocycle로 만들어주는게 좋다 ㅎ//고객 테이블 create table customer( c_idx number(4) not null, c_id nvarchar2(30) not null, c_name nchar(10) not null, c_hp nvarchar2(11) not null, c_email nvarchar2(50) not null, c_tel nvarchar2(13) null, c_post char(5) not null, c_road nvarchar2(200) not null, c_address nvarchar2(100) not n.. 2024. 9. 6.
#5-1 / Oracle - Excel 파일 data입력 , 파일로 저장 엑셀 데이터 .xlsx 파일로 내보냄   요렇게 table 생성create sequence cmsno start with 1 increment by 1 MAXVALUE 999999;create table cms(cidx number(6) not null,cid nvarchar2(10) not null,cname nchar(10) not null,cmanager nchar(20) not null,cate nchar(40) constraint cate check('취업','성적','직장','대인'),cmsdate date not null,cprocess nchar(1) not null,ctext nclob null,indate timestamp not null, primary key(cidx));//날짜 -.. 2024. 9. 5.
#4-4 / Oracle + Mybatis 로그인 👀 타이틀  - login.jsp 아이디 : 패스워드 : 로그인   - member_repo.java  (interface) @Mapperpublic interface member_repo { //회원가입 public int join(member_dto mdto); //로그인 //member_dto mdto = void logins(member_dto mdto); => 둘다 써도됨 public List logins(member_dto mdto); }   - mapper.xmlselect * from member where mid='#{mid}';  - member_service.java   (interface) package kr.co.sen;import java.util.List;publ.. 2024. 9. 4.
#4-2 / Oracle 실제 테이블에 commit ❗ 터미널 접속시sqlplus hana/hana1234@localhost:1521/xepdb1  👀 실제 테이블에 commit ❗  select * from member;  시sqldevelper에서는 보이는데 터미널, sts에선 안보임 🔽commit;얘를 해줘야 실제 테이블에 들어감!!!  ==>  commit 하니까 실제 table에 확인 되네욤 ※ 보안 때문에 sts에서는 [ desc table명 ]  이 불가능함~  터미널에선 가능ㅎ   👀 view table 생성똑같음 ㅋ create view member_view as select * from... 2024. 9. 4.
#4-1 / Oracle sts 연결 👀 sts4 data Resource Explorer setting ⭐ localhost:1521/xepdb1   => 각각의 가상 컨테이너가 작동하면서  DB가 셋팅되어있음   localhost:1521:xepdb1   => PDB안에 xepdb1이 포함되어서 DB가 셋팅되어있음 ( 하나가 죽으면 다 죽어서 실무에선 이걸 사용하지 않음  )  1. resource Explerer open 2. 일단 요렇게 하고 ping fail 떠도 finish   3. 요기 들어가서 4.:  제거후 test 해보면 됩니당 5. ===>   :  아니고 / 임 !!!  6. //얘도 수정해야함 !! / 주의 public class dbinfo { // ㅇㅅaㅇ public static Connection geti.. 2024. 9. 3.
#3-2/ Oracle data복구 👀 data backup D:\ 에 backup 폴더 생성함도구 -> 데이터 익스포트 - 완료🔽   👀 data 복구 => sql파일은 요 방식으로 불가능  그냥 파일 -> 열기 -> 해당파일 열어서 -> 전체 드래그 해서 명령문 실행 하면 table 생김 2024. 9. 3.
#3-1/ Oracle table,column 👀 배열 자료형Oracle에는 enum 없음 mgender enum('M','W') not null default 'M'=요렇게=> mgender char(1) check (mgender IN('M','N')) not nullset 도 없음=> check column 자료형 사용   👀 table명 변경rename 기존테이블명 to 변경할테이블명rename member to member_ship: table명 member  ->  member_ship 으로 변경  👀 table list 확인select table_name from user_tables;  : table명 아님 이게 진짜 명령문임ㅎ 👀 data 삽입insert into member_ship values ('hong','홍길동','0.. 2024. 9. 3.
#2-1 / Oracle 사용자 추가 / 문자,숫자,date 자료형 Oracle- Container 기준으로 잡혀있음 CDB- Oracle의 큰 운영체제 Database -> Database를 구성- Seed라는 Database를 이용해서 PDB를 활용함 [ 관리자 ]system 사용자 -> sysoper (DB-startup,close,backup,recover,mount)sys 사용자 -> sysdba (오라클의 모든 권한을 갖는 관리자 - 사용자 추가,권한 부여 등등..관리함) ✅CDB를 복제한 SEED🔽PBD : Seed를 복제한 Database(가상 DB) cmd로 접속시 sys는 sysdba 또는 sysoper로 접속을 해야하며, 해당 설정은 as로 구분하여 접속합니다. [기본사용자] => pdbs를 생성시- HR (인적자원 관리 사용자)- PM (상품정보 .. 2024. 9. 2.
🌸 Oracle Setting ✅ msql보다 어려붐..ㅎ      oracle은 mysql과 다르게 cmd 말구 tool에서 작성 많이함ㅎ ✅ port : 1521 Oracle 8i 👎Oracle 9i 👎Oracle 11g  ( g: gird =>  single server ) 많이씀Oracle 12c ~ Oracle 18c ~ Oracle 22c  ( c: cloud => clouse server ) 18c 많이씀Oracle 23ai ✅ Settingoracle 다운google 검색 - oracle 18c download 검색해서 다운 - Oracle Database 18c Express Edition for Windows x64공홈에서 sqldeveloper 검색 - Windows 64-bit with JDK 11 inclu.. 2024. 8. 21.
mysql -> json 변환 사이트 https://tableconvert.com/ko/mysql-to-json 2024. 7. 1.
#5-2 / trigger 응용문제 , signed,unsigned [응용문제]회원가입시 바로 1000포인트가 지급되게 제작member table, point table + triggercreate table member( idx int(4) not null auto_increment, id varchar(30) not null, pw varchar(30) not null, name varchar(30) not null, tss enum('SKT','KT','LGT','알뜰폰') not null default 'SKT', phone char(11) not null, post char(6) not null, adr1 varchar(50) not null, adr2 varchar(50) not null, sex enum('male','female') not null defa.. 2024. 6. 10.
#5-1 / 각종 key 상세,trigger - 실무 ❗ table을 어떻게 만드느냐에 따라 java에서 핸들링하는 방식이 바뀜  show create table table명  : 어떻게 제작했는지 상세하게 출력show index from table명  : 현재 key가 어떻게 등록되어있는지 출력 key의 우선순위 primary key ▶ unique ▶ multi (다중 key) ▶ foreign key ⚡ primary key- auto_increment 사용시 무조건 해당 key로 등록되어야 함 -> primary key에 미등록시 error   * key 를 한개이상 등록시 or 형태로 구분되어짐  => primary key(idx,id) : 둘중에 하나라도 틀리면 정상적으로 등록됨      ∴ 통상적으로 auto_increment만 primary .. 2024. 6. 10.
#4-2 / view 응용 문제 , view select가 안됨 해결-권한문제 [ 응용문제 2 ]장바구니 웹페이지를 제작 해야합니다.해당 웹페이지에 다음과 같이 출력되도록 sql 문법을 작성하시오. table : basket 고객명 , 고객 id , 상품명 , 상품 code , 상품 수량 select  b.mname, a.mid, c.prd_name , a.pcode, a.ea from basket as a join member as b join product as c where a.mid = b.mid and a.pcode = c.prd_code; a basketb memebrc product=> select a.mid,a.ea from basket as a join member as b join product as c .. view table 생성시 에러뜸.. 뭐가 문젤까..... 2024. 6. 5.
#4-1 / group by , table및 column 복제 등 * show full columns from table명;   : table의 상세 내용을 모두 출력 -> erd comment 볼 수 잇음  ⚡ [합계,평균 등]select sum(colomn명) from table명; => 총 합계금액 출력 (단,문자일 경우 오류가 발생할 수 있음) select avg(colomn명)  from colomn명;=> 평균 select max(colomn명)  from colomn명; => 제일 큰값  ⚡ [데이터의 범위 갯수만큼 출력하는 방법] select * from table명 limit 배열번호,출력 갯수; => 원하는 만큼 데이터 출력 ex)select * from pay limit 0,10; => 0번부터부터 10개 select * from pay limit .. 2024. 6. 5.
#3-5 / 기타(enum,set,timestamp) * enum : column에 옵션을 입력시킨 후 해당 옵션 외에는 값이 저장되지 않도록 하는 자료형 , ex) radio의 name값=> radio일때 주로 사용create table event( no int(8) not null auto_increment, mid char(30) not null, mpass varchar(10) not null, mhp char(11) not null, memaill varchar(40) not null, mcode char(7) null, moption enum('win','office','xbox') not null default 'win', mdate timestamp not null default current_timestamp, primary key(no),.. 2024. 6. 4.
#3-4 / database 검색 ⚡ database counting * select count(*) from 테이블명; => 해당 table에 몇개의 데이터가 있는지 확인* select count(*) as total from 테이블명;  => as(Alias 의 약어)를 이용하여 가상의 column명을 사용함* select * from table명 where colomn='데이터명' and colomn='데이터명'=> 2가지 조건이 모두 만족 ( = && )* select * from table명 where colomn='데이터명' or colomn='데이터명'=> 2가지 조건 중 한가지만 만족 ( = || ) ex 1)select count(*) from member where marea='b';=> member table 중 지역.. 2024. 6. 4.
#3-3 / excel 미러링, data backup 및 복구 ⚡ excel 미러링 아래 파일로  member라는 table 추가- exel tab 1개당 table 1개  엑셀파일 보고 설계create table member( no int(6) not null auto_increment, mid char(20) not null, mname char(30) not null, mhp char(11) not null, memail varchar(100) not null, mtel varchar(13) not null, mpost char(5) not null, maddr varchar(200) not null, maddr2 varchar(100) not null, mlevel smallint(1) not null, //레벨이 1부터 시작하므로 int 가능 marea c.. 2024. 6. 4.
#3-2 / 외부 사용자 추가 방법 ⚡ 외부 사용자 추가use mysql;create user 'apink'@'%' identified by '1004';insert into db values ('%','f_res','apink','y','y','y','y','y','y','y','y','y','y','y','y','y','y','y','y','y','y','y');=> 권한 부여 create user '아이디'@'%' identifyed by '비밀번호';  : 여러 ip를 오픈하는 형태create user '아디디'@'172.30.1.33' identifyed by '비밀번호';  : 해당 ip만 접속 가능 create user 'apink'@'%' identified by '1004';insert into db values ('172.. 2024. 6. 4.
#3-1 / unique, alter문법 👀 product listcreate table product( pindex int(4) not null auto_increment, pno char(4) not null, //상품 고유번호pnm varchar(200) not null, pmoney int(8) not null, primary key(pindex,pno), unique key(pno) ); [ unique key ]=> primary key에서 절대 중복되지 말아 하는 데이터 colomn을 선정(중복시 error 발생)     단, primary key에 없는 colomn 을 사용하더라도 문제가 되지 않음     ("key" 는 그룹명일뿐 다른거 써도댐 - 통상적으로 key를 사용할 뿐 aaa 이런거 써도 댐)     https://d.. 2024. 6. 4.
#2-3 / database table 설계 👀 게시판 database table - 기획서에 맞춰 설계(기획서에 작성되어 있지 않은 사항도 고려해야함 !! )create table notice( no int(3)  not null auto_increment, //999개의 글만 쓸 수 있음, 필수사항 subject varchar(200) not null, //최대 200글자 제목,필수사항 writer char(40) not null, //최대 20글자 글쓴이,필수사항 contents text not null, //긴글,선택사항 files varchar(100) null, //파일첨부,선택사항 today datetime not null default "0001-01-01 00:00:00", //글작성시간,필수사항 primary key(no) //.. 2024. 6. 3.
#2-2 / 사용자에게 권한주기 [ 응용문제 1  - 사용자에게 권한주기] - https://dev-eunse.tistory.com/120 하단 확인root 사용자에게 일반 사용자에게 새로운 database 권한을 설정하여 접속되도록 합니다.DB : mobile_shopid : coupangpw : c1004로 접속했을때 mobile_shop이 보이게1. create database mobile_shop; 2. use mysql; 3. create user 'coupang'@localhost' identified by 'c1004'; 4. insert into db values ('localhost','mobile_shop','coupang','y','y','y','y','y','y','y','y','y','y','y','y','y',.. 2024. 6. 3.
#2-1 / MYSQL 기초문법 최고사용자(root) / 일반사용자(guest) DB hosting - root안줌, 일반사용자자체 DB Server - root 有 - 일반사용자 생성,권한 제공 DataBase Package한 사이트 당 각각의 DB로 설정일반 사용자를 각각 배치1인 기준 사용자가 여러개의 database 권한을 가질 수 있음1개의 datatbase에 여러명의 일반 사용자를 접근허용 할 수 있음(주로 협업시) Version MYSQL 5.1 or 5.5 이상 / 서로다른 자료형 및 구조를 가지고 있음∴ 한번 구축된 database는 버전 업그레이드가 매우매우 어려운 작업임 Database에 외부 접속시 접속 방식SSH라는 Tool 이용 (key로 접속)SQL Developer 이용(잘안씀 )Telnet오픈 - 아주별로.. 2024. 6. 3.
#1-1 / MYSQL start,setting mysql 다운로드 try free -> oracle -> 이거 아님 xxxxxMySQL Community (GPL) Downloads »  =>   Download Archives   or   MySQL Community Server=> msi 다운로드 - complete (visual strudi ~ 어쩌구로 다운 안될 시 2019 visual c++ runtime downloads 다운로드) Data directory - D:\MySQL\MySQL Server 8.4\type and Networking config type - development  computer Accounts and Roles - password 세팅apply configuration - excute 버튼 : 내 컴퓨터 검토 .. 2024. 5. 30.