SQL문 간단사용과 설명

미분류/DataBase 2012. 2. 3. 22:46 by 후뤼한잉여

CMD창에서 입력

데이터베이스 접속
MYSQL -U [계정명] -P
[설정한 암호]

-U는 user 옵션으로 계정명을 입력하는 것이며, -P는 password 옵션으로 암호를 입력하는 것이다.
이때, -P 옆에 암호를 바로 쓸수 있지만 그렇게되면 노출이되기 때문에 -P까지만 쓰고 암호를 입력하는것이 좋다.



데이터베이스 목록보기
SHOW DATABASES;
여기서 주의할 점은 뒤에 S가 붙는다는 것인데, DB가 한개이상이므로 복수형으로 적어준다는 것이다.
또한 모든 명령어는 ;(세미콜론)으로 끝난다는 것을 유의해야 한다!


데이터베이스 생성
CREATE DATABASE [데이터베이스명];



데이터베이스 삭제
DROP DATABASE [데이터베이스명];
해당 데이터베이스를 삭제한다. 이때, 안에 테이블도 다 삭제되니 한번더 확인하고 지우길 권장한다.


생성한 데이터베이스파일에 접속
USE [데이터베이스명];
해당 DB를 사용하겠다는 의미이다.
테이블을 생성하기 위해서는 우선적으로 DB에 접속을 해야한다는 것을 유의해야 한다.


테이블 생성
CREATE TABLE [테이블명] (컬럼(필드)명, 타입(크기), 컬럼명, 타입(크기), .... .... ....);
테이블이름과 테이블에 들어갈 필드, 그 각필드의 자료형과 크기를 지정해줘야 한다.


테이블 삭제
DROP TABLE [테이블명];
해당 테이블명을 삭제한다.


테이블 목록 보기
SHOW TABLES;
여기서도 여러개의 테이블을 확인하는 것이므로 복수형으로 끝에 S를 붙여준다.


테이블의 상세정보 보기
DESCRIBE [테이블명];
테이블명으로 입력한 테이블의 상세한 정보를 보여준다.
DESCRIBE는 설명하다는 뜻인데, DESC만 입력해줘도 된다.


레코드 입력 쿼리
INSERT INTO [테이블명] (필드명1, 필드명2, ...) VALUES ('필드1에 들어갈 값', '필드2에 들어갈 값', .....);
대부분이 문자이기때문에 ' '(작은따옴표)안에 값을 넣는다. INT형이라면 그냥 작은따옴표없이 숫자를 입력해도 된다.


레코드 조회(검색) 쿼리
SELECT [결과로 보고싶은 필드명] FROM [테이블명] [WHERE 조건문];
선택한 테이블에서 조건에 맞는 값중에 보고싶은 필드만 출력해 준다.
여기서 WHERE는 옵션이며, 별다른 조건이 없다면 안적어도 된다.
보고싶은 필드명에 *(아스테릭스 사인)을 입력하면 선택한 테이블에 모든 필드를 출력해준다.

앞서 관계형 DBMS에서 테이블이나 필드를 최소한의 단위로 나누라고 했었는데, 그 이유가 이 SELECT 쿼리에 있다.
예를 들어 주소라는 필드에 저장된 값이 "인천광역시 남구 용현4동"이라고 해보자.
여기서 용현4동에 사는 사람들만 보고 싶다면 WHERE조건에 LIKE라는 명령어를 이용해서 찾아야 할 것이다.
 예) SELECT * FROM 테이블명 WHERE LIKE %용현4동%;

# LIKE명령어 사용방법

그런데 이 방식으로 조회할려면 매번 중간에 용현4동이 있는지를 대조해야 하는데, 데이터의 양이 많으면 엄청난 시간이 걸리게 될 것이다. 하지만 필드 단위를 최소화해서 시, 구, 동 식으로 나눠 놨다면 더욱 빨리 처리할수 있을 것이다. 그러므로 테이블이나 필드는 최소단위로 하는 것이 좋다.

레코드 수정 쿼리
UPDATE [테이블명] SET [내용을 변경할 필드명1 = '변경할 값1', 변경할 필드명2 = '변경할 값2'] [WHERE 조건문];
선택한 테이블에서 값을 변경하고싶은 필드와 바꿀값을 입력을 해주면 된다.



레코드 삭제 쿼리
DELETE FROM [테이블명] [WHERE 조건];

선택한 테이블의 "내용(값)"을 삭제한다. 테이블을 삭제하는 것이 아니다.



접속 종료시에는 exit를 입력해주면 된다.

'미분류 > DataBase' 카테고리의 다른 글

SQL-Front 5.1 설치방법  (0) 2012.02.03
MySQL 5.1 설치방법  (0) 2012.02.02
Nav