ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 1. SQL이란?
    (신) Spring/웹 백엔드 2021. 8. 2. 23:20

     

     

    SQL(Structured Query Language)

     

    SQL은 데이터를 보다 쉽게 검색하고 추가, 삭제, 수정 같은 조작을 할 수 있도록 고안된 컴퓨터 언어이다. 또한 관계형 데이터베이스에서 데이터를 조작하고 쿼리하는 표준 수단이다.

     

     

    DML(Data Manipulation Language / 데이터 조작어)

     

    데이터를 조작하기 위해 사용한다. INSERT, UPDATE, DELETE, SELECT 등이 여기에 해당한다.

     

    DDL(Data Definition Language / 데이터 정의어)

     

    데이터베이스의 스키마를 정의 하거나 조작하기 위해 사용한다. CREATE, DROP, ALTER 등이 여기에 해당한다.

     

    DCL(Data Control Language / 데이터 제어어)

     

    데이터를 제어하는 언어이다. 권한을 관리하고, 데이터의 보안, 무결성 등을 정의한다. GRANT, REVOKE 등이 여기에 해당한다.

     

    데이터베이스 생성하기

    mysql -uroot -p

     

    mysql 관리자 계정인 root로 데이터베이스 관리 시스템에 접속하겠다는 의미입니다. 그 후 한 칸 내려가게 되면 입력했던 암호를 입력합니다.

    * MariaDB는 mariadb -uroot -p를 입력해서 사용하면 됩니다.

     

    그 후 관리자 계정으로 MYSQL을 접속했다면 데이터베이스를 생성합니다.

     

    CREATE DATABASE DB이름;

     

    우리는 connectdb로 생성하도록 하겠습니다.

     

    connectdb라는 이름의 데이터베이스가 정상적으로 생성이 된 것을 확인할 수 있습니다.

     

     

    DataBase 사용자 생성과 권한 주기

     

    DataBase를 생성했다면 해당 데이터베이스를 사용하는 계정을 생성해야 합니다. 또한 해당 계정이 데이터베이스를 이용할 수 있는 권한을 주어야 합니다.

     

     CREATE USER hello@localhost IDENTIFIED BY 'hello';

     GRANT ALL PRIVILEGES ON connectdb.* TO 'hello'@'localhost';

     flush privileges

     

    위의 명령을 이용해서 사용자 생성과 권한을 줄 수 있습니다. db이름 뒤의 *은 모든 권한을 의미하고 @'%'는 어떤 클라이언트에서든 접근 가능하다는 의미이고 @'localhost'는 해당 컴퓨터에서만 접근이 가능하다는 의미입니다. flush privileges는 DBMS에게 적용을 하라는 의미입니다. 즉 flush privileges를 꼭 실행해줘야 합니다.

    * 사용자 계정은 hello이고 비밀번호도 hello입니다.

     

    mariadb -uhello -p

    -> hello

     

    를 입력하게 되면 우리가 생성한 user 정보로 마리아DB에 접근할 수 있습니다.

     

    DB를 종료할 때는 exit나 ctrl + c를 누르면종료할 수 있습니다.

     

     

    MySQL 버전과 현재 날짜 구하기

     

    SELECT version(), current_date;를 입력하면 버전과 현재 날짜에 대해서 정보를 얻을 수 있습니다.

     

     

    DBMS에 존재하는 데이터베이스 확인하기

     SHOW databases;

     

    사용중인 데이터베이스 전환하기

     

    use 데이터베이스명;

     

    데이터베이스에 접속하려면 이미 DB가 존재해야하며, 사용자가 접근 권한이 있어야 합니다.

     

     

    테이블의 구성요소

     

    테이블은 RDBMS의 기본적 저장구조입니다. 한 개 이상의 컬럼과 0개 이상의 로우로 구성됩니다. 열(Column)은 테이블 상에서의 단일 종류의 데이터를 나타냄, 행(Row)는 Column드의 값의 조합(레코드라고도 불림) Row는 PK에 의해 구분된다. Field는 Row와 Column의 교차점으로 Field는 데이터를 포함할 수 있고 없을 때는 Null 값을 가지고 있다고 한다.

     

    현재 데이터베이스에 존재하는 테이블 목록 확인하기

     

    SHOW tables

     

    아직 테이블을 생성하지 않았기 때문에 따로 생성이 된 것은 없습니다.

     

     

    SQL 파일로 DB 저장하기

     

    터미널로 찾아가기 쉬운곳에 SQL 파일을 저장한 후 그 경로에서 mariadb를 접속을 해줍니다. 그 후

     

    use connectdb

    source SQL파일명

     

    SQL 파일이 적용이 되는 것을 확인을 할 수 있습니다.

    파일을 로드한 것만으로 아까는 없었던 여러 개의 테이블이 생긴 것을 확인할 수 있습니다.

     

    테이블 구조 확인

     

    DESC bonus;

     

    테이블 구조를 확인하기 위해 DESCRIBE 명령을 사용할 수 있고 DESC라고 사용해도 됩니다.

     

Designed by Tistory.