mysql 강좌 4

어제에 이어

문제 1) 새로운 전체 관리자 계정을 만들고, sawondb DB만 관리할 수 있는 계정을 만든다. 그리고 “sawondb” 데이타베이스 생성

>mysql -u root -h localhost -p
password :

mysql> grant all on *.* to rhinoceros identified by ‘*****’ with grant option;
mysql> grant all on sawondb.* to rhinoc identified by ‘*****’ ;
mysql> create database sawondb;
mysql> quit

sawondb만 관리할 수 있는 계정으로 접속
> mysql -u rhinoc -h IP주소 -p
password :


mysql> use sawondb

문제 2) sawondb에 테이블생성
person 테이블



















pno pname job manager startdate pay bonus dno
int
not null
primary key
varchar(9)
not null
varchar(9)
not null
int date
not null
int
not null
int int
not null

division  테이블












dno dname phone position
int
not null
primary key
varchar(15)
not null
varchar(15)
not null
varchar(10)
not null


mysql> create table person(pno int not null
   ,pname varchar(9) not null
   ,job varchar(9) not null
   ,manager int
   ,startdate date not null
   ,pay int not null
   ,bonus int
   ,dno int not null,primary key(pno));


mysql> create table division(dno int not null primary key
   ,dname varchar(15) not null
   ,phone varchar(15) not null
   ,position varchar(10) not null);


mysql> desc person;
mysql> desc division;


20090108_01.jpg



■ DML (Data Manipulation Language)


1. 데이타 삽입
형식)
insert into 테이블명 values(값,값,값,…);
– primary key가 부여된 필드에 동일한 데이타 저장시 에러가 발생한다.
– 저장되는 값들은 테이블에 나열된 필드 순서에 따라 입력한다. => 값을 생략할 수 없다.
– 저장되는 값은 숫자형을 제외한 데이타‘  ‘ 안에 입력한다. (‘홍길동’,123,’2009-01-07′)
단,null 데이타는 대.소문자 구분없이 null로 저장


insert into 테이블명(필드명,필드명,…) values(값,값,…);
– 저장되는 값은 나열된 필드의 순서에 따라 입력한다.
– 생략된 필드에는 default 값이 자동으로 저장된다.
– 필드의 순서에 제약을 받지 않는 장점이 있다.


replace 명령어로 가능
replace into 테이블명 values(값,값,값,…);
=> primary에 중복된 데이타 저장시 덮어씌우기가 된다.


ex) 제공한 데이터들을 입력해본다.
mysql> insert into person values(1001,’bill’,’president’,null,’1999-01-10′,7000,null,10);
.
.
.
mysql> select * from person;


※ 데이타 파일을 이용한 데이타 저장방법
 형식)
load data infile “데이타파일명” into table 테이블명 ;
load data infile “데이타파일명” replace into table 테이블명 ;


load 명령을 사용하려면 계정이 File 관련 명령을 사용할 수 있는 권한이 있어야 한다.


– 데이타 파일 만드는 방법
1. 값과 값의 구분자는 tab을 이용한다.
2. 한 행 입력 후 다른 행을 입력하려면 Enter를 이용한다.
=> 마지막 행 데이타 입력 후 Enter치면 안된다.

10 finance 032-277-0411 inchon
20 research 061-535-1212 busan
30 sales 02-555-4985 seoul
40 marketing 031-284-3800 suwon


C:에 division.txt 파일로 저장하였다면


mysql> load data infile “c:/division.txt” into table division;
mysql> select * from division;


2. 데이타 삭제
형식)
delete from 테이블명 where 조건절 limit 갯수 ;
where 조건절 : 조건에 맞는 데이타 검색(생략가능)
limit 갯수 : 갯수만큼 삭제 (생락가능)


※ 삭제된 것은 복구를 못한다.


ex)
mysql> delete from division; =>모든 데이타 삭제 (auto_increment 수치는 이어짐)


mysql> delete from person limit 2 ; => person 테이블의 데이타 상위 2개 삭제


mysql> delete from person where pno=1118 ; => pno가 1118인 데이타를 삭제


문제)급여가 3000 이상인 사원 2명 삭제
mysql> delete from person where pay>=3000 limit 2 ;


3. 데이타 변경
형식)
update 테이블명 set 필드명=값,필드명=값,….where 조건;
필드명=값 : 변경되는 값


ex)
mysql> update person set pay=pay+200; =>급여에 200씩 더하라


mysql> update person set pname=’choi’,pay=4000 where pno=1123;


문제) 부서코드가 20인 사원의 급여 10% 인상으로 변경


mysql> update person set pay=pay*1.1 where dno=20 ;

Loading

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다