SQL(1~4)

챕터02_01. Database정의

  • Datebase : 여러 사람이 공유하여 사용할 목적으로 체계화해 통합, 관리하는 데이터의 집합체
  • DBMS(Database Management System) : 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해주고 데이터베이스를 관리해주는 소프트웨어
  • 관계형 데이터베이스(RDB) : 서로간에 관계가 있는 데이터 테이블들을 모아둔 데이터 저장공간
  • SQL(Structured Query Language) : 데이터베이스에서 데이터를 정의, 조작, 제어하기 위해 사용하는 언어

SQL 구성
데이터 정의 언어(DDL) : Create, ALTER, DROP 등의 명령어
데이터 조작 언어(DML) : INSERT, UPDATE, DELETE, SELECT 등의 명령어
데이터 제어 언어(DCL) : GRANT, REVOKE, COMMIT, ROLLBACK 등의 명령어

챕터02_02. Database관리

mysql> show databases; 세미콜론(즉시실행)

  • testdb라는 이름의 데이터베이스 생성 및 확인
    CREATE DATABASE testdb;

  • testdb로 이동
    USE testdb;

  • testdb 삭제
    DROP DATABASE testdb;

챕터02_03. User관리

사용자 정보는 mysql에서 관리하므로 일단 mysql 데이터베이스로 이동 후 조회

use mysql;
SELECT host, user FROM user; (user라는 테이블에서 host와 user정보를 가져올거야.)

  • 현재 pc에서 접속 가능한 사용자(noma, 1234)생성
    create user 'noma'@'localhost' identified by '1234';

  • 외부에서 접속 가능한 사용자를 비밀번호와 함께 생성
    create user 'username'@'%' identified by 'password;

  • 삭제 예제(localhost, %)
    DROP USER 'noma'@'localhost'
    DROP USER 'noma'@'%'

챕터02_04. User 권한 관리

  • 사용자에게 부여된 모든 권한 목록을 확인
    : show grants for 'usename'@'localhost';

참고 - 수정내용이 적용되지 않는 경우 새로고침
: FLUSH PRIVILEGES;

  • 사용자에게 특정 데이터베이스의 모든 권한을 부여
    grant all on dbname.* to 'username'@'localhost';

  • 사용자에게 특정 데이터베이스의 모든 권한을 삭제
    : revoke all on dbname.* from 'username'@'localhost';

챕터03_01. table 생성

  • create database zerobase default character set utf8mb4;(다국어를 지원할것이고 이모지 문자도 사용할것이다.)

table : 데이터베이스 안에서 실제 데이터가 저장되는 형태이고, 행과 열로 구성된 데이터모음

show tables;
: table 목록 확인 문법

desc tablename;
: table 정보 확인 문법

챕터03_02. table 변경&삭제

  • ALTER TABLE tablename *테이블 이름 변경
  • RENAME new_tablename

alter table tablename *칼럼추가
add column columnname datatype;

alter table person *수정
modify column agee int:

alter table table name *table column 변경 문법
change column old_columnname new_columnname new_datatype;

alter table tablename *컬럼 삭제 예제
drop column columnname;

drop table tablename; *테이블 삭제

챕터04_01. 실습환경 만들기

zerobase 사용(이동)
use zerobase;

person 테이블 생성(컬럼 정보는 코드참고)
1. create table person
2. (
3. id int, (4번띄우기)
4. name varchar(16),
5. age int,
6. sex char
7.);

Query ok <--떠야 제대로 생성

desc person; (상세정보확인)

챕터04_02. INSERT - 데이터추가

입력한 컬럼 이름의 순서와 값의 순서가 일치하도록 주의

  1. INSERT INTO tablename (column1, column2, ...)
  2. VALUES (value1, value2, ...);

ex)ID 값이 1인 이효리, 43세, 여자(F) 데이터 추가
1. INSERT INTO person (id, name, age, sex)
2. VALUES (1, '이효리', 43, 'F');

모든 컬럼값을 추가하는 경우에는 다음과 같이 컬럼 이름을 지정하지 않아도 되지만,
입력하는 값의 순서가 테이블의 칼럼 순서와 일치하도록 주의

  1. INSERT INTO tablename
  2. VALUES (value1, value2, ...);

ex)ID값이 2인 이상순, 48세, 남자(M) 데이터추가
1. INSERT INTO person
2. VALUES (2, '이상순', 48, 'M');

챕터04_03. SELECT INSERT UPDATE DELETE

테이블 내의 특정 칼럼에 대한 데이터를 조회

  1. SELECT column1, column2, ...
  2. FROM tablename;

ex)person 테이블 내으 ㅣ이름, 나이, 성별 데이터를 조회
1. SELECT name, age, sex FROM person;

테이블 내의 모든 컬럼에 대한 데이터를 조회
1. SELECT *
2. FROM tablename;

챕터04_04. WHERE - 조건(SQL문에 조건을 추가하며 SELECT 뿐만 아니라 UPDATE 와 DELETE 에도 사용)

테이블 내에서 조건을 만족하는 데이터조회

  1. SELECT column1, column2, ...
  2. FROM tablename
  3. WHERE condition;

ex)person 테이블에서 성별이 여자인 데이터조회
1. SELECT * FROM person WHERE sex='F';

챕터04_05. UPDATE - 데이터 수정

  1. UPDATE tablename
  2. SET column1 = value1, column2= value2, ...
  3. WHERE condition;

ex) 이효리 나이를 23세로 수정
1. UPDATE person SET age=23 WHERE name='이효리';

챕터04_05. DELETE - 데이터 삭제

1.DELETE FROM tablename
2.WHERE condition;

ex)이상순 데이터 삭제
1. DELETE FROM person WHERE name='이상순';

profile
안녕하세요~

0개의 댓글