2009. 3. 24. 21:38

mysql 기본명령

mysql 기본명령

  

  

  

phpmyadmin 명령기에서 사용

   

   

   

   

1. 기본 데이터베이스 : 사용자계정(웹호스팅신청 사용자ID)

   

2. 테이블 사용 : use test

   

//Database changed라는 출력과 함께 test라는 데이터 베이스에 접속,

   

// 때에는 세미콜론 사용을 한다.

   

//또한 단일라인에서만 사용가능하므로 줄에 입력해야 .

   

3. 데이터베이스 내의 테이블들을 출력 : show tables;

   

   

4. create table pet(name varchar(20), owner varchar(20),

species varchar(20), sex char(1), birth date, death date);

   

//name, owner, species, sex, birth, death 정보를 가질 table 생성,

   

//가독성을 높이기 위해 2줄에 걸쳐 타입

   

   

5. describe pet;

   

//pet이라는 테이블이 가지는 정보에 대해 검사, 필드 이름, 데이터 타입,

   

//NULL 여부, Key 여부, DEFAULT 여부, 기타 관한 정보가 출력된다

   

   

   

   

6. load data local infile

'C:/mysql/pet.txt' into table pet;

   

//C:mysql 있는 pet.txt 내에 있는 정보를 pet이란 테이블에 불러와서 입력한다.

   

//텍스트 파일로 데이터 입력시 각각의 필드는 tab이나 띄어쓰기로 구분하도록 디폴트

   

//텍스트 파일 입력 누락된 값들은 NULL값으로 자동처리된다.

   

//주의할 점은 mysql에서 위치입력시 Dos처럼 쓰는 것이 아니라 / 사용한다

   

   

7. load data local infile

'C:/mysql/pet.txt' into table pet

lines terminated by 'rn';

   

//rn 라인 터미네이터로 사용한다

   

   

   

   

