AI교육과정 - SQL.1

단비·2022년 10월 12일
0

AI교육과정

목록 보기
11/69
  • MySQL 다운로드
    1. https://www.mysql.com/downloads/ 로 이동
    2. MySQL Community (GPL) Downloads로 이동
    3. MySQL Community Server로 이동
    4. Windows(x86, 64bit), MySQL Installer MSI로 이동
    5. Windows(x86, 32-bit), MSI Installer 431.7M 다운
    6. No thanks, just start my download 선택
    7. 아래꺼 선택 Use Legansy(?)

  • DataBase(데이터베이스)
    • Data : 자료
    • DataBase : 저장소, 데이터를 통합해서 관리하는 집합체
    • DBMS(DataBase Management System, 데이터베이스 관리 시스템)
      • 데이터베이스를 관리해주는 소프트웨어
      • DBMS를 사용하는 이유
        1. 중복된 데이터를 제거
        2. 효율적인 데이터 처리
        3. 자료를 구조화 시킬 수 있음
        4. 다양한 프로그램을 사용하는 사용자들과 데이터를 공유
  • Client

정보를 요청 —-→

<—-- 정보를 제공

  • Server

  • 관계형 데이터베이스

    • DataBase → Table(엑셀과 비슷)
      • 행(로우, 레코드), 열(필드, 컬럼, 어트리뷰트)
    • SQL 문법을 사용
  • SQL(Structured Query Language)

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

    • #, -- : 한 줄 주석문
    • /* */ : 여러 줄 주석문
  • 데이터 베이스 확인, 생성, 삭제

    1. 데이터 베이스 확인

      show databases;
    2. 데이터 베이스 생성

      create database 데이터베이스명;
    3. 데이터 베이스 삭제

      drop database 데이터베이스명;
  • 테이블(Table)

    • 데이터를 행과 열로 스키마에 따라 저장할 수 있는 구조

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

      create table 테이블명(
      		필드명1 타입 제약조건, -- 예) no int not null
          필드명2 타입 제약조건,
          ...
          필드명n 타입 제약조건
      )
  • 데이터 타입

    1. 숫자타입
      • 정수
        • tinyint, smallint, meduimint, int, bigint …
      • 실수
        • float, double
    2. 문자타입 [뒤에 (n)를 넣어 문자열의 크기를 지정해줘야함]
      • 텍스트
        • char(사용 메모리가 적어도 지정된 메모리만큼 사용), varchar(가변형이라 사용 메모리가 적을 경우 남은 메모리를 지움, 65535byte까지 저장), text(varchar 보다 용량큼)
          • char(10) → 1byte만 저장하더라도 총 10byte를 소모
          • varchar(10) → 1byte만 저장하면 총 1byte만 소모
      • 바이너리
        • binary, varbinary
      • 열거
        • enum
          • enum(’남자’,’여자’) : 남자, 여자 외엔 입력 불가
    3. 날짜와 시간타입 [연산이 쉬움]
      • 날짜
        • date
      • 날짜와 시간타입
        • datetime, timestamp[(1970년 1월 1일 0시0분0초 ~) ms(밀리초) 123131314512-12312414132 로 시간차를 구함)
  • 제약조건

    • 데이터의 무결성을 지키기 위해 데이터를 입력받을 때 실행하는 검사 규칙
    1. NOT NULL

      • 필드에 NULL값을 저장할 수 없음
    2. UNIQUE

      • 중복된 값을 저장할 수 없음
      • NULL은 저장할 수 있음
    3. DEFAULT

      • 기본값을 설정(NULL을 저장할 때 기본값을 설정)
    4. AUTO_INCREMENT

      • 자동으로 숫자가 증가되어 추가
      • 중복값이 저장되지 않음
      • 직접 데이터를 추가할 수 없음
      AUTO_INCREMENT 를 사용한 필드는 PRIMARY KEY로 등록
      NO INT AUTO_INCREMENT
    5. PRIMARY KEY (기본키)

      • UNIQUE 제약과 NOT NULL 제약을 동시에 적용
      • 테이블에 오직 하나의 필드에만 적용
      • 데이터를 쉽고 빠르게 검색할 수 있도록 설정(색인)
      • 외래키가 참조할 수 있도록 설정
    6. FOREIGN KEY (외래키)

      • 다른 테이블과 연결해주는 역할
      • 기준이 되는 테이블의 내용을 참조해서 레코드를 입력
      • PRIMARY KEY 참조
  • 데이터베이스 선택

    USE 데이터베이스명
  • 테이블 만들기

    1. 테이블 확인

      desc 데이블명
    2. 테이블 삭제

      drop table 테이블명
    3. 테이블 필드 추가

      alter table 테이블명 add 컬럼명 타입 제약조건
      # **alter table tb_member add mem_point int default 0;**
    4. 테이블 필드 수정

      alter table 테이블명 modify column 컬럼명 컬럼타입 제약조건
      # **alter table tb_member modify column mem_point double default 0;**
    5. 테이블 필드 삭제

      alter table 테이블명 drop 컬럼명
      # **alter table tb_member drop mem_point;**
    6. 데이터 삽입

      insert into 테이블명 values (1,2,3 ..)
      insert into 테이블명 (필드명1, 필드명2, 필드명3 ..) values (1,2,3 ..)
      # insert into tb_member (mem_userid, mem_userpw, mem_name, mem_hp, mem_email, mem_ssn1, mem_ssn2) 
      		# values ('apple', '1111', '김사과', '010-1111-1111', 'apple@apple.com', '001011', '4068518');
profile
tistory로 이전! https://sweet-rain-kim.tistory.com/

0개의 댓글