" async="async"> ', { cookie_domain: 'auto', cookie_flags: 'max-age=0;domain=.tistory.com', cookie_expires: 7 * 24 * 60 * 60 // 7 days, in seconds }); '데이터베이스/MySQL' 카테고리의 글 목록 :: Record for Success

SQL이란 DBMS(DataBase Management System)에 접근하기 위한 구조화된 질의어, 프로그래밍 언어이다.

데이터베이스에서 자료를 좀 더 쉽게 검색하고, 편집하기 위해 고안되었고 백엔드 및 데이터를 다루는 분야에서 가장 기초가 되는 언어로 자리잡았다.

 

MySQL 기초문법

SQL은 정의,조작,제어,질의 등으로 구분된 영역이 존재한다.

 

# 접근언어

  • 접속 명령어 :
    mysql -u root -p
    	Enter password:********
  • use 데이터베이스명 : 해당 데이터베이스을 사용하도록 명령한다.show (databases, tables) : 데이터베이스 목록 혹은 테이블 목록을 나타낸다.
  • desc( = describe, explain) 테이블명 : 해당 테이블의 구조를 나타낸다.

 

# DDL(데이터 정의어)

  • create (database) A : A이름을 가진 데이터베이스를 생성한다.
  • create A (필드,자료형..) : 매개변수로 주어진 구조들을 가진 테이블(이름 A)을 신규로 생성한다.
  • drop (database, table) A : A이름을 가진 데이터베이스 혹은 테이블을 삭제한다. 정보, 데이터를 포함한 모든 자료가 소거되므로 주의해서 사용할 것.

 

#DML(데이터 조작어)

  • insert into A(필드명1, 필드명2, 필드명3,...) values (필드1값, 필드2값, 필드3값, ...): 해당 테이블에 지정된 값의 데이터를 삽입한다. NOT NULL 속성의 필드는 반드시 입력해주어야 한다. 
  • update A set 필드1 = 새로운 필드1값 : A테이블의 필드1의 값을 새로운 값으로 업데이트한다.
  • delete from A : A테이블에 포함된 모든 데이터를 삭제한다. (모든 데이터를 지우고싶지 않으면, where절을 사용해 지정해주어야 한다.)

#DQL(데이터 질의어)

  • select A from B : B 테이블의 A구조의 데이터를 나타낸다. (A = *이면 테이블에 속한 모든 데이터를 나타낸다.)

 

예제

앞서 설명한 명령어들을 통해서 간단한 수준의 예제를 구현해볼 것이다.

 

  1. mysql에 접근한 후 존재하는 데이터베이스 목록을 모두 나타내라.
  2. 새로운 데이터베이스를 생성해라. (이름은 test)
  3. test에 user table을 생성해라. ( user : id, password, name, addr, phone을 가짐. id~name = not null)
  4. user table에 데이터("gildong", "1234", "홍길동", "서울", "010-0000-0000")을 삽입하라.
  5. select를 이용해 user table의 데이터 목록을 나타낸 후, u_name = "홍길동" 을 우선 삭제 후, user tale을 삭제하라.

+ Recent posts