8. insert into pet values('Puffball','Diane','hamster','f',1993-03-30',NULL);

   

//pet이란 테이블에 값을 입력, 때는 NULL 써줘서 누락된 값을 표시한다.

   

   

9. select * from pet;

   

//pet테이블에 있는 모든 정보 출력

   

   

   

10. delete from pet;

   

//pet테이블에 있는 모든 정보 삭제, 명령어는 텍스트 파일의 자료 잘못된 값이 많을

   

//텍스트 파일의 정보 수정 다시 입력하려고 필요하다. 만약 정보 수정 바로 load

   

//data 해주게 되면 정보가 중복입력이 되기 때문이다.

   

   

   

   

11. update pet set birth = '1989-08-31' where name = 'Bowser';

   

//pet 테이블에서 name Bowser 줄의 birth 1989-08-31 수정한다,

   

//update A set B=C where D set E 형태로 작성하면

   

//A테이블의 D필드의 값이 E 줄에서 B필드의 값을 C 수정한다.

   

   

12. select *from pet where name = 'Bowser';

   

//pet 테이블에서 name Bowser 줄을 모두 출력한다.

   

   

   

   

13. select *from pet where birth >= '1998-1-1';

   

//pet 테이블에서 birth 1998-1-1 이후인 줄을 출력한다.

   

//만약 비교연산자 사용시 문자를 사용하면 ASCII코드 값을 비교한다.

   

//예를 들어 select *from pet where name >='S'; 타입하면

   

//'T~Z'까지의 문자로 시작되는 이름을 가진 줄들이 출력된다.

   

   

14. select *from pet where species = 'snake' or species = 'bird';

   

//pet 테이블에서 species snake이거나 species bird 줄을 출력한다.

   

//or 뿐만 아니라 and 사용된다.

   

//예를 들어 select *from pet where species ='cat' and owner = 'Gwen';

   

// 타입하면 pet 테이블의 species cat이고 owner Gwen 줄이 출력된다.

   

   

   

15. select *from pet where (species='cat' and sex='m') or (species='dog' and sex='f');

   

//pet 테이블에서 species cat이고 sex m 줄이거나 species dog이고 sex f 줄은

   

//모두 출력한다.

   

//괄호를 쓰는 까닭은 and or 우선순위가 and 높기 때문에

   

//혼용할 있으므로 방지차원에 쓴다.

   

   

   

16. select name, birth from pet;

   

//pet테이블에서 name birth필드값들을 모두 출력한다.

   

//이는 특정 행을 선택하여 출력하는 것과 같다.

   

   

   

17. select distinct owner from pet;

   

//pet테이블에서 같은 이름의 owner 번만 출력하도록 owner필드값들을 모두 출력한다.

   

   

   

   

18. select name, species, birth from pet where species='dog' or species='cat';

   

//pet테이블에서 species dog이거나 cat 줄의 name, species,birth 출력한다.

   

   

   

19. select name, birth, (year(curdate())-year(birth) - (right(curdate(),5)<right(birth,5)) as age from pet;

   

   

//pet 테이블에서 name birth 그리고 age 출력한다.

   

//age 오늘 날짜(curdate() 오늘 날짜를 불러오는 MySQL지원 메소드) 연도에서

   

//생일의 연도를 다음에

   

//right(curdate(),5) curdate() 오른쪽 5자리 (몇월-몇일) 추려내서 birth 월일과

   

//비교했을 작으면 1, 크거나 같으면 0이란 값을 출력하게 된다.

   

//(비교연산자 식이 true 1, false 0 리턴한다)

   

//그래서 나온 값을 빼주면 나이가 된다.(조금만 생각해보시면 식이 이해가 갈껍니다.;;)

   

   

   

20. select * from pet where name like 'b%';

   

// pet테이블에서 name b 시작되는 줄을 찾는다.

   

// '_' 사용하면 단일문자 매칭

   

// '%' 사용하면 문자의 부정 숫자를 매칭

   

// SQL 패턴 사용시 논리연산자 사용불가

   

// 대신 like 또는 not like 사용할 있다.

   

   

   

21. select * from pet where name like '%fy';

   

// pet테이블에서 name fy 끝나는 줄을 찾는다.

   

   

   

22. select * from pet where name like '%w%';

   

// pet테이블에서 name 이름 내에 w 포함하고 있는 줄을 찾는다.

   

   

   

23. select * from pet where name like '_____';

   

// pet테이블에서 5개의 문자로 name 되어있는 줄을 찾는다.

   

// _ 갯수만큼의 문자검색을 수가 있다.

   

   

   

24. select * from pet where name regexp '^b';

   

// pet테이블에서 name b 시작하는 줄을 찾는다.

   

// regexp 테스트가 되는 값이 있는 모든 곳에서 매칭

   

// like 전체값에서만 패턴매치를 진행

   

   

   

25. select * from pet where name regexp 'fy$';

   

// pet테이블에서 name fy 끝나는 줄을 찾는다.

   

   

   

26. select * from pet where naem regexp 'w';

   

// pet테이블에서 name 중간에 w 가지고 있는 줄을 찾는다.

   

   

   

27. select * from pet where regexp '^.....$';

   

// pet테이블에서 name 5문자인 줄을 찾는다.

   

// regexp에서는 . 단일문자로 취급한다.

   

   

   

28. select * from pet where name regexp '^.{5}$';

   

// pet테이블에서 name 5문자인 줄을 찾는다.

   

// {n} repeat - n - times 연산자이다.

   

   

   

29. select count(*) from pet;

   

// pet테이블에 개의 줄이 있는지 찾는다.

   

   

   

30. select owner, count(*) from pet group by owner;

   

// pet테이블에서 owner 이름에 따른 줄이 개가 있는지 그룹화한 결과를 출력한다.

   

// group by n n이란 속성에 따라 그룹화한다.

   

// 만약 select n 사용하고 뒤에 group by n 붙이지 않으면 에러가 발생한다.

   

// ex) select owner, count(*) from pet; <- ERROR 1140

   

   

   

31. select species, sex, count(*) from pet group by species, sex;

   

// pet테이블에서 species sex 조합에 따른 줄이 개가 있는지 그룹화한 결과를 출력한다.

   

   

   

32. select species, sex, count(*) from pet where species = 'dog' or species = 'cat' group by species, sex;

   

// pet 테이블에서 species 이름이 dog cat 줄들을 species sex 조합으로 그룹화하여 결과를 출력한다.

   

   

   

33. select species, sex, count(*) from pet where sex is not null group by species, sex;

   

// pet테이블에서 sex null 아닌 줄들을 species sex 조합으로 그룹화하여 결과를 출력한다.

   

   

   

34. select pet.name, (year(date)-year(birth)) as age, remark from pet, event where pet.name = event.name and event.type='litter';

   

// pet테이블의 name

   

// 오늘 날짜(date) 년도에서 birth 년도를 것을 age 것과

   

// remark

   

// pet event 테이블에서

   

// pet테이블의 name event테이블의 name 같고

   

// event테이블의 type litter 줄을 출력한다.

   

// 만약 name이나 type처럼 테이블에 동시에 있는 field같은 경우

   

// (테이블명).(필드명) 사용한다.

   

// 사용 할시 ambigugous 에러 발생

   

// ex) pet.name, event.type

   

   

   

35. select p1.name, p1.sex, p2.name, p2.sex, p1.species from pet as p1, pet as p2 where p1.species=p2.species and p1.sex='f' and p2.sex = 'm';

   

// pet테이블 pet테이블, 같은 2개의 테이블에서

   

// pet테이블에서 species값은 같지만

   

// sex에서 값이 'f' 'm'으로 다른

   

// 줄의 name, sex 각각 출력하고 species 출력한다.

   

// species 같으므로 테이블의 species 출력

   

   

   

36. select name,birth from pet order by birth;

   

// pet테이블에서 birth 기준으로 오름차순으로 정렬된 name birth 출력

   

   

   

37. select name,birth from pet order by binary name;

   

// pet테이블에서 name 기준으로 대소문자 구별하여 오름차순으로 정렬된 name birth 출력

   

// binary 사용하면 ASCII코드 값의 크기에 따라 정렬

   

   

   

38. select name, birth from pet order by birth desc;

   

// pet 테이블에서 birth 기준으로 내림차순으로 정렬된 name birth 출력한다

   

// 마지막에 desc입력시 내림차순 정렬

   

// desc 바로 앞에 있는 birth에만 영향을 미친다.

   

// 하나의 컬럼 이상의 컬럼에 영향을 주고 싶을 계속 써넣어줘야 한다.

   

   

   

39. select name, species, birth from pet order by species,birth desc;

   

// pet테이블에서 species birth 내림차순으로 기준을 name,species,birth 출력한다.

   

// 먼저 species기준으로 정렬후 birth 내림차순을 기준으로 삼아 정렬한다.

   

   

   

40. show index from pet;

   

// pet테이블에 있는 인덱스들을 보여준다.

   

   

   

41. select max(article) as article from shop;

   

// shop 테이블에서 article중에서 가장 값을 가진 것을 article이라는 이름으로 출력

   

// select max(A) as B from C;

   

// C테이블에서 A중에 가장 값을 가진 것을 B라는 이름 하에 출력

   

   

   

42. select article, dealer, price from shop where price=(select max(price) from shop);

   

// shop 테이블에서 price 가장 값인 줄의 price 선택하여 줄에 있는 article, dealer, price 출력

   

   

   

43. select article, dealer, price from shop order by price desc limit 1;

   

// shop테이블에서 price 내림차순으로 정렬하여 위에서 1개의 줄만 article,dealer,price 출력

   

// limit 들어가는 값은 출력해낼 줄의 숫자

   

// 47 예제보다 유동성있고 사용하기 편함

   

   

   

44. select article, max(price) as price from shop group by article;

   

// shop테이블에서 article, price 중에 가장 값만 price 하여 article 그룹화한 결과를 출력

   

   

   

45. select article, dealer, price from shop s1 where price=(select max(s2.price) from shop s2 where s1.article = s2.article);

   

//shop테이블에서 price 가장 높은 줄의 article,dealer,price 출력한다.

   

   

   

46. select @min_price:=min(price),@max_price:=max(price) from shop;

   

select * from shop where price=@min_price or price=@max_price;

   

// shop테이블에서 min_price라는 변수를 선언하고 값은 price 가장 작은

   

// 또한 shop테이블에서 max_price라는 변수를 선언하고 값은 price 가장

   

// shop테이블에서 price min_price값을 가지거나 max_price값을 가진 모두를 출력

   

   

   

47. select name, sex from pet where name='Claws' union select name,sex from pet where sex='f';

   

// pet테이블에서 name Claws 줄의 name, sex 출력하고

   

// pet테이블에서 sex f 줄의 name,sex 출력한다.

   

// union 개의 쿼리문 결과를 붙여서 보여준다.

   

// 따라서 select하는 필드값은 일치해야 한다.

   

원본 위치 <http://hosting.paran.com/helper/h_man_view.html?idx=150&s_userno=&s_title=&s_content=&s_my=&s_chk_ing=&s_cate_idx=&PageNo=1>

   

'성능 효율 > mysql' 카테고리의 다른 글

phpmyadmin설치  (0) 2009.03.24
2009. 3. 24. 21:22

iis mysql php zeroboard 설치

[제로보드 설치를 위한 디렉토리 구조]

D:\www\zboard -
제로보드 (가상)
D:\www\site1 -
작업용 웹사이트 디렉토리 1
D:\www\site2 -
작업용 웹사이트 디렉토리 1
D:\www\phpmyadmin - phpmyadmin
디렉토리 (가상
)

   

원본 위치 <http://www.apmsetup.com/tutorials.php?tutid=25&uid=98>

   

폴더구조

   

root 비밀번호 변경

   

update user set password=password('1234') where user ='root';

flush privileges;

installer파일 사용안하고 압축만풀었음

   

   

'성능 효율' 카테고리의 다른 글

iis mysql php zeroboard 설치2  (0) 2009.03.24