ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • SQL) 데이터베이스 및 테이블
    SQL 2023. 3. 11. 01:54
    기본개념

    데이터베이스: 여러 사람이 공유하여 사용할 목적으로 체계화해 통합, 관리하는 데이터의 집합체

    DBMS: 사용자, 데이터베이스 사이에서 사용자의 요구에 따라 정보 생성, 데이터베이스 관리해주는 소프트웨어

    ->MySQL도 DBMS에 해당

    관계형데이터베이스(RDB): 서로간에 관계가 있는 데이터 테이블들을 모아둔 데이터 저장공간

    SQL(Structured Query Language): 데이터베이스에서 데이터 정의, 조작, 제어하기 위해 사용하는 언어


    SQL 구성

    - 데이터 정의 언어(DDL): CREATE, ALTER, DROP

    - 데이터 조작 언어(DML): INSERT, UPDATE, DELETE, SELECT

    - 데이터 제어 언어(DCL): GRANT, REVOKE, COMMIT, ROLLBACK


    데이터베이스 관리

    - root 계정으로 mysql에 접속

    % mysql -u root -p
    Enter password:

    - 현재 database 목록 확인

    show databases;

    - database 이름 지정하여 생성

    create database dbname;

     

    - 해당 데이터베이스로 이동(사용)

    use dbname;

    - database 삭제

    drop database dbname;

    User 관리
    use mysql;
    select host, user from user;

    - 현재 pc에서만 접속 가능한 사용자를 비밀번호와 함께 생성

    create user 'username'@'localhost' identified by 'password';

    - 외부에서 접속 가능한 사용자를 비밀번호와 함께 생성

    create user 'username'@'%' identified by 'password';

    - 접근 범위에 따라 같은 이름의 사용자여도 별도로 삭제

    drop user 'username'@'localhost'
    drop user 'username'@'%'

    User 권한 관리

    - 사용자에게 부여된 모든 권한 목록 확인

    show grants for 'username'@'localhost';

    - 사용자에게 특정 데이터베이스의 모든 권한 부여

    grant all on dbname.* to 'username'@'localhost';

     

    - 사용자에게 특정 데이터베이스의 모든 권한 삭제

    revoke all on dbname.* from 'username'@'localhost';

    - 새로고침

    Flush privileges;

     

    실습할 데이터베이스 생성

    - utf8mb4: 해당 데이터베이스에서 사용할 데이터타입 / 다국어, 이모지 지원

    create database zerobase default character set utf8mb4;

    - 테이블 생성: use zerobase(사용할 데이터베이스 선택) 후 생성해야 함

    create table tablename
    (columnname datatype,
    columnname datatype,
    ...
    );

    - 테이블 목록 확인

    show tables;

    - 테이블 정보 확인

    desc mytable;

    - 테이블 이름 변경

    alter table tablename rename new_tablename

    - 열 추가

    alter table tablename add column columname datatype;

    - 테이블 열 데이터타입 변경

    alter table tablename
    modify column columnname datatype;

    - 테이블 열 이름 변경

    alter table tablename
    change column old_columnname new_columnname new_datatype;

    - 테이블 열 삭제

    alter table person drop column columnname;

    - 테이블 삭제

    drop table tablename;

    'SQL' 카테고리의 다른 글

    SQL) Python with MySQL/CSV  (0) 2023.03.20
    SQL) RDS 접속, SQL FILE 실행, 백업  (0) 2023.03.17
    SQL) CONCAT, ALIAS, DISTINCT, LIMIT  (0) 2023.03.16
    SQL) union  (0) 2023.03.16
    SQL) 데이터 조작 언어(insert, select, update, delete)  (0) 2023.03.14

    댓글

binlog