본문 바로가기

학원학습내용

(72)
DB12(Mysql) ls -l /var/lib/mysql/ mysql 과 mysql.sock 파일등이 들어있다. cat /var/lib/mysql datadir=/var/lib/mysql 이라는 실제 데이터 디렉토리설정 grep 'mysql' /etc/passwd mysql이라는 사용자가 존재한다. x는 패스워드로 /etc/shadow 그리고 /bin/bash 명령어로 사용이 가능하다. mysqladmin -u root password 'rootoor' amdin 사용자인 root password 'rootoor' 생성 mysql -u root -p -h localhost mysql에 들어가기위한 로그인으로 -u는 user이름으로 붙이거나 띄어도되고 -p는 password로 항상 띄어야한다 그리고 -h host로 local..
DB11(EXPDP/IMPDP) EXPDP HELP =y | more 오라클 데이터베이스 간에 데이터 객체를 전송하기 위한 방식으로 HELP을 통해 EXPDP의 도움말을 볼수있고 | more 로 끊어서 볼수있다. 모든 권한을 갖고 있는 system 로그인 create directory dpump_dir AS 'C:\dump_dir'; dpump_dir이라는 이름에 디렉터리를 C드라이브에 생성 grant read, write on directory dpump_dir to hr; hr사용자에게 권한을 부여하는것으로 dpump_dir이라는 디렉토리 대상으로 read,write 읽기와 쓰기 권한 부여 emp라는 이름의 CTL파일 emp라는 이름의 CSV파일 emp라는 이름에 형식에 맞게 테이블을 작성하는것으로 create table emps(..
DB10(Oracle Xe/SQL Developer) (pluggable database) alter pluggable database all open; alter pluggable database all save state; select name from v$pdbs; PDB$SEED 원본 데이터베이스 XEPDB1 복사된 데이터베이스 connect sys/oracle@localhost:1521/XEPDB1 as sysdba; 생성된 XEPDB1으로 연결 alter user hr account unlock; hr 계정 잠금 해제 alter user ht identified by 'rootoor'; rootoor로 패스워드 변경 connect hr/rootoor@localhost:1521/XEPDB1; 연결 플러그인할 수 있는 데이터베이스를 생성하는것으로 원..
DB9(Oracle DataBase) set serveroutput on; declare l_message varchar(100); begin l_message := 'Hello World'; dbms_output.put_line(l_message); end; / Hello world가 declare을 통해 나타난다. set serveroutput on; create or replace procedure h_world is l_mess varchar2(100) := 'Hello World!!!'; begin dbms_output_line(l_mess); end; / [프로시저를 생성] EXEC h_world 를 통해 생성했던 프로시저를 다시실행이가능하다. -> Hello World!!! select text from user_source w..
DB8(Oracle Database) view 생성 create or replace view emp_dept50_vw as select employee_id, first_name, last_name, email, hire_date, job_title, department_name from employees e JOIN departments d ON d.department_id = e.department_id JOIN jobs j ON e.job_id = j.job_id where d.department_id = 50; create table tasks(id number primary key, title varchar2(20) not null); 테이블 생성 - primary key, 제약조건 create sequence task_id_seq..
DB7(Oracle Database) merge into employees using dual on (employee_id= 100) when matche then update set department_id = 20 when no matched then insert (employee_id, last_name, department_id) values (101,'Neena',20); employee_id = 100 이 있는 경우와 아닌경우로 나눈것으로 만약에 존재한다면 update문으로 department_id = 20으로 변환이되고 아니라면 insert문으로 (employee_id, last_name, department_id) values값으로 (101,'Neena',20)이 넣어진다. (commit,/ -Transaction) DEFAU..
DB6(Oracle Database) SS[^P]의미는 SS로 시작하고 [] 안에 있는 ^는 부정의 의미로 P로 시작하지않는것을 의미한다 이표현은 REGEXP로 정규표현이라고 부른다. alter table customers add constraint cust_email_addr check(REGEXP_LIKE(cust_email,'@')) NOVALIDATE; 이메일의 규약을 변경하는 것으로 안에 @이라는것을 무조건 첨가해야한다. 만약에 @라는것을 첨가하지않고 그대로 inser into 구문을 사용하면 체크 제약조건 위배로 사용할수없다. REGEXP_SUBSTR 정규표현식의 문장의 추출을할 때 사용하는 명령어로 [^@] 부정의 의미로 사용되여 @가없는 상태에서 +을넣으면 앞부분을 가리키므로 그앞에 아이디이름을 나오게할수있다. REGEXP_R..
DB5(Oracle Database) from dual(dummy 테이블) mod 나머지 구하기 round 올림 trunc 버림 select width_bucket(71, 100, 0, 8) "RANK" from dual; 0~100점까지 8등급을 만들었을때 71의 등급 select width_bucket((90+78+82)/3, 92, 23, 8) "RANK" from dual; 최고 평균이 92, 최저 평균이 23일때 8등급에서 어느 학생이 90, 78, 82라면 이학생은 몇 등급일까?? lower 소문자 upper 대문자 where 조건문안에 lower(last_name)같이 안에 넣어서 사용이가능하다 select department_id, max(salary), min(salary) from employees group by depa..