본문 바로가기
데이터베이스

SQL 테이블 생성과 데이터 삽입

by 코낄2 2023. 9. 18.

1. 데이터 베이스 확인 하고 만들기

  • 데이터베이스 확인하기 : 존재하는 데이터 베이스들을 보여준다.
    show databases;
  • 데이터베이스 만들기
    create database 데이터베이스명;

2. 테이블 만들기

테이블은 MySQL과 같은 데이터베이스에서 데이터를 저장하는 표 형식의 구조입니다. 각 가로 행(레코드,로우)은 항목(데이터)을 나타내고, 각 세로 열(필드,칼럼)은 항목의 유형을 정의합니다. 이러한 테이블을 사용하여 데이터를 구성하고 관리할 수 있습니다.

  • 데이터 베이스 선택
    use 데이터 베이스명;
  • 테이블 만들기

creat table 테이블명(
        필드명1 데이터타입 제약조건,
        필드명2 데이터타입 제약조건,
        필드명3 데이터타입 제약조건,
        ...
        필드명n 데이터타입 제약조건
    );

2. 테이블 수정 및 삭제하기

  • 테이블 확인하기
    desc 테이블명;
  • 테이블 삭제하기
    drop table 테이블명;
  • 필드 추가하기
    alter table 테이블명 add 컬럼명 데이터타입 제약조건;
  • 필드 수정하기
    alter table 테이블명 modify column 컬럼명 데이터타입 제약조건;
  • 필드 삭제하기
    alter table 테이블명 drop 컬럼명;

3.  데이터 타입

    (많이 쓰이는 타입에 *표시)

1. 숫자형 타입

  • tinyint: 정수(1byte)(입력할 수 있는 숫자 '값'의 범위: -128 ~ 127)
  • smallint: 정수(2byte), -32768 ~ 32767 (값의 범위이지 데이터 갯수제한이 아님)
  • *int: 정수(4byte), 약 -21억 ~약 21억
  • *bigint: 정수(8byte), 거의 무제한
  • float: 부동 소수형 데이터(4byte)
  • *double: 부동 소수형 데이터 타입(8byte)
  • decimal(길이,소수): 고정 소수형 데이터(지정한 길이와 소수 자릿수를 무조건 맞춰서 보여줌. 예/ 1.000000000)

2. 문자형 타입

  • chr: 고정 길이 데이터 타입(최대 255byte)
            지정된 길이보다 짧은 데이터를 입력해도 나머지 공간을 채움
  • *varchar:가변 길이 데이터 타입(최대 65535byte)
            지정된 길이보다 짧은 데이터를 입력해도 나머지 공간을 채우지 않음
  • text: 문자열 데이터 타입(최대 65535byte)
  • longtext: 무제한 문자열 데이터 타입

3. 이진 데이터 타입

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

4. 날짜 데이터 타입

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

4. 제약 조건(constraint)

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

  • not null
        - null 값을 허용하지 않음, 중복값은 허용
  • unique
        - 중복값을 허용하지 않음, null 값은 허용
  • primary key(기본키)
        - null 값을 허용하지 않음
        - 중복값을 허용하지 않음
        - 테이블 당 단 하나만 설정 가능
        - foreign key(참조키)와 쌍으로 연결됨
        - 인덱싱을 설정(인덱싱을 걸어둔 컬럼을 기준으로 데이터를 찾으면 속도가 훨씬 빠르다)
  • foreign key(참조키)
        - primary key를 가진 테이블과 연결하는 역할
  • default
        -null 값을 삽입할 때,기본이 되는 값을 설정함
  • enum (권장X)
        -원하는 범위를 설정하고 해당 범위의 값만 저장 

5. 데이터 삽입하기

    ***쿼리(Query) : SQL 문장.

insert into 테이블명 values (값1, 값2, 값3 ...)필드 갯수에 맞춰서 값을 모두! (default 값이 있거나 null이 허용 되더라도) 써주어야한다.

insert into 테이블명(필드명1, 필드명2, 필드명3...) values (값1, 값2, 값3...)

입력한 필드명에 맞춰서만 값을 써주면 된다. default 값이 있거나 null이 허용되는 필드는 생략 가능하다.

 

 

'데이터베이스' 카테고리의 다른 글

SQL 문자열 함수/Union/View  (0) 2023.09.20
MySQL join과 데이터 (비)정규화  (0) 2023.09.20
MySQL 조건절과 그룹함수  (0) 2023.09.20
SQL 데이터 수정,삭제,검색,연산  (0) 2023.09.19
데이터베이스(MySQL)  (0) 2023.09.18