TIL : 210722_목_(SQL)

beablessing·2021년 7월 24일
0

TIL

목록 보기
26/33
post-thumbnail

오늘배운것

  • sql 기본개념
  • mysql설치
  • 데이터베이스 관련 명령어 (데이터베이스 생성 등)
  • sql 명령어 basic

SQL

  • 데이터베이스
    in-memory( 끄면 데이터 휘발 : 임시저장 ),
    file I/O('데이터 전체'를 단위로 운용 like 엑셀파일 : 필터링 불가)
    이 두가지의 단점을 커버하는 database가 있다.

  • SQL
    Structured Query Language 구조화된 query 언어.
    즉, 데이터베이스용 프로그래밍 언어.
    (query란 ? 저장되어있는 정보를 필터하기 위한 질의문)
    쿼리를 보내 데이터를 삽입하거나 가져올 수 있다

server에서 전달하는 언어가 SQL(SELECT~~)

mysql설치하기

우분투로 mysql 설치
참고사이트)
https://docs.rackspace.com/support/how-to/installing-mysql-server-on-ubuntu/

[apt-get(Advanced Package Tool)을 이용한 설치]

  1. sudo apt-get update
    패키지 인덱스 정보 업데이트
  2. sudo apt-get install mysql-server
    mysql서버를 인스톨
  3. sudo systemctl start mysql
    mysql서버 실행
  4. mysql -u root (비번설정 안되어있을때 이 명령어로 접속가능.)
    sudo mysql -u root -p
    mysql 접속하기(꼭 sudo를 써줘야 원활하게 작동된다)
    : 설치하면 root의 암호는 비어있음
  5. ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'yourPassword';
    비밀번호 설정해주기
  6. flush privileges
    변경된 권한을 설정한다.

써야하는 경우가 있고, 필요없는 경우가 있던데 더 알아봐야할것같다..

  1. 아래 명령어 둘을 실행해서 비밀번호가 잘 설정되었는지 확인할 수 있음.
    mysql> USE mysql;
    mysql> SELECT User, Host, plugin FROM mysql.user;


위. 비번설정 전 이미지 (root의 plugin이 'auth_socket'으로 되어있음)
위. 비번설정 후 이미지 (root의 plugin이 'native_pwd'으로 바뀜)

  1. mysql 나가기
    exit

데이터베이스 사용하기

[데이터베이스 사용하기 위한 기본작업]

  1. 데이터베이스 생성
    CREATE DATABASE 데이터베이스_이름 ;
  2. 데이터베이스 사용
    USE 데이터베이스_이름 ;
  3. 테이블 생성
    CREATE TABLE user (
      id int PRIMARY KEY AUTO_INCREMENT,
      name varchar(255),
      email varchar(255)
    );
  1. 테이블 정보 확인
    DESCIBE 테이블_이름 ;

SQL 명령어 basic

  • *
    와일드카드임
  • SELECT
    데이터셋에 포함될 특성을 특정.
  • FROM
    FROM뒤에 데이터베이스 테이블명을 붙여 테이블을 특정.
  • WHERE
    필터역할을 함.

[특정값을 가진 값들]

SELECT 특성1
FROM 테이블이름
WHERE 특성1="특정값";

[특정 문자열로 시작하는]

SELECT 특성_1, 특성_2
FROM 테이블_이름
WHERE 특성_2 LIKE "특정 문자열%"
  • ORDER BY
    정렬
  • LIMIT
    데이터갯수 지정 (쿼리문 가장 마지막에 작성)
  • SELECT DISTICT
    중복되지 않도록 값을 가져옴
  • INNER JOIN ON (JOIN으로 대체 가능)
  • OUTER JOIN ON

JOIN 명령어 확인 사이트
https://sql-joins.leopard.in.ua/

profile
프론트엔드 개발자

0개의 댓글