Head First SQL 4장, 5장

posted on 13 Jun 2017 under category SQL

  1. 기본키
    • 각 레코드를 식별하는데 사용이 됨.
    • 중복이 되면 안됨.
    • NULL이 되면 안됨.(INSERT(삽입) 할때 값이 있어야함)
    • 값의 변경이 불가능함.
    • AUTO_INCREMENT (자동 값 증가)

  1. ALTER TABLE 기본 문법
    • ALTER TABLE my_contacts ADD phone VARCHAR(20) ;
    • 맨뒤에 FIRST 나 AFTER first_name 처럼 사용 가능하다. (p238)
  2. 테이블 이름 바꾸기
    • ALTER TABLE my_contacts RENAME TO my_contacts2;
  3. ALTER CHANGE
    • 기존 칼럼의 이름과 데이터 타입을 변경(데이터 손실 우려 있음)
    • ALTER TABLE my_contacts CHANGE email email_rename VARCHAR(50) NOT NULL, ADD PRIMARY KEY(email_rename)
      email 칼럼을 email_rename으로 바꾸고 기본키로 바꿈
    • 하나의 SQL문으로 두개의 칼럼 변경
      ALTER TABLE my_contacts CHANGE email email_rename VARCHAR(50), CHANGE last_name last_name_rename VARCHAR(50);
  4. ALTER MODIFY
    • 기존 칼럼의 데이터 타입이나 위치를 변경(데이터 손실 우려)
    • ALTER TABLE my_contacts MODIFY email VARCHAR(100);
  5. ALTER ADD
    • 테이블에 칼럼 추가.
    • ALTER TABLE my_contacts ADD memo VARCHAR(100), ADD school VARCHAR(10);
  6. ALTER DROP
    • 칼럼 삭제 (데이터 손실 우려)
  7. 기본키 없애기
    • ALTER TABLE table_name DROP PRIMARY KEY;

도움이 되는 문자 함수들

  1. RIGHT, LEFT : 오른쪽이나 왼쪽에서 부터 몇글자
    • RIGHT() 와 LEFT 를 사용하면 열로부터 정해진 수의 문자들을 선택 가능.
      SELECT RIGHT(email, 3) FROM my_contacts; <- 뒤에 3개 뽑음
  2. SUBSTRING_INDEX() : 특정 문자나 문자열 앞의 모든 문자열을 반환
    SELECT SUBSTRING_INDEX(email, ‘@’ , 1) FROM my_contacts;
    email 칼럼에서 첫번째 @를 찾아서 앞에있는 데이터를 출력함.

  3. SUBSTRING(‘text’, start_position, length) : text를 start_position 부터 lenght만큼 짜름
    SELECT SUBSTRING(‘1234567890’, 3, 3); -> 결과 : 345

  4. UPPER, LOWER : 대문자, 소문자 변환
    SELECT UPPER(email) FROM my_contacts;

  5. REVERSE(‘text’) : 문자 역순

  6. TRIM, LTRIM, RTRIM : 공백문자 제거 L = Left, R = Right
    SELECT TRIM (‘ ff ‘) -> 결과 : ff

  7. LENGTH : 문자열의 길이 반환(글씨 갯수) SELECT LENGTH(email) FROM my_contacts;
Written by Brody Byun
Please Do not steal content from our website.
Please let me know if you want to take the post.(email or reply)