상세 컨텐츠

본문 제목

[MySQL] 데이터베이스 test.1

MySQL

by 주초위왕 2023. 3. 19. 22:36

본문

1.   회원을 저장할 테이블을 작성해보자.

 

                 테이블명: Member

userid: 아이디, 문자열 20byte 기본키

userpw: 비밀번호, 문자열 200byte null 허용 하지 않음

username: 이름, 문자열 20byte null 허용하지 않음

hp: 연락처, 문자열 20byte null 허용하지 않음

email: 이메일, 문자열 50byte null 허용하지 않음

gender: 성별, 문자열 10byte null 허용하지 않음

ssn1: 주민등록번호 앞자리, 문자열 6byte null 허용하지 않음

ssn2: 주민등록번호 뒷자리, 문자열 7byte null 허용하지 않음

zipcode: 우편번호, 문자열 5byte

address1: 주소, 문자열 100byte

address2: 상세주소, 문자열 100byte

                      address3: 참고사항, 문자열 100byte

                      regdate: 등록날짜, 날짜형식 기본값 now()

                      point: 포인트, 정수 기본값 0

 

 :

 

create table Member (

   mem_userid varchar(20) primary key,

   mem_userpw varchar(200) not null ,

   mem_username varchar(20) not null,

   mem_hp varchar(20) not null,

   mem_email varchar(50) not null,

   mem_gender varchar(10) not null,

   mem_ssn1 char(6) not null,

   mem_ssn2 char(7) not null,

   mem_zipcode char(5),

   mem_address1 varchar(100),

   mem_address2 varchar(100),

   mem_address3 varchar(100),

   mem_regdate datetime default now(),

   mem_point int(11) default 0,

 

);

 

 

 

2. 테이블에 아래와 같이 데이터를 저장합니다.

(단, regdate는 현재 날짜 및 시간을 자동저장하고, point에는 기본값 0이 저장되도록 함)

 

답 :

 

 

3. member 테이블에 아래 컬럼을 추가합니다.

mbti : 엠비티아이, 문자열 10byte

 

ALTER TABLE Member ADD mbti varchar(100) NOT NULL;

 

 

4. 여성들의 point는 100으로 남성들의 point는 50으로 변경합니다.

 

update Member set mem_point = 500 where mem_gender = '여자';

update Member set mem_point = 100 where mem_gender = '남자';

 

SELECT mem_username, mem_point FROM Member;

 

5. berry 고객의 주소(zipcode, address1, address2, address3)를 모두 null로 변경합니다.

update Member set mem_zipcode = not null, mem_address1 = not null, mem_address2 = not null, mem_address3 = not null where mem_userid = 'berry';

 

6. 아이디에 ‘a’ 가 포함된 모든 고객의 정보를 출력합니다.

 

SELECT mem_userid, mem_userpw, mem_username, mem_hp, mem_email, mem_gender,

mem_ssn1, mem_ssn2, mem_zipcode, mem_address1, mem_address2, mem_address3  FROM Member

WHERE mem_userid LIKE '%a%';

 

7. 고객의 이름으로 오름차순 정렬합니다.

 

 SELECT * FROM Member ORDER BY mem_username;

 

8. 전체 고객이 모두 몇명인지 집계함수를 사용하여 출력합니다.

 

SELECT COUNT(*) FROM Member;

 

 

9. 남자와 여자로 그룹을 나눠 남자, 여자의 포인트 합계를 구하여 출력합니다.

 

SELECT mem_gender FROM Member GROUP BY mem_gender;

SELECT mem_gender, SUM( mem_point ) FROM Member GROUP BY mem_gender ORDER BY SUM( mem_point ) DESC;

 

반응형

관련글 더보기

댓글 영역