728x90
반응형
SMALL
# 데이터베이스 확인하기
# ; 원래 프로그래밍 할때는 사용하지 않지만 워크벤치에서는 명령어를 실행한줄에 마지막에 사용해야 오류가 안남.
show databases; 

# 데이터베이스 생성하기
# create database 데이터베이스명;
create database kdt;

# 데이터베이스 삭제하기
# drop database 데이터베이스명;
drop database kdt

# 데이터베이스 선택하기
# use 데이터베이스 명
use kdt;

 

 

테이블 만들기
기본형태:
create table 테이블명(
필드명 자료형 조건형,
필드명2 자료형2 조건형2,
....
)
create table member(
	userid varchar(20) primary key,
    userpw varchar(200) not null,
    username varchar(20) not null,
    hp varchar(20) not null,
    email varchar(50) not null,
    gender varchar(10) not null,
    ssn1 varchar(6) not null,
    ssn2 varchar(7) not null,
    zipcode varchar(5),
    address1 varchar(100),
    address2 varchar(100),
    address3 varchar(100),
    regdate datetime default now(),
    point int default 0
);
테이블 확인하기

# desc 테이블명

desc member

테이블 삭제하기

# drop table 테이블명
drop table member

테이블 필드 추가

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

alter table member add mbti varchar(10)

테이블 필드 수정하기 

# alter table 테이블명 modify column 컬럼명 데이터타입 제약조건
alter table member modify column mbti varchar(20)

테이블 필드 삭제

# alter table 테이블명 drop 테이블명
alter table member drop mbti

테이블에 데이터 삽입하기

# insert into 테이블명 values (값1,값2,값3, ..)테이블의 필드수에 맞게
# insert into 테이블명 (필드명1, 필드명2, 필드명3...) values (값1, 값2, 값3...)

insert into member values ('apple', '1234', '김사과', '010-1234-1234', 'apple@apple.com', '남', 991234, 1010101, 07366, '서울시 서초구 방배동', '길길로', '사과아파트 101동101호', null, null);

데이터 삭제하기
delete from 테이블명;  모든데이터가 다 사라짐
delete from member;  /*Error Code: 1175. You are using safe update mode and you tried to update 
                                    a table without a WHERE that uses a KEY column.  
                                    To disable safe mode, toggle the option in Preferences -> 
                                    SQL Editor and reconnect.*/
					 모든 데이터를 날리는것이 위험하니까 안된다.
                     Edit 탭에서 프리퍼런스에서 sql에서 안전체크해제하면됌
조건절

delete from 테이블명 where 조건절

delete from member where userid = 'apple';  # userid가 apple인 사용자의 데이터를 삭제한다.

데이터 수정하기

# update 테이블명 set 필드명1 = 값1, 필드명2 = 값2 ...
# update 테이블명 set 필드명1 = 값1, 필드명2 = 값2 ... where 조건절;
update member set point = 100

여자한테만 포인트 추가해주기

update member set point = point + 200 where gender = '여'; # inplace 연산을 해줘야함

 

orange 회원의 우편번호를 '12345', 주소1은 '서울시 서초구', 주소2는 '양재동', 주소3= '아파트 101동 101호'

update member set zipcode = '12345', address1 = '서울시 서초구', address2 = '양재동', address3 = '아파트 101동 101호' where userid = 'orange';

728x90
반응형
LIST

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

MySQL- View  (0) 2023.03.21
MySQL- 사용자 추가하기  (0) 2023.03.21
MySQL- 데이터 조작(select)  (0) 2023.03.16
MySQL- 연산자  (0) 2023.03.16
RDBMS - MySQL 정리  (0) 2023.03.15
728x90
반응형
SMALL

목차

  1. 테이블
  2. 스키마
  3. 테이블 만들기
  4. 데이터 타입
  5. 이진 데이터 타입
  6. 날짜 데이터 타입
  7. 제약 조건(constraint)
    1. not null
    2. unique
    3. primary key
    4. foreign key
    5. default
    6. enum

 

1. 테이블(table)

데이터를 행과 열로 스키마에 따라 저장할수 있는 구조
(엑셀의 시트와 같다)

2. 스키마(schemas)

데이터 베이스의 구조와 제약조건에 관한 명세를 기술한 집합의 의미
(전체적인 구조와 그 구조를 만들때의 조건같은것)

3. 테이블 만들기

create table 테이블명 (
필드명1 데이터타입 제약조건,
    (행)  (ex: int) (절대 데이터가 비면안돼, 숫자가 자동으로 증가할거야 등등)
    필드명2 데이터타입 제약조건,
    ....
    필드명n 데이터타입 제약조건
)

4. 데이터 타입(data type)


-숫자형 타입

    tinyint:          정수형 데이터 타입(1byte), -128 ~ 127 표현
    smallint:       정수형 데이터 타입(2byte), -32768 ~ 32767 표현
    mediumint:   정수형 데이터 타입(3byte), -8388608 ~ 8388607 표현
    int:                정수형 데이터 타입(4byte), 어쨋든 큼 -21 ~ 21억  
                      # 다른 프로그램에서도 int형이 기본값이기 때문에 보통 int를 디폴트로 사용하는것을 권장
    bigint:           정수형 데이터 타입(8byte), 대충 무제한
    float:             부동소수형 데이터 타입(4byte)
    decimal        (길이, 소수): 고정소수형 데이터 타입 (길이 + 1byte)
    double:         부동 소수형 데이터 타입(8byte) # 실수형에서는 더블이 가장 기본형이기때문에 속도가 빠르다


    -문자형 타입

    char(케릭터로 보통읽음): 고정길이 데이터 타입(최대 255byte 까지 저장가능)
                                           # 단점: 지정된 길이보다 짧은 데이터 입력시 나머지 공간을 공백으로 채움
    varchar:                             가변길이 데이터 타입(최대 65535byte)
                                           # 지정된 길이보다 짧은 데이터 입력시 나머지 공간은 채우지 않음
    text:                                   문자열 데이터 타입(최대 65535byte)
    longtext:                            무제한 문자열 데이터 타입

 

