[MySQL] Day1

ITselfhiam
|2023. 9. 18. 16:06

1. SQL 문법

주석문 : # 또는 --, (한줄 주석문), /* */ (여러줄 주석문)을 사용할 수 있습니다.

sql은 대,소문자를 구분하지 않습니다.

문자열을 저장할 때 ''(작은 따옴표만 사용이 가능합니다.), oracle은 ""도 입력이 가능하지만 mysql은 작은따옴표만 사용이 가능합니다.

 

기본적으로 mysql을 설치 후 데이터 베이스를 확인을 해보겠습니다.

1. 데이터베이스 확인하기

show databases;

맥북은 쿼리를 실행을 할때 command + enter를 이용하여 쿼리를 실행 할 수 있습니다.

추가 : 모자이크된 부분은 제가 만든 테이블이여서 처음에 확인을 하시는경우는 information_schema, mysql, performance_schema, sys만 존재합니다.

 

2. 데이터베이스 만들기

만드는방법 : create database 데이터베이스명;

create database kdt;

 

3. table 만들기

테이블 : 데이터를 행(레코드, 로우)와 열(컬럼, 필드)로 스키마에 따라 저장할 수 있는 구조

스키마 : 데이터베이스의 구조와 제약조건에 관한 명세를 기술한 집합

 

     create table 테이블명 (

     필드명1 데이터타입 제약조건,

     필드명2 데이터타입 제약조건,

     필드명3 데이터타입 제약조건,

)

4. 데이터베이스 선택

-- use 데이터베이스명

use kdt;

# 자신이 만든 데이터베이스를 선택을 하여 활성화를 한다고 생각하면 됩니다.

 

5. 테이블 만들기

회원가입 테이블을 만들겠습니다.
예) 아이디, 비밀번호, 이름, 휴대폰번호, 이메일, 성별, 주민번호앞자리, 주민번호뒷자리, 우편번호, 주소, 상세주소, 참고사항, 가입날짜,

포인트점수 

create table member (
userid varchar(20) primary key,
    userpw varchar(20) not null,
    name varchar(20) not null,
    hp varchar(20) unique not null,
    email varchar(50) not null,
    gender varchar(10) not null,
    ssn1 char(6) not null,
    ssn2 char(7) not null,
    zipcode varchar(5),
    address1 varchar(100),
    address2 varchar(100),
    address3 varchar(100),
    regdate datetime default now(),
    point int default 0
);

 

위 같은 형식으로 만들면 됩니다.

 

6. 테이블 확인하기

desc 테이블명;

desc member;

 

7. 테이블 삭제하기

drop table 테이블명;

drop table member;

 

8. 필드 추가하기

alter table 테이블명 add 컬럼명 데이터타입 제약조건;

alter table member add mbti varchar(10);

 

9. 필드 수정하기

alter table 테이블명 modify column 컬럼명 데이터타입 제약조건

alter table member modify column mbti varchar(20);

 

10. 필드 삭제하기

alter table 테이블명 drop 컬럼명;

alter table member drop mbti;

 

11. 데이터 삽입하기
쿼리(Query) : sql문장을 쿼리라고함.
    아래의 쿼리는 모든 테이블의 값을 넣어줄때 사용
    insert into 테이블명 values(값1, 값2, 값3, ....)
    
    아래의 쿼리는 자신이 원하는 필드의값만 넣을때 사용.
    insert into 테이블명 (필드명1, 필드명2, 필드명3) values (값1, 값2, 값3, ...)

11-1. 테스트를 위한 word 테이블 생성
create table word(
eng varchar(50) primary key,
    kor varchar(50) not null,
    lev int default 1
);

 

11-2. 생성된 테이블에 값 추가
insert into word values ('apple', '사과', 1);

 

# insert 테스트
insert into word values ('banana', '바나나', null);
-- null을 넣으면 default가 작동하지 않고 바로 null값이 들어가가 된다.

insert into word (eng, kor, lev) values ('orange', '오렌지', 1);

-- default로 알아서 1을 넣어줌.
insert into word (eng, kor) values ('melon', '메론');

insert into word (lev, eng, kor) values (1, 'cherry', '체리');

 

11-3. word 테이블 select문으로 검색
select * from word
order by eng;
# order by는 select문에서 검색 후 정렬을 할때 사용합니다.

 

데이터 삽입 실습
사용자의 아이디는 아래의 단어를 사용하여 등록을 합니다.

[apple, banana, orange, melon, avocado]

 

실습 쿼리
insert into member (userid, userpw, name, hp, email, gender, ssn1, ssn2, zipcode, address1, address2, address3) values ('apple', '1234', '김사과', '010-1111-1111', 'apple@naver.com', '남자', '010809', '1111111', '123', '어디어디', '무슨무슨', '집이라넹');
insert into member (userid, userpw, name, hp, email, gender, ssn1, ssn2, zipcode, address1, address2, address3) values ('banana', '5678', '바나나', '010-2222-2222', 'banana@naver.com', '여자', '010809', '222222', '456', '어디어디', '무슨무슨', '집이라넹');
insert into member (userid, userpw, name, hp, email, gender, ssn1, ssn2, zipcode, address1, address2, address3) values ('orange', '1234', '오렌지', '010-3333-3333', 'orange@naver.com', '남자', '010809', '3333333', '789', '어디어디', '무슨무슨', '집이라넹');
insert into member (userid, userpw, name, hp, email, gender, ssn1, ssn2, zipcode, address1, address2, address3) values ('melon', '5678', '멜론', '010-4444-4444', 'melon@naver.com', '여자', '010809', '4444444', '123', '어디어디', '무슨무슨', '집이라넹');
insert into member (userid, userpw, name, hp, email, gender, ssn1, ssn2, zipcode, address1, address2, address3) values ('avocado', '1234', '아보카도', '010-5555-5555', 'avocado@naver.com', '남자', '010809', '5555555', '456', '어디어디', '무슨무슨', '집이라넹');

 

이상으로 1일차 교육을 끝냅니다.

'Study > MySQL' 카테고리의 다른 글

[MySQL] MySQL 각종 명령어, 백업방법  (0) 2024.01.08
[MySQL] Day3  (0) 2023.09.20
[MySQL] Day2  (0) 2023.09.19
MAC mysql 설치방법  (0) 2023.09.18