SQL(1) ➡️ 명령어의 기본/기본 문법

OlMinJe·2023년 8월 29일

SQL

목록 보기
1/5
post-thumbnail

들어가기 전에 완전 기본만 살짝 정리 🫵🏻

1. 데이터 사전(=데이터 사전 뷰[Data Dictionary View])

  • 데이터베이스에 포함된 객체와 사용자에 관한 모든 정보를 읽기 전용으로 제공하는 시스템 테이블들의 집합이다.
  • 데이터 사전은 DBMS에 의해 DB 구조 및 사용자 권한, 데이터 등의 변경 내역을 지속적으로 갱신한다.

2. 데이터베이스 개요

  • 응용 시스템의 데이터를 공유할 수 있도록 운영에 필요한 모든 데이터를 통합하여 컴퓨터에 저장한 데이터를 의미한다.
  • 자료의 중복성 제고, 무결성 확보, 일관성 유지, 유용성 보장은 데이터 관리의 핵심이다.

3. 스키마

  • 데이터베이스를 구성하는 자료 개체, 이들의 성질, 이들 가느이 관계, 자료의 조작 및 이들 자료 값들이 갖는 제약조건에 관한 정의를 총칭한 말

4. SQL(Structured Query Languge)

  • 관계형 데이터 모델을 따르는 DBMS(DataBase Management System)의 표준 데이터베이스 언어이다.
  • 관계 대수를 기초로 만들어진 데이터베이스 관련 명령어이다.
  • 입력 릴레이션으로 부터 원하는 출력 릴레이션 얻어내는 명령어 형식


명령어의 구분

1. 데이터 정의어(DDL: Data Definition Languge)

  • create(오브젝트 생성)
  • alter(오브젝트 수정)
  • drop(오브젝트 삭제)
  • truncate(데이터베이스의 오브젝트 내용을 삭제)

2. 데이터 조작어(DML: Data Manipulation Languge)

  • insert
  • update
  • delete
  • select

3. 데이터 제어어(DCL: Data Control Languge)

  • cmd로 데이터 베이스 테이블 확인하는 방법cmd로 데이터 베이스 테이블 확인하는 방법 해보는 걸 추천! 왕기본

⭐️ 기본 문법

USE 구문

  • 사용할 데이터베이스 지정
    USE 데이터베이스명;
  • USER - Application - connet - dbms - db

show tables

  • 테이블의 목록을 출력해줌
    <예제>
    SHOW databases; -- 현재 서버에서 어떤 데이터베이스가 있는지 조회한다.
    USE employees; -- 사용할 테이블을 지정한다.
    SHOW tables; -- 테이블 정보를 조회한다.
    describe employees; -- 또는 desc로 적어도 됨 / 테이블의 열이 무엇인지 확인한다.
    select first_name, last_name, gender -- 여려 개의 필드 출력
    from employees;

☝🏻열 이름의 별칭

  • 열 이름 뒤에 AS 별칭 형식으로 지정할 수 있다.
  • 공백이 있다면 작은 따옴표로 감싸준다. (공백 없으면 생략 가능)
SELECT first_name AS 이름, gender AS 성별, hire_date AS '회사 입사일'
from employees;

[ 실습 ]

1. 데이터베이스 생성
(밑작업) DROP DATABASE IF EXISTS sqldb; -- 만약 sqldb가 존재하면 우선 삭제한다.
CREATE DATABASE sqldb; ➡️ 입력 후 ctrl + shift + enter

-- 💡 테이블 생성 예시
USE sqldb; -- "sqldb"라는 데이터베이스를 사용하겠다.

-- ✔️ 회원 테이블
CREATE TABLE usertbl(
	userID CHAR(8) NOT NULL PRIMARY KEY, -- 사용자 아이디(PK)
    name VARCHAR(10) NOT NULL, -- 이름
    birthYear INT NOT NULL, -- 출생년도
    addr CHAR(2) NOT NULL, -- 지역(경기,서울,경남 식으로 2글자만입력)
    mobile1 CHAR(3), -- 휴대폰의 국번(011, 016, 017, 018, 019, 010 등)
    mobile2 CHAR(8), -- 휴대폰의 나머지 전화번호(하이픈제외)
    height SMALLINT, -- 키
    mDate DATE -- 회원 가입일
);

-- ✔️ 회원 구매 테이블(Buy Table의 약자)
CREATE TABLE buytbl(
	num INT AUTO_INCREMENT NOT NULL PRIMARY KEY, -- 순번(PK)
	userID CHAR(8) NOT NULL, -- 아이디(FK)
	prodName CHAR(6) NOT NULL, -- 물품명
	groupName CHAR(4) , -- 분류
	price INT NOT NULL, -- 단가
	amount SMALLINT NOT NULL, -- 수량
	FOREIGN KEY (userID) REFERENCES usertbl(userID)
);

➡️ 입력 후 ctrl + shift + enter
생성 완료!


데이터베이스 개체의 이름 규칙

  • 데이터베이스(=스키마) 개체의 이름을 식별자라고 한다.
  • 데이터베이스 개체란 데이터베이스, 테이블, 열, 인덱스, 뷰, 트리거, 스토어드 프로시저 등과 같은 개체를 의미한다.

✚✚ MYSQL 규칙 ✚✚
1. 영문 대,소문자, 숫자, 특수문자($, _)를 사용할 수 있다.(영문은 대문자를 사용해도 소문자로 생성됨)
2. 최대 64자로 제한된다.
3. 예약어를 사용할 수 없다.
4. 원칙적으로 공백을 사용할 수 없으나 공백을 사용할 경우 ‘ ’로 묶어야 한다.

< 권장 >
✔️ 개체명은 알기 쉽게 명명할 것.
✔️ Linux에서는 모두 소문자로 사용하므로 개체명은 소문자로 사용하는 것이 편리함.

profile
큐트걸

0개의 댓글