티스토리 뷰
SQL문이란 : DBMS에서 자료를 요청하는 언어.
핵심만 뽑아낸 10개의 챕터로 기초를 마무리 지어보자.
1. 사용할 데이터베이스 접속 방법
(윈도우의 apmsetup설치시 비번도 apmsetup이다.)
ㄱ. mysql -h호스트 주소 -u사용자ID -p비밀번호 DB명 //으로 직접 로그인과 동시에 DB에 접속이 가능하다.
ㄴ.mysql - h호스트 주소 -u사용자ID -p비밀번호
mysql> use DB명
으로 해도된다.
ㄷ.c:\> mysql -h호스트주소 -u사용자ID -p비밀번호 //내 컴퓨터에 있는 mysql서버일경우 -h 옵션은 사용하지 않아도 된다.
접속후에는 MySQL에서 DB를 일단 생성하고 DB선택및 table을 조회해 본다.
mysql> create database myDB;
mysql> use DB명
mysql> use myDB
mysq> show tables
mysql> quit
2. 계정생성과 변경
로그인
c:\> mysql -uroot -pampsetup mysql //마지막의 mysql은 기본생성 DB이다. 동작과 정보파일이 있으므로 조심하자.
계성생성과 DB사용권한 셋팅
mysql> create database myDB; //1번에서 myDB를 생성했다면 패스
문법 : grant all privileges on DB명. * to ID identified by '비밀번호' with grant option;
사용 : grant all privileges on myDB. * to USER identified by '1234' with grant option;
DB에 바로 반영 명령
mysql> flush privileges;
종료
mysql> quit
로그인확인
c:\> mysql -uUSER -p1234 myDB
비밀번호 변경
일반사용자일 경우 자신의 비밀번호만 바꿈 : set password = password('새로운 비밀번호');
root권한의 관리자 계정을 경우 모든 비밀번호 바꿀수 있음.
c:\> mysql -uUSER -p1234 mysql
mysql> update user set password = password('새로운비번') where user='ID';
mysql> flush privileges;
mysql> quit
확인해보자
c:\> mysql -uUSER -p새로운비번 myDB
3. 데이터 베이스
생성
create database DB명;
create database myDB;
> show database;
삭제
drop database DB명;
drop database myDB;
4. 테이블
생성.
create table 테이블명(
필드명 타입,
필드명 타입
primary key(필드명)
);
create table myTable(
num int not null,
name char(10),
tel char(20),
phone char(20),
primary key(num)
);
반드시 입력되어야 하는 숫자형 not null 필드, 나머지는 문자열이고 각각 10, 20, 20이다.
프라이머리 키는 num 필드로 저장.
테이블의 구조 살펴보기.
desc 테이블명;
desc name;
삭제
drop table 테이블명;
drop table myTable;
5.테이블의 데이터 추가
insert into 테이블명 (필드명, 필드명...)
-> values (필드값, 필드값...);
mysql> insert into myTable (num, name, tel, phone)
-> values (1, '홍길동', '123-456', '010-123-456');
축약형
mysql) insert into myTable values(2, '누자베스', '777', '010-999-3333');
6. 선택
select 필드명,필드명 from 테이블명;
select name, tel from myTable;
모든 필드의 선택은
select * from myTable;
필드의 특정값을 조회해서 가져올때
select 필드명,필드명 from 테이블명 where 조건식;
select num,name from myTable where tel='123-456';
select * from myTable where num>=1 and num<=10; //myTable의 num 값이 1부터 10까지인 필드
7. 수정
update 테이블명 set 필드명=필드값 [where 조건식];
update myTable set name='세르피코' where num=1;
주의
update myTable set name="세르피코'; //myTable에서 모든 레코드의 name필드값을 세르피코로 바꾼다.
8. 삭제
delete from myTable [where 조건식];
delete from myTable where phone='010-123-456';
delete from myTable where num=1;
주의
delete from myTable; // myTable 의 모든 레코드를 삭제한다.
7.batch파일
긴 테이블 생성 쿼리를 일일이 입력해서 실행해야 하는 작업을 줄이기위해 batch파일을 작성해보자.
일단 에디터로 다음을 입력
create table myTable(
num int not null,
name char(10),
addr char(20),
tel char(10),
primary key(num)
);
myTable.sql 로 저장 하고 찾기 쉽도록 하기 위해 일단 c:\>에 저장.
c:\> mysql -uUSER -p1234 USER_DB < myTable.sql //"DB < myTable.sql" 을 DB쪽으로 실행 한다고 이해하면 쉽다.
잘 실행되었는지 테이블을 살펴보자.
c:\> mysql -uUSER -p1234 USER_DB
mysql> show tables;
mysql> desc myTable;
10. 백업
데이터 베이스백업은 "mysqldump"라는 mysql에 포함되어있는 유틸을 사용한다.
mysql mysqldump -h서버 -uID -p비밀번호 DB명 > 백업파일명
mysql mysqldump -uUSER -p1234 myDB > backup.sql //"myDB > backup.sql" 을 DB에서 sql쪽으로 실행 한다고 이해하면 쉽다.
.sql문서는 create table과 insert쿼리로 구성. 실행하기만 하면 원본의 DB가 그대로 복원됨.
복원은 DB에 입력하는 7번의 배치 명령어와 완전히 동일하다. (그냥 입력하는 거니까)
mysql -h서버 -uID -p비밀번호 DB명 < 백업파일명
mysql -uUSER -p1234 myDB < backup.sql
작성 : serpiko 인용 : 필요한것만 공부하는 PHP프로그래밍 (이성욱, 장종준 공저)
'■ Database ■ > MySQL' 카테고리의 다른 글
DB 데이터타입 지정의 예 (0) | 2014.10.21 |
---|---|
mysql DELETE문 (0) | 2013.10.16 |
mysql에서 UPDATE문 (0) | 2013.10.16 |
데이터타입2 (0) | 2013.10.16 |
MySQL 기본 명령어 정리 (0) | 2013.10.16 |
댓글