MySQL
-데이터베이스 생성
mysql > create database haksa;
++ show databases; 는 데이터베이스를 모두 보여준다.
++ ; 이 명령문의 끝에 사용되어서 명령문이 길어질 경우 엔터치고 사용할 수 있다.
-데이터베이스 사용
mysql > use haksa;
-테이블 만들기
++쿼리문 만들때, 메모장에서 작업 후에 cmd창에서 하는 것이 나중에 오타가 났을 경우 고치기 쉽다!
<insa 테이블 생성>
create table insa(
bunho int(1) auto_increment,
name char(8) not null,
e_name char(4) not null,
town char(6) not null,
primary key(bunho)
); // 이거 작성하는데도 오타나서 고쳤네요 ㅋㅋㅋ
결과는, 테이블 결과 값을 보면 아래와 같습니다.
<create table 테이블명();> <show tables;>
<desc 테이블명;> -> 테이블 구조를 보여줍니다.
명령어를 정리해보면
mysql > create table 테이블명(); ->테이블 만들기
mysql > show tables; -> 테이블 모두 보여주기
mysql > desc 테이블명; -> 테이블 속성 보여주기
-데이터 입력(insert)
ex>
insert into insa values('1','홍길동','Hong','순천');
insert into insa values('2','제갈공명','Je','여수');
insert into insa values('3','순자','Soon','부산');
insert into insa values('4','이순신','Lee','여수');
insert into insa values('5','니얼굴','NII','내마음');
오른쪽과 같이 적용됩니다.
insert 문법은
INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO]tbl_name
[PARTITION (partition_name
,...)] [(col_name
,...)] {VALUES | VALUE} ({expr
| DEFAULT},...),(...),... [ ON DUPLICATE KEY UPDATEcol_name
=expr
[,col_name
=expr
] ... ]
Or:
INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO]tbl_name
[PARTITION (partition_name
,...)] SETcol_name
={expr
| DEFAULT}, ... [ ON DUPLICATE KEY UPDATEcol_name
=expr
[,col_name
=expr
] ... ]
Or:
INSERT [LOW_PRIORITY | HIGH_PRIORITY] [IGNORE] [INTO]tbl_name
[PARTITION (partition_name
,...)] [(col_name
,...)] SELECT ... [ ON DUPLICATE KEY UPDATEcol_name
=expr
[,col_name
=expr
] ... ]
이렇다고 합니다. (이렇게 보니까 더 어렵게 느껴지지만 여러가지 방법이 있으니 좋은거죠 ㅎㅎ)
insert 한 데이터를 확인해봅시다.
select 문은 데이터를 가져올때 쓰이는데, *의 의미는 '모두'
from insa 는 insa 테이블에서 가져오겠다 라는 의미입니다.
-자료 수정(update)
mysql > update insa
->set town = '한산도'
->where bunho = 4;
++ Autocommit 에 대한 부분
autocommit은 자료를 입력하고 수정하고 삭제하는 것이 실제로 데이터가 반영되는것을 설정하는 값인데,
autocommit = 1 이면 자동적으로 반영되는 것이고,
autocommit = 0 이면 메모리상에서만 반영되고 commit 하면 실제로 데이터가 저장됩니다.
데이터를 저장하고 싶지 않고 원 상태로 돌리려면 rollback 하면 데이터가 복구 됩니다.
화면을 보면,
autocommit=0
다시 접속합니다.
적용이 되지 않았습니다.
여기서 바꾸고 나서 commit 하면 적용(홍길동으로 저장됨)이 되고 rollback하면 원래 "최길동"으로 돌아갑니다.
savepoint & truncate
savepoint는 rollback 시점을 정해주는 것.
mysql > savepoint aa;
mysql > rollback to aa; -> aa 지점으로 롤백합니다.
truncate 는 테이블의 삭제 처리(모든 행이 삭제 처리됨)
->autocommit 상관없이 다 지워버림(실제로 적용됨)
->돌이킬수 없다.
->위험하다.
->기억에서 지우자
[출처] [MySQL]데이터베이스의 생성 및 관리(1)|작성자 나무
'프로그래밍 > MySQL' 카테고리의 다른 글
mysql에 cvs 파일을 넣는방법 (0) | 2014.09.11 |
---|---|
[스크랩]윈도우 에서 mysql 명령어 입력하기 (0) | 2014.09.09 |
[MySQL] 명령어 정리2 (0) | 2014.07.09 |
[MySQL] Rank계산 (0) | 2014.07.08 |
mysql select 할 때 순환자 넘버링하기 (iterator numbering) (0) | 2014.07.04 |