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;
[MySQL] group by (0) | 2023.03.20 |
---|---|
[MySQL] 회원가입 데이터베이스 테이블 만들기 JOIN(3) (0) | 2023.03.19 |
[MySQL] 회원가입 데이터베이스 테이블 만들기 (2) (0) | 2023.03.17 |
[MySQL] 회원가입 데이터베이스 테이블 만들기 (1) (0) | 2023.03.16 |
[MySQL] 제약조건 (0) | 2023.03.15 |
댓글 영역