ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 🚩 20241220_수업내용(특정권한부여/not null*default/delete*update*select)
    DW아카데미 개발자과정/24년 12월 2024. 12. 20. 17:08

    데이터베이스는 슈퍼관리자 계정인 root를 사용하지 않는다.

    root 계정은 오직 데이터베이스 상위관리자만 사용하고 하위 관리자들은 별도의 관리자 계정을 만들어 사용한다.

     

    일반 사용자들은 일반계정을 부여하여 사용하도록 한다.

     

     

    보안상의 문제 때문에 이렇게 해야한다.

     

    github.com/masterJKR/mandarin_database << 강사님 수업정리본 링크

     

     


    * 권한 부여의 자세한 설명은 상단 깃허브 링크를 통해 확인*

    1. 권한 부여 복습

     

    1 - 사용할 유저의 아이디와 비밀번호를 설정해준다.

    2 - 유저에게 권한을 부여한다 

    grant all privileges on <데이터베이스 이름>. * to '유저이름'@'%'; 

    3.- 권한 넘김 새로고침

     

     

     

    1-1. 특정 테이블 권한 부여

    1 - 테이블 권한을 넘길 유저의 아이디와 비밀번호를 설정

    '아이디'@'localhost' -> 현재의 IP를 가진 컴퓨터에서만 사용이 가능한 아이디임을 확인.

     

    2 - grant all privileges on <데이터베이스 이름>.<테이블이름> to '유저이름'@'localhost'; 

    특정 테이블 권한만 부여함.

     

    3 - 권한을 제대로 넘김(like 새로고침)

     

     

     

    1-2. 특정 기능의 권한만 넘김

    1. 유저의 아이디 비밀번호 설정.

    2. select, update 두개의 권한만을 ramen에게 넘김.

     

     

    총정리

     


     

    2. 특정 컬럼에 반드시 데이터를 가져야 할 경우

    ㄴ데이터를 넣지 않으면 저장이 되지 않게 할 경우(NULL값을 허용하지 않음)

    테이블 만들 때 데이터타입 뒤 <not null> 을 적어 null을 허용하지 않음

     

    -- computer_book의 값(null허용O)

     

    -- ***art_book의 값 (null허용X)

    ERROR
    데이터값이 전부 들어가 오류가뜨지않음

     

     

    2-1. 특정 요구 삽입 -> dafault 값 추가

    not null과 default값을 함께 설정하지 않아야 함.

     

    dafault값을 cost에 설정해두었기 때문에 0값이 나타남.

    (데이터를 꼭 가져야하는 값이 있다면,  not null을 쓰거나,  default값을 쓰거나.)

     

     

     


     

    3. 데이터 삭제 및 추가

     

    3-1. 데이터 삭제 (delete)

     

    위와 같은 내용을 데이터베이스에 옮김

     

    ---▼

    삭제 :  delete from book_list where num=3;

    delete from <테이블명> where 컬럼명=컬럼;

     

     

    3-2. 데이터 변경 (update)

    update <테이블이름> set <선택데이터>='<바꿀 이름>' where <위치컬럼명>

    update book_list set tiltle='그림으로보는책', cost=3000 where author='임꺽정';

    ㄴ임꺽정에만 책 제목과 가격이 변경됨.

     

    where 사용 -> 특정 데이터만 선택됨
    where 사용 X -> (delete/테이블 안 데이터 전부 삭제됨) / (update/테이블 안 데이터 전부 변경됨)

     

     

     

    3-3. 원하는 데이터만 출력하기 (select)

    비교연산자를 활용한 데이터출력

    select * from book_list where cost>20000;

     

    조건을 걸어 원하는 데이터만 출력 (20000보다 큰 데이터들을 출력)


    비교연산자를 활용한 where 데이터 출력 방식들 ▼

     

    ex 1) 조건 : 책 가격이 30000보다 작은 책들을 출력

     

    ex 2) 조건 : 책 가격이 30000보다 작거나 같은 책들을 출력

     

    다름을 표기하는 연산자들
    != 같지않다

    <> 다르다

     

    3-4. 전체 데이터 값 바꾸기

    결과값

    각 책의 가격에 2000씩 증가함

     

    문제


    문제 : 책 가격이 4500이상인 책의 num에 +100으로 변경하시오.

    set 뒤에는 where이 오지 않음.
    update <테이블 이름> set <변경할 컬럼> where(어디에?) <선택된 컬럼식>;




    문제 : 책 가격이 5000원 이하인 책은 삭제하시오.

    delete from <테이블이름> where <변경할컬럼식>;

    문제 : 전체 데이터 10개 저장하기/나이는 2~3명 중복/birth의 년도 도 몇 명 중복

    테이블설정
    테이블 데이터집어넣기
    데이터 집어넣어 뽑기


    문제 1) 나이가 25살 이상인 사람만 출력

    A = select * from member where age>=25;

    문제 2) 나이가 26살 미만인 사람의 전화번호만 출력

    * 자리에 원하는 컬럼명 적기


    A =  select tel from member where age<26;

    문제 3) 태어난 년도가 2000 이후 출생인 사람의 나이를 -1 하여 변경


    A = update member set age=age-1 where birth/10000>2000;

    생일의 태어난 년도 4자리만 보여주기 위해 나누기 1000

    문제 4) 나이가 24살인 사람들 전부 삭제

    A = delete from member where age=24;

    문제 5) 나이가 27살인 사람들 num의값을 +10 증가하여 출력

    A = select num+10 from member where age=27;
    select num+10 as num from member where age=27;

    문제 6) 나이 25세부터 brith의 생년월일을 20020101로 변경

    A = update member set birth='20020101' where age>25;

    문제 7) 나이가 27세인 사람의 이름과 전화번호 출력 (저장된 나이 중 가장 높은 연령대)

    A = select name, tel from member where age=27;


     

     

    (원래 데이터 변동 X) select를 이용한 데이터값 변경

     

     

     

    3-5. as를 활용한 한시적 이름 변경

     

    select <컬럼명> as <바꿀이름> from <테이블명>;

     


     

    4. select 연산자를 이용한 계산

     

     

     

    👌 오늘의 과제
    - 이번주에 다룬 내용 월요일에 초기화 되지 않게 복습하기
    - 자료구조의 종류와 특징에 대한 조사 레포트
    (한글 A4 기본 용지설정, 글씨크기 11pt 기준 2페이지 이상)
    >>>>>>>>> 레포트는 월요일 점심 전까지 공유폴더의 과제 폴더에 각자 이름 폴더에 넣으면 된다.

     

     

Designed by Tistory.