5. 이진 데이터 타입

# 0, 1로 된 데이터
# 영상, 음악,등등이 담겨질수 있는데이터 타입,
# 보통 영상,이런 파일들은 서버의 디렉토리(폴더)에 저장되어있고 DBMS에서는 그 주솟값만 저장하여 사용한다.

    binary or byte: char의 형태의 이진 데이터 타입, (최대 255byte)
    varbinary:        varchar의 형태의 이진데이터 타입(최대 65535byte)

6. 날짜 데이터 타입

    date:           날짜(연,월,일) 형태의 데이터 타입(3byte)
    time:           시간(시,분,초) 형태의 데이터 타입(3byte)
    datetime:    날짜와 시간 형태의 데이터 타입(8byte) 
    timestamp: 1970년 1월 1일 0시 0분 0초 부터 시작한 ms 타입의 시간이 저장(4byte)

7. 제약 조건(constraint)

데이터의 무결성을 지키기 위해 데이터를 입력받을때 실행되는 검사규칙을 의미


7-1 not null:
      - null 값을 허용하지 않음
      - 중복값을 허용
7-2 unique:
      - 중복값을 허용하지 않음
      - null 값을 허용
      - 유니크 제약조건뒤에 not null도 같이 사용가능
7-3 primary key:
      - null 값을 허용x
      - 중복값 허용x
      - 테이블에 단 하나만 사용가능
      - 테이블의 대표

7-4 foreign key
     - primary key를 가진 테이블과 연결하는 역할
      (ex. 테이블이 서로 다를경우, 게시판에서 회원만 글 작성 가능하게 하고싶을때

             회원id에 프라이머리, 게시판쪽에 foreign key 넣어주면됌)

7-5 default
      - null 값을 삽입할 때 기본이 되는 값을 저장할 수 있게 함

7-6 enum
      - 원하는 범위를 설정하고 해당 범위의 값만 저장 

      # (왠만하면 안씀, 권장하지 x )
      ex) enum('남자', '여자') 하면 남자,여자 여야만 저장가능 아니면에러
 

728x90
반응형
LIST

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

MySQL- View  (0) 2023.03.21
MySQL- 사용자 추가하기  (0) 2023.03.21
MySQL- 데이터 조작(select)  (0) 2023.03.16
MySQL- 연산자  (0) 2023.03.16
MySQL - table  (0) 2023.03.15
728x90
반응형
SMALL

목차

  1. DBMS를 사용하는 이유
  2. 데이터베이스 모델(database model)
  3. 데이터베이스 종류
  4. 서버(Server)란?
  5. 클라이언트(Client)란? 
  6. Port 번호
  7. Localhost
  8. 관계형 데이터베이스 (RDBMS)
  9. SQL (Structured Query Language)

 

 

 

1.  DBMS를 사용하는 이유

- 중복된 데이터를 제거 또는 관리
- 효율적인 데이터를 처리
- 자료를 구조화 시킬 수 있음
- 다양한 프로그램을 사용하는 사용자들과 데이터를 공유

 

 

 

2. 데이터베이스 모델

- Relational:
                  관계형(SQL이라는 언어를 사용하는 특징이 있다.), 안정성은 높은데 속도가 좀 느리다.
- Document:
                  메모장에 저장하듯이 막때려넣고 불러올때는 굉장히 빠르게, 주식,sns,채팅등에서 많이 사용.

 

 

3. 데이터베이스 종류

- Oracle
- MySQL
- PostgreSQL
- MongoDB
- Elasticsearch
- MariaDB

 

 

4. 서버(Server)란?

- 정보를 제공하는 쪽
- 서버를 이용하기위해서 사용자는 설치를 할 필요 없음

 

 

5. 클라이언트(Client)란?

- 정보를 요청하는 쪽

 

 

6. Port 번호

- IP 주소를 가지고 서버의 랜카드까지 도달 후 원하는 프로그램에 도달하게 할 수 있는 번호
- 중복 시 둘 중 하나가 사용불가

 

 

7. Localhost

- 내 컴퓨터를 나타내는 IP 주소

 

 

8. 관계형 데이터베이스 (RDBMS)

  • 데이터베이스를 -> Table (엑셀과 비슷)
  • 행 (row, record), 열 (field, column)
  • SQL 언어를 사용

 

9. SQL (Structured Query Language)

  • 데이터베이스에서 데이터를 정의, 조작, 제어 하기 위해 사용하는 언어
  • 대소문자를 구별하지 않음
  • 문자열을 저장할 때 '  ' (싱글 쿼트)만 사용
  • 주석문:

                   한 줄 주석문 (# or --)

                   여러줄: /* , */ 로 시작과 끝을 감싼다

728x90
반응형
LIST

+ Recent posts