[데이터베이스]SQL로 MYSQL 실습

MySQL 구조

1.mySQL구조

  • 데이터베이스 서버(database server)
    MySQL(데이터베이스가들이 저장되는 곳)

  • 데이터베이스(database,shema)
    표들이 저장되는공간(파일의 폴더같은곳)

  • 표(table)
    실질적으로 데이터가 저장되는 곳으로 사전에 정의된 열의 데이터 타입대로 작성된 데이터가 행으로 축적됩니다.

2.TABLE구조

칼럼(column)또는 필드(filed)
테이블의 한 을 가리킨다 (데이터의 타입)
로우(row) 또는 레코드(record)
테이블의 한 을 카리킨다 (데이터자체)
키(key)//(위 사진의 id)
테이블의 각 레코드를 구분할 수 있는 값입니다. 각 레코드마다 고유한 값을 가집니다. 기본키(primary key)와 외래키(foreign key) 등이 있습니다.

MySQL접속 및 데이터베이스 선택

1.서버(MySQL)접속

mysql -uroot -p

2.데이터베이스 선택

USE 데이텁베이스 이름;

데이터베이스 CRUD

1. 데이터베이스 생성

CREATE DATABASE opentutorials ;

2.데이터베이스 삭제

DROP DATABASE opentutorials;

3.데이터베이스목록 조회

SHOW DATABASES;

테이블의 CRUD

1.테이블 생성

  • colum만 설정해주면 테이블이 생성됨
CREATE TABLE 테이블명(
 컬럼명1 datatype ...,
 컬럼명2 datatype ...,
 ...
);

id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
column 이름은 id
데이터타입은 정수,11개까지 보여줌(괄호는 노출시킬범위)
빈값 허용하지 않음
테이블의 Primary key로 설정
id값은 자동 증가하도록 설정
title VARCHAR(100) NOT NULL,
column 이름은 title
데이터타입은 문자열,100글자까지 보여줌 (괄호는 노출시킬범위)
빈값 허용하지 않음
description TEXT NULL,
column 이름은 description
데이터타입은 문자열
빈값 허용함
created DATETIME NOT NULL,
column 이름은 created
데이터타입은 날짜
빈값 허용안함

  • 예시2

2.테이블 목록조회

SHOW TABLES

3.선택테이블 구조보기

DESC 테이블명

4.테이블 삭제

drop table 테이블명;

데이터의 CRUD

1.테이블에 데이터 추가하기

INSERT INTO 테이블명(title,description,created,author,profile) VALUES('MySQL','MYSQL is',NOW(),'egoing','developer');

2.테이블의 데이터 읽기

  • 모든컬럼 읽기
SELECT *FROM 테이블명;
  • 선택컬럼만 읽기
SELECT 특성_1, 특성_2 FROM 테이블_이름 
  • 선택컬럼만 읽기 + 특정 값과 동일한 데이터 찾기
SELECT 특성_1
FROM 테이블_이름
WHERE 특성_1 = "특정 값"
  • 선택 컬럼만 읽기 + 특정 값을 제외한 데이터 찾기
SELECT 특성_1, 특성_2
FROM 테이블_이름
WHERE 특성_2 <> "특정 값"
  • 선택 컬럼의 특성이 대소비교가 가능할때
SELECT 특성_1, 특성_2
FROM 테이블_이름
WHERE 특성_1 > "특정 값"

SELECT 특성_1, 특성_2
FROM 테이블_이름
WHERE 특성_1 <= "특정 값"
  • 선택 컬럼만 읽기 + 특정문자를 포함하는 데이터 찾기
SELECT 필드명
FROM 테이블명
WHERE 필드명
LIKE '% 특정 문자열%;

++like, in,is 더써봐야함

  • 내림차순 정렬
SELECT *
FROM 테이블_이름
ORDER BY 특성_1 DESC
  • 출력할 데이터 개수 정하기
SELECT *
FROM 테이블_이름
LIMIT 개수

3.테이블의 데이터 수정

4.테이블의 데이터 삭제

4.테이블의 컬럼 추가하기/컬럼 포인키설정

테이블 합치기

1.LEFT JOIN

2.INNER JOIN

그밖에것들

1.select 실행순서
SELECT => FROM =>WHERE => GROUP BY => HAVING => ORDER BY

2.groupy by
조인후 select된것들중 레코드가 공통된 것들끼리 묶어줌

3.내장함수이용

좋은 웹페이지 즐겨찾기