블로그 이미지

내 인생의 가장 젊은 날

내 인생에 있어서 가장 젊은 날, 젊기에 고민이 즐겁다. by 하늘치


'컴퓨터'에 해당되는 글 39건

  1. 2021.03.02 파이썬 bluetooth 어쩌고 오류 해결책
  2. 2015.12.09 모바일웹에서 사이드 메뉴 열 때, 메뉴만 스크롤 되도록 만들기
  3. 2014.04.24 서버에서 패스워드 만료기간 재설정하기(1)
  4. 2014.04.07 mysql replace
  5. 2014.03.07 iframe 의 z-index 문제 해결
  6. 2014.02.25 링크 클릭시 점선 제거하기 CSS
  7. 2014.02.18 부트스트랩과 함께 하는 기본 템플릿 구조
  8. 2014.02.18 ckeditor 에서 엔터시마다 p 태그 대신 br 태그가 적용되도록..
  9. 2014.02.06 [PHP] 타 도메인의 파일 유무 검사하기
  10. 2014.01.22 mysql 백업하기
  11. 2014.01.21 내 컴퓨터의 host 파일 수정하기
  12. 2013.10.29 유튜브(YouTube) object 공유소스코드 만들기
  13. 2013.10.27 레노버 노트북 밝기자동조절 해제하는 방법(3)
  14. 2010.01.07 윈도우 라이브 메일 세팅하기
  15. 2008.10.07 iframe 높이가 페이지 로드시에 자동조절
  16. 2008.09.19 input 체크박스 활용하기 1
  17. 2008.09.09 MEDION AKOYA E1210(B) 10인치 미니노트북의 혁명
  18. 2008.02.16 ruffi의 두 번째 페이지. ruffi.brinkster.net(3)
  19. 2008.01.30 완전 수작업으로 홈페이지 만들기, 어렵고나;;(2)
  20. 2008.01.23 홈페이지 만들어가기 자료.(2)
  21. 2008.01.22 PHP & MySQL
  22. 2008.01.18 MySQL : PHP로 만든 폼에서 입력 및 출력, 확인. another exercise..
  23. 2008.01.17 MySQL : php와 DB의 연결 2(1)
  24. 2008.01.16 MySQL : php와 DB의 연결
  25. 2008.01.15 MySQL : select, update, alter, delete, drop...
  26. 2008.01.14 CCNA 시험 신청..(2)
  27. 2008.01.14 MySQL : 데이타베이스 실습
  28. 2008.01.11 MySQL : 중간테스트
  29. 2008.01.10 MySQL : select, update, delete (DML)
  30. 2008.01.10 PHP : define, confirm,

파이썬 bluetooth 어쩌고 오류 해결책

[15896:26680:1217/153844.486:ERROR:device_event_log_impl.cc(211)] [15:38:44.485] Bluetooth: bluetooth_adapter_winrt.cc:1073 Getting Default Adapter failed.

  

 

크롬 드라이버를 사용하던 중 이런 에러가 떴었다. 

이럴땐 크롬 옵션에다가 아래의 문구를 삽입해 주면 해결이 된다. 

 

options = webdriver.ChromeOptions()
options.add_experimental_option('excludeSwitches', ['enable-logging'])
driver = webdriver.Chrome(options=options)

 

 

 

출처 : sulung-sulung.tistory.com/m/41?category=978576

Comment 0 Trackback 0
Top

모바일웹에서 사이드 메뉴 열 때, 메뉴만 스크롤 되도록 만들기

검색을 해보니, 스크롤 자체를 아예 막아버리는 코드들 밖에 없어서..

한참 고민하다가 딱 떠오른 생각에 해 보니 잘 된다.


일단은, 안드로이드 넥서스5에서만 체크 완료.




1. 모바일 사이드 메뉴

<div id="mbl_leftside" style="display:none; position:absolute; width:240px; height:auto; max-height:100%; overflow:auto; z-index:5; background-color:#fff;"></div>


2. 사이드 메뉴 열기 스크립트

<script>

  $('#mbl_leftside').fadeIn();

  $("body").css('overflow','hidden').css('display','fixed');

</script>


3. 사이드 메뉴 닫기 스크립트

<script>

  $('#mbl_leftside').fadeOut();

  $("body").css('overflow','').css('display','');
</script>




참고로, 구글링으로 검색했던 코드.

$("body").css({overflow:'hidden'}).bind('touchmove', function(e){e.preventDefault()});

$("body").css({ overflow: '' }).unbind('touchmove');


Comment 0 Trackback 0
Top

서버에서 패스워드 만료기간 재설정하기

# 패스워드 만료 기간 설정 확인
chage -l root
chage -l [계정ID]


# 패스워드 만료 설정을 변경
chage -M 99999 root
chage -M 99999 [계정ID]


# 패스워드 만료 설정을 해제 하시려면 아래와 같이 설정 하시면 됩니다.
chage -M 99999 root


 올레비즈에서 문의했던 내용에 대한 답글[각주:1]


  1. # 패스워드 만료 설정을 해제 하시려면 아래와 같이 설정 하시면 됩니다. chage -E -1 -I 0 -m 0 -M 99999 root [본문으로]
Comment 1 Trackback 2
  1. 2014.05.22 13:25 address edit & delete reply

    비밀댓글입니다

Top

mysql replace

UPDATE [테이블명] SET wr_content = REPLACE(wr_content, 'upload/', 'bkupload/') WHERE wr_content LIKE '%upload/%';

Comment 0 Trackback 0
Top

iframe 의 z-index 문제 해결

<iframe width="650" height="366" src="//www.youtube.com/embed/FPrTcpmGzfU" frameborder="0" allowfullscreen style="width:100%; max-height:100%; z-index:1;"></iframe>


<iframe width="650" height="366" src="//www.youtube.com/embed/FPrTcpmGzfU?wmode=opaque" frameborder="0" allowfullscreen style="width:100%; max-height:100%; z-index:1;"></iframe>

Comment 0 Trackback 0
Top

링크 클릭시 점선 제거하기 CSS

a {outline: none;}


Comment 0 Trackback 0
Top

부트스트랩과 함께 하는 기본 템플릿 구조

부트스트랩과 함께 하는 기본 템플릿 구조


출처 : http://getbootstrap.com/getting-started/#browsers



<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Bootstrap 101 Template</title>

    <!-- Bootstrap -->
    <link href="css/bootstrap.min.css" rel="stylesheet">

    <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
    <!--[if lt IE 9]>
      <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
      <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
    <![endif]-->
  </head>
  <body>
    <h1>Hello, world!</h1>

    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
    <!-- Include all compiled plugins (below), or include individual files as needed -->
    <script src="js/bootstrap.min.js"></script>
  </body>
</html>


Comment 0 Trackback 0
Top

ckeditor 에서 엔터시마다 p 태그 대신 br 태그가 적용되도록..

출처 : http://ckeditor.com/forums/Support/trying-use-br-instead-p


ckeditor 에서 엔터시마다 p 태그 대신 br 태그가 적용되도록 하는 방법이다.


ckeditor 의 config 파일에 아래 코드를 추가하기만 하면 된다. 



config.enterMode = CKEDITOR.ENTER_BR;



보통 이렇게 들어갈 것이다..



CKEDITOR.editorConfig = function( config ) {
    // Define changes to default configuration here.
    // For the complete reference:
    // http://docs.ckeditor.com/#!/api/CKEDITOR.config

    config.enterMode = CKEDITOR.ENTER_BR;

    config.toolbar = [
        { name: 'document', items : [ 'Source' ] },
        { name: 'basicstyles', items : [ 'Bold','-','RemoveFormat' ] }, /*   ,'Italic'   */
        { name: 'paragraph', items : [ 'Blockquote' ] }, /*   'NumberedList','BulletedList','-',   */
        { name: 'clipboard', items : [ 'Paste','PasteText','PasteFromWord','-','Undo','Redo' ] },
        { name: 'links', items : [ 'Link','Unlink' ] },
        { name: 'insert', items : [ 'Image','HorizontalRule','PageBreak'] },
        { name: 'styles', items : [ 'Format','FontSize' ] }, /*   ,'Font'   */
        { name: 'tools' , items : [ 'Maximize'] }
    ];

};




Comment 0 Trackback 0
Top

[PHP] 타 도메인의 파일 유무 검사하기


if(@fopen('[파일 url 주소]', "r")) :
    //echo "exist <br>";
else :
    //echo "no-exist <br>";
endif;

Comment 0 Trackback 0
Top

mysql 백업하기

1. 일반적으로 로컬에서 로컬로 백업할 때는 이렇다.


[user@www ~]$ mysqldump -u [DB유저ID] -p [DB명]  > db_backup_20140101.sql
[user@www ~]$ Enter password:
[user@www ~]$



2. 원격지에 있는 DB 를 백업받으려면 아래와 같이 하면 된다.


[user@www ~]$ mysqldump -u [DB유저ID] -p [DB명]  -h [원격지IP주소] -P [원격지PORT번호] > db_backup_20140101.sql

[user@www ~]$ Enter password:
[user@www ~]$



원격DB를 백업하려고 할 땐 해당 DB의 아이피와 포트번호를 넣어주면 된다.

여기서 유의해야 할 점은 작업하고 있는 곳의 아이피를 원격DB에서 접속이 가능하도록 설정되어 있어야 한다는 것이다.

Comment 0 Trackback 0
Top

내 컴퓨터의 host 파일 수정하기

이번에 서버를 이전했다.

도메인도 네임서버를 변경하고 IP 정보도 수정했다.


문제는 옮긴 웹서버에 도메인이 바로 착 붙지 않는다는 것이었다.

빠르면 몇 시간만에도 붙지만.. 일반적으로 도메인이 웹서버에 완전히 정착하는데 2~3일 정도 소요된다..


그래서.. 내 컴퓨터에선 제대로 나오지만, 다른 지역에선 그렇지 않은 경우가 생겼다. 


그럼 웹사이트가 안 나오는 컴퓨터에서는?


임시방편으로 윈도 컴터 안에 있는 host 파일을 수정하는 방법이 있다.

어떤 도메인에 어떤 아이피를 강제로 연결하는 거-


임시방편이므로 반드시 원래대로 돌려놔야 한다.


윈도우에서 host 파일의 위치..

C:\Windows\System32\Drivers\etc


참고로, 관리자 권한으로 저장해야 한다.



출처 : http://www.petri.co.il/edit-hosts-file-windows-8.htm

Comment 0 Trackback 0
Top

유튜브(YouTube) object 공유소스코드 만들기

유튜브(YouTube) object 공유소스코드 만들기

1. object 용 기본 폼.

<object width="560" height="315"><param name="movie" value="https://www.youtube.com/v/유튜브URL주소?version=3&amp;hl=ko_KR"& gt;</param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="https://www.youtube.com/v/유튜브URL주소?version=3&amp;hl=ko_KR" type="application/x-shockwave-flash" width="560" height="315" allowscriptaccess="always" allowfullscreen="true"></embed></object>



2. 유튜브 동영상 공유에 제공되는 고유 주소(http://youtu.be/ZVL4zTrB6a8)의 뒷부분(ZVL4zTrB6a8)을 위의 [유튜브URL주소] 부분에 넣으면 된다.





Comment 0 Trackback 0
Top

레노버 노트북 밝기자동조절 해제하는 방법

자동밝기조절 해제하는 곳이 이렇게 꽁꽁 숨어 있을 줄이야;;





Comment 3 Trackback 2
  1. ㅇㅇ 2014.12.07 19:35 address edit & delete reply

    감사합니당 덕분에 모니터 밝기 높히고가용

  2. 감사해요 2015.03.25 02:33 address edit & delete reply

    감사합니다!! :)

  3. 감사해요 2015.03.25 02:33 address edit & delete reply

    감사합니다!! :)

Top

윈도우 라이브 메일 세팅하기

1. 라이브 메일 다운로드 받기

http://download.live.com/  =>  http://download.live.com/wlmail  =>  다운로드를 클릭하여 다운로드합니다.

 


2. 라이브 메일 설치

다운 받은 라이브메일 파일을 더블클릭하여 설치합니다.

 

(1) 설치 초기화면입니다.

 

(2) 설치할 프로그램 선택 화면입니다. 필요하신 것만 선택하시면 됩니다.
혹시 익스플로러(인터넷 창, 웹브라우저..)가 실행중이면 잠시 닫아주세요.


 (3) 익스플로러가 하나라도 실행중이면 아래 화면이 나타납니다.

 

(4) 프로그램 설치 초기화면입니다.



(5) 설치 마지막 단계에서는 아래 3가지 체크박스가 나옵니다. 아무것도 원하지 않으실 경우 모두 해제하시면 됩니다.


(6) 드디어 프로그램 설치가 끝났습니다!


3. 라이브 메일 세팅

(1) 시작 > 프로그램 > Windows Live > Windows Live 메일,을 클릭합니다.
그러면 아래처럼 로그인 창이 뜹니다.


 

(2) 맨 처음에는 등록한 계정이 없기 때문에 로그인을 클릭하시면 아래처럼 경고창이 뜹니다.


 

 

(3) 그러므로 일단,  ESC 키를 누르시면 아래와 같은 라이브메일 기본 창이 뜹니다.
자 이제, 말 풍선에 나오는 것처럼 '메일 계정 추가'를 클릭해서 실제로 계정을 추가해보겠습니다..

 


(4) 계정추가 첫 화면입니다.

 

(5-1) 잘 알려진 계정(hotmail, gmail, daum 등등..)을 등록하시면 아래처럼 바로 완료 메시지가 뜨면서 계정 등록이 완료됩니다.


 

(5-2) 자체 계정인 경우, 아래 창이 뜹니다. 말풍선 내용대로 입력하시면 되겠습니다.


 

(6) 계정 추가를 완료했다는 메시지입니다.


Comment 0 Trackback 7
Top

iframe 높이가 페이지 로드시에 자동조절

iframe 높이가 자동으로 조절됨.

<script>

function ResizeiFrame(iframeObj)
{
  var innerBody = iframeObj.contentWindow.document.body;
  var innerHeight = innerBody.scrollHeight + (innerBody.offsetHeight - innerBody.clientHeight);
  iframeObj.style.height = innerHeight;
}

</script>

<iframe id="iframe_main" src="URL" width=100% marginwidth=0 marginheight=0 hspace=0 vspace=0 frameborder=0 scrolling=no   onload="ResizeiFrame(this)">

 



Comment 0 Trackback 7
Top

input 체크박스 활용하기 1

1. script

<script language="javascript" type="text/javascript">
<!--

function display(chk)
{
    if (chk.checked == true)
    {
        document.all["new_cal"].style.display="";
    } else {
        document.all["new_cal"].style.display="none";
    }
}

//-->
</script>


2. 코딩



<span style="position: relative; width: 25%; text-align: right;">
    <input type="checkbox" onclick="display(this)" style="border: 0;">2. 두께의 새로운 공식 보기
</span>

<span id='new_cal' style='display: none;'>
<%
    If val = "air" Then
        Call cert_air()
    ElseIf val = "water" Then
        Call cert_water()
    ElseIf val = "press" Then
        Call cert_press()
    End If
%>
</span>


Comment 0 Trackback 0
Top

MEDION AKOYA E1210(B) 10인치 미니노트북의 혁명

MEDION AKOYA E1210(B) 10인치 미니노트북의 혁명(아톰CPU탑재,160GB HDD, Draft-N기술채용)


마음이 가고 있는 미니노트북.. 오호...

단점으로는 3셀의 부족한 배터리용량과, 발열이라던데.. 어떨까??


Comment 0 Trackback 0
Top

ruffi의 두 번째 페이지. ruffi.brinkster.net


학교에서 배운 asp와 MsSQL을 지원해주는 무료계정 찾기가 너무 어렵다.
하긴.. 조금만 생각해봐도, MsSQL 서버를 무료로 주는 곳이 있을 거라고는 믿기 힘들다.

대신, Access를 DB로 쓸 수 있는 곳이 있었다.

http://www.brinkster.com

이곳이 바로 거기.

가입도, 사용도 모두 영어권 사람들을 위한 곳인지라, 좀 헤매긴 했지만..
대충 성공.

http://ruffi.brinkster.net

원래 홈페이지는 닷컴인데, 사용자들의 계정은 닷넷이다.
처음에 그거 하나 좀 헷갈렸음.

지금은 그냥 주소록만 쓰고 보고 지울 수 있게 해 놓았을 뿐이지만, 곧 모양을 갖출 수 있기를...








덧글.

학교 수료하고나서 취업하는 것에 대해 자꾸만 회의감이 느껴진다. 어떡하지???
역시 네트워크 보안, 정보 보안에 대해 제대로 배울 수 있는 곳을 다시 찾아야 하나..
Comment 3 Trackback 1
  1. Favicon of http://www.kangsign.com 강자이너 2008.02.19 03:30 address edit & delete reply

    잘은 모르겠지만 옛날에 미리내에서 무료로 asp하고 지원해주지 않았던가요?

    • Favicon of https://blog.openuri.net 하늘치 2008.02.20 19:55 신고 address edit & delete

      앗.. 그랬나요?
      저는 미리내를 몇 달 전에야 알았거든요.
      실제 가입한 건 몇 주 전이구요. 암튼, 여전히 ASP와 MSSQL을 모두 지원해주는 곳은 찾기 힘들군요. 외국의 웹호스팅 사이트가 있는 것 같긴 하던데 말이에요.

      ^^

  2. Favicon of http://jiguin.co.kr 김동우 2008.07.29 10:41 address edit & delete reply

    속도는 어떤가요?

Top

완전 수작업으로 홈페이지 만들기, 어렵고나;;


http://ruffi.mireene.com

요즘 배우고 있는, 홈페이지 만들기..

네트워크 보안을 배우러 왔다가 홈페이지 만들기만 배우고 갈 듯 싶다;

ㅠ.ㅠ


회원 가입과 게시판 등..
PHP와 MySQL을 이용해 완전 수작업했다.
그래도 예전에 혼자서 해보려고 용쓰다가 포기했던 걸 생각해보면,
이런 걸 배우는 게 나름 재밌긴 하다.
내가 원했던 돈벌기 수단과는 좀 많이 먼 것 같긴 하지만,
이런 게 다 차곡차곡 쌓여서 그저 내 실력이 되기를...

그나저나 CCNA는 언제 볼까나..
수업으로 배워서 칠 생각은 버린 지 오래 됐고,
여기저기 돌아다니는 소스로 시험을 치기엔 조금 부담스럽다.
결국.. 책으로 한 번 훑어본 다음 소스를 참고하는 방법으로!

에효.. 외우기만 하면 되는데... 그게 안되니 원;


Comment 2 Trackback 0
  1. Favicon of http://yomentie.tistory.com/ Kristin 2008.02.05 21:28 address edit & delete reply

    홈페이지 따로 만드시게요?^^

    돈벌기 수단이라~~~
    흠... 어떻게 하면 돈 벌기 수단이 되는지 궁금 ^^
    저도 좀 갈켜주시면? ㅋㅋㅋ

    새해 복 많이 받으세요 ^^

    • Favicon of https://blog.openuri.net 하늘치 2008.02.06 15:33 신고 address edit & delete

      하핫;

      돈 벌기 수단이라고 함은,
      직업을 우회적으로 표현한 것에 불과하답니다.. ^^;

      크리스틴님도 새해 많은 복을 받고, 또 나눠주시길 바랍니다~ 저한테도 좀 주시고요.. ㅋㅋㅋ

Top

홈페이지 만들어가기 자료.

1. 홈페이지 만들기 과정(진행중..)
- 로그인, 아이디/비밀번호 찾기, 게시판



2. 세션 설명


Comment 2 Trackback 0
  1. Favicon of http://ggoi.tistory.com 꼬이 2008.01.24 11:14 신고 address edit & delete reply

    핫..홈페이지를 만드는 중이신가요? 아니면 강좌를 올리시는건가요?
    펌이라면 몰라도 그게 아니라면 웹디자이너신가요?
    머리가 아파서 몇번 배우고자 했지만 포기했답니다...지금은 블로그의 편리함에 빠져 아예 손놓고 있지요..^^ 노력은 안하면서 그저 부럽다고 입으로만 중얼댑니다.ㅠ.ㅠ

    • Favicon of https://blog.openuri.net 하늘치 2008.01.24 17:13 신고 address edit & delete

      ^^;
      그냥 배우고 있는 중이랍니다.
      배운 걸 그날 그날 정리하는 게 일단 목표였는데..
      쉽지 않네요;; 따라하기도 급급해서 말이에요. ㅋ

      나중에 블로그 스킨 수정할 때 좀 도움을 받을 것 같긴 합니다. ^^; 새롭게 만들 정도까지는... ㅠ.ㅠ

Top

PHP & MySQL

로그인 페이지 만들기..



Comment 0 Trackback 0
Top

MySQL : PHP로 만든 폼에서 입력 및 출력, 확인. another exercise..

웹에서 데이타 입력하고, 나타내기.


1. 테이블 만들기.

create table jusolist (
no int(11) not null auto_increment,
name varchar(30),
tel varchar(40),
juso varchar(50),
email varchar(30),
primary key (no)
);
 
 
mysql> create table jusolist (
    -> no int(11) not null auto_increment,
    -> name varchar(30),
    -> tel varchar(40),
    -> juso varchar(50),
    -> email varchar(30),
    -> primary key (no)
    -> );
Query OK, 0 rows affected (0.11 sec)
mysql> desc jusolist;
+-------+-------------+------+-----+---------+----------------+
| Field | Type        | Null | Key | Default | Extra          |
+-------+-------------+------+-----+---------+----------------+
| no    | int(11)     |      | PRI | NULL    | auto_increment |
| name  | varchar(30) | YES  |     | NULL    |                |
| tel   | varchar(40) | YES  |     | NULL    |                |
| juso  | varchar(50) | YES  |     | NULL    |                |
| email | varchar(30) | YES  |     | NULL    |                |
+-------+-------------+------+-----+---------+----------------+
5 rows in set (0.03 sec)


Comment 0 Trackback 0
Top

MySQL : php와 DB의 연결 2


1. php_exam 이라는 DB에 member 라는 테이블 생성
==================================================================

mysql> show databases;
+----------+
| Database |
+----------+
| company  |
| mysql    |
| onepiece |
| php_exam |
+----------+
4 rows in set (0.00 sec)


mysql> use php_exam;
Database changed


mysql> show tables;
+--------------------+
| Tables_in_php_exam |
+--------------------+
| php_tbl            |
+--------------------+
1 row in set (0.00 sec)


mysql> create table member(name varchar(10), phone varchar(15), sex varchar(4), address varchar(50), age varchar(4));
Query OK, 0 rows affected (0.08 sec)


mysql> show tables;
+--------------------+
| Tables_in_php_exam |
+--------------------+
| member             |
| php_tbl            |
+--------------------+
2 rows in set (0.00 sec)





2. 생성된 테이블에 내용을 입력하기 위한 php 페이지 작성.
==================================================================

1) 회원등록과 회원검색을 위한 페이지를 만든다.
-> m_main.php

2) 웹상에서 입력할 수 있게 하는 form 양식의 페이지를 만들고,
-> m_form.php

3) 먼저 MySQL에 접속, 그리고 원하는 DB에 접속할 수 있게 하는 파일을 다른 어느 페이지에서든 include 할 수 있게끔 따로 만들어 놓은 후, 
-> dbinfo.inc

4) 폼에서 입력한 내용을 데이타베이스(DB)에 저장(insert)시키는 페이지를 만든다. 여기에 dbinfo.inc를 include 시킨다.
-> m_insert.php


1)m_main.php
<HTML>
<HEAD></HEAD>

<BODY>
<h3>간단한 회원 등록 및 검색 서비스</h3>
1. <a href="m_regist.php">회원 등록</a><br>
2. <a href="m_search.php">회원 검색</a><br>
</BODY>

</HTML>


2)m_form.php
<form name=f1 method=post action=m_insert.php>

<table>
    <tr>
        <td>회원이름 : </td>
        <td><input type=text name=name></td>
    </tr>

    <tr>
        <td>전화번호 : </td>
        <td><input type=text name=phone></td>
    </tr>

    <tr>
        <td>남녀성별 : </td>
        <td><input type=radio name=sex value=male>남자
              <input type=radio name=sex value=female>여자</td>
    </tr>

    <tr>
        <td>주소 : </td>
        <td><select name=address1 size=1>
                <option value="서울">서울</option>
                <option value="경기">경기</option>
                <option value="강원">강원</option>
                <option value="충북">충북</option>
                <option value="충남">충남</option>
                <option value="경북">경북</option>
                <option value="경남">경남</option>
                <option value="전남">전남</option>
                <option value="전북">전북</option>
                <option value="제주">제주</option>
            </select>
            <input type=text size=50 name=address2></td>
    </tr>

    <tr>
        <td>나이 : </td>
        <td><input type=text name=age></td>
    </tr>

    <tr>
        <td colspan=2>
            <input type=submit value=입력>
            <input type=reset value=취소>
        </td>
    </tr>

</table>
</form>


3)dbinfo.inc
<?php

$host="localhost";
$user="root";
$password="apmsetup";

$conn=mysql_connect($host, $user, $password);        //mysql 연결 설정
mysql_select_db("php_exam", $conn);                        //DB에 접속


/*
연결 확인
if($conn) echo "db연결";
else echo "db연결 실패";
*/

?>


4)m_insert.php
<?php

include 'dbinfo.inc';            //설정파일 불러오기

if($sex==male)                   //성별 결정
    $sex="남자";
else if($sex==female)
    $sex="여자";

$address=$address1. " " .$address2;    //주소 완성


/* insert 구문 */
$sql="insert into member values('$name', '$phone', '$sex', '$address', '$age')";
mysql_query($sql, $conn);        //sql 질의 수행.

mysql_close($conn);                //db 연결 종료. ram 에서 삭제.

echo "등록 완료. 축하드립니다. <br>";
echo ("<a href='m_main.php'>초기화면으로</a>");

?>


*** 지금까지의 결과... ***
사용자 삽입 이미지







사용자 삽입 이미지





5)m_list.php

<?php

include 'dbinfo.inc';  //db연결부분.

$sql="select * from member order by name"; //선택 질의
$sql_result=mysql_query($sql, $conn);  //질의 수행.

$count=mysql_num_rows($sql_result);  //행의 개수


//레코드 출력부분.
echo ("<table border=1 width=500>
 <tr>
  <td>회원명</td>
  <td>전화번호</td>
  <td>성별</td>
  <td>주소</td>
  <td>나이</td>
     </tr>");  
 


for($i=0; $i<$count; $i++)
{


/*  //첫번째 방법

 $name=mysql_result($sql_result, $i, name);
 $phone=mysql_result($sql_result, $i, phone);
 $sex=mysql_result($sql_result, $i, sex);
 $address=mysql_result($sql_result, $i, address);
 $age=mysql_result($sql_result, $i, age);

echo ("<tr>
    <td>$name</td>
    <td>$phone</td>
    <td>$sex</td>
    <td>$address</td>
    <td>$age</td>
 </tr>");  // 한 레코드씩 찍어주는 부분.

*/



/*  //두번째 방법 */

$result_array=mysql_fetch_array($sql_result);
echo("<tr>
   <td>$result_array[name]</td>
   <td>$result_array[phone]</td>
   <td>$result_array[sex]</td>
   <td>$result_array[address]</td>
   <td>$result_array[age]</td>
  </tr>");  


}

echo ("</table>");
echo ("<br><a href='m_main.php'>초기화면으로</a>");


?>



*** 지금까지의 결과보기. ***
* 웹에서 등록해보기



* 등록한 후, 입력.
사용자 삽입 이미지


* 입력한 내용을 확인할 수 있다.
사용자 삽입 이미지


* 입력한 내용을 MySQL에서도 확인.


Comment 1 Trackback 0
  1. Favicon of https://blog.openuri.net 하늘치 2008.01.19 11:15 신고 address edit & delete reply

    윽; 태안은 충남인데;;

Top

MySQL : php와 DB의 연결


=====================================================================
1 번째. 먼저 MySQL에서 'php_exam'이라는 database 를 하나 만든다.
=====================================================================

mysql> create database php_exam;
Query OK, 1 row affected (0.06 sec)

mysql> show databases;
+----------+
| Database |
+----------+
| company  |
| mysql    |
| php_exam |
+----------+
3 rows in set (0.00 sec)

mysql> use php_exam;
Database changed

mysql> show tables;
Empty set (0.00 sec)



======================================================================
2번째. 웹에서 테이블을 만들수 있게 하는 php페이지를 작성한다.
======================================================================

<?php
// 1. 연결 : mysql_connect(호스트명, 아이디, 비밀번호)
$conn=mysql_connect('localhost', 'root', 'apmsetup'); //db 연결부분

     /*
     if($conn)
      echo "db연결성공";
     else
      echo "db연결 실패";
     */

// DB 선택 : mysql_select_db(해당 db명, $conn)
$db=mysql_select_db("php_exam", $conn);
if($db)
 echo "db 연결성공";
else
 echo "db 연결 실패";


// DB에 table 쿼리(query 질의).
$sql="create table php_tbl(num int, name varchar(10))";
//mysql_query($sql, $conn)  db에 질의 수행.
mysql_query($sql, $conn);
?>

// 테이블이 생성되었음을 알려주는 경고창. 물론, 쿼리와 직접적 상관은 없다;
<script>
alert("테이블 생성");
</script>



======================================================================
3번째. 웹에서 만든 테이블을 mysql에서 확인.
======================================================================

msql> show tables;
+--------------------+
| Tables_in_php_exam |
+--------------------+
| php_tbl            |
+--------------------+
1 row in set (0.00 sec)

mysql> desc php_tbl;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| num   | int(11)     | YES  |     | NULL    |       |
| name  | varchar(10) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.01 sec)


======================================================================
4번째. 이번에는 웹에서 테이블 내용을 입력하게 하는 php 페이지 작성.
======================================================================

<?php

$host="localhost";
$user="root";
$password="apmsetup";

$conn=mysql_connect($host, $user, $password);
mysql_select_db("php_exam", $conn);

$sql="insert into php_tbl values(1, '홍길동')";
mysql_query($sql, $conn);

$sql="insert into php_tbl values(2, '루피')";
mysql_query($sql, $conn);

?>

<script>
alert("DB 입력 성공! mysql에서 확인해보세요!");
</script>



======================================================================
5번째. 웹에서 입력한 테이블 내용을 MySQL에서 확인하기.
======================================================================

mysql> select * from php_tbl;
+------+--------+
| num  | name   |
+------+--------+
|    1 | 홍길동 |
|    2 | 루피   |
+------+--------+
2 rows in set (0.02 sec)








======================================================================
special test..  내맘대로 만들어보기.
======================================================================






======================================================================
6 번째. 입력된 내용을 불러와 웹상에서 확인해보기.
======================================================================
http://localhost/db_m/dbselect.php
<?php

$conn=mysql_connect('localhost', 'root', 'apmsetup');     //MySQL 접속 및 설정 저장
mysql_select_db("php_exam", $conn);            //DB 접속

$sql="select * from php_tbl";                         //test 테이블의 레코드를 모두 뽑아오기
$sql_result=mysql_query($sql, $conn);          //질의(위 내용)를 수행하라.


$count=mysql_num_rows($sql_result);          //mysql_num_rows() 함수 : 행의 개수를 세는 함수.
echo $count;     //mysql query 수행 후 반환되는 결과값을 매개변수로 받고 그 레코드의 개수를 반환

echo "<br><br>";




//mysql_result(쿼리실행결과, 행번호, 변수값) : 결과값을 행 단위로 화면에 출력해주는 함수.
/*
for($i=0; $i<$count; $i++)
{
    $num=mysql_result($sql_result, $i, num);
    $name=mysql_result($sql_result, $i, name);
   
    echo "$num : $name <br>";
}
*/



//mysql_fetch_array($sql_result) 배열 형식으로 결과값을 화면상에 출력해주는 역할..
for($i=0; $i<$count; $i++)
{
    $result_array=mysql_fetch_array($sql_result);
    echo "$result_array[num] : $result_array[name] <br>";
}

?>

실행 결과

Comment 0 Trackback 0
Top

MySQL : select, update, alter, delete, drop...


==============================================================
*
select c.customerid, c.name, o.orderid
from customers c, orders o join
orders on c.customerid=o.customerid;

select customers.customerid, customers.name, orders.orderid
from customers left join orders orders on customers.customerid=orders.customerid;




============= left join =================
p.314

left join ... on(where와 비슷한 기능)
left join ... using(사용할 공통항목을 넣어주는 곳.)
-----------------------------------------

mysql> select * from customers;
+------------+-----------------+--------------------+--------------+
| customerid | name            | address            | city         |
+------------+-----------------+--------------------+--------------+
|          3 | Julie Smith     | 25 Oak Street      | Airport West |
|          4 | Alan Wong       | 1/47 Haines Avenue | Box Hill     |
|          5 | Michelle Arthur | 357 North Road     | Yarraville   |
+------------+-----------------+--------------------+--------------+
3 rows in set (0.59 sec)


mysql> select * from orders;
+---------+------------+--------+------------+
| orderid | customerid | amount | date       |
+---------+------------+--------+------------+
|       1 |          5 |  69.98 | 2000-04-02 |
|       2 |          3 |  49.99 | 2000-04-15 |
|       3 |          4 |  74.98 | 2000-04-19 |
|       4 |          5 |  24.99 | 2000-05-01 |
+---------+------------+--------+------------+
4 rows in set (0.08 sec)


============ 결과의 차이 ==============

mysql> select customers.customerid, customers.name, orders.orderid
    -> from customers join orders orders on customers.customerid=orders.customerid;
+------------+-----------------+---------+
| customerid | name            | orderid |
+------------+-----------------+---------+
|          5 | Michelle Arthur |       1 |
|          3 | Julie Smith     |       2 |
|          4 | Alan Wong       |       3 |
|          5 | Michelle Arthur |       4 |
+------------+-----------------+---------+
4 rows in set (0.00 sec)


mysql> select customers.customerid, customers.name, orders.orderid
    -> from customers left join orders orders on customers.customerid=orders.customerid;
+------------+-----------------+---------+
| customerid | name            | orderid |
+------------+-----------------+---------+
|          3 | Julie Smith     |       2 |
|          4 | Alan Wong       |       3 |
|          5 | Michelle Arthur |       1 |
|          5 | Michelle Arthur |       4 |
+------------+-----------------+---------+
4 rows in set (0.00 sec)













mysql> select * from orders order by customerid;
+---------+------------+--------+------------+
| orderid | customerid | amount | date       |
+---------+------------+--------+------------+
|       2 |          3 |  49.99 | 2000-04-15 |
|       3 |          4 |  74.98 | 2000-04-19 |
|       1 |          5 |  69.98 | 2000-04-02 |
|       4 |          5 |  24.99 | 2000-05-01 |
+---------+------------+--------+------------+
4 rows in set (0.00 sec)



mysql> select customerid, avg(amount) from orders
    -> group by customerid;
+------------+-------------+
| customerid | avg(amount) |
+------------+-------------+
|          3 |   49.990002 |
|          4 |   74.980003 |
|          5 |   47.485002 |
+------------+-------------+


mysql> select customerid, avg(amount) from orders
    -> group by customerid
    -> having avg(amount)>=50;
+------------+-------------+
| customerid | avg(amount) |
+------------+-------------+
|          4 |   74.980003 |
+------------+-------------+
1 row in set (0.00 sec)











mysql> select * from orders;
+---------+------------+--------+------------+
| orderid | customerid | amount | date       |
+---------+------------+--------+------------+
|       1 |          5 |  69.98 | 2000-04-02 |
|       2 |          3 |  49.99 | 2000-04-15 |
|       3 |          4 |  74.98 | 2000-04-19 |
|       4 |          5 |  24.99 | 2000-05-01 |
+---------+------------+--------+------------+
4 rows in set (0.00 sec)

mysql> select customerid, amount
    -> from orders
    -> where amount = (select max(amount) from orders);
+------------+--------+
| customerid | amount |
+------------+--------+
|          4 |  74.98 |
+------------+--------+
1 row in set (0.00 sec)

=> 이 경우 하위 쿼리에서 단 하나의 값(최대 양)만이 리턴된다. 그 결과는 상위 쿼리에서 비교하기

위해 사용된다. 이런 것은 ANSI SQL의 조인을 사용해서는 멋지게 해낼 수 없는 쿼리이기 때문에 하위

쿼리 예로 좋은 것 같다.


mysql> select customerid, amount
    -> from orders
    -> order by amount desc
    -> limit 1;
+------------+--------+
| customerid | amount |
+------------+--------+
|          4 |  74.98 |
+------------+--------+
1 row in set (0.03 sec)

=> Limit에 의존..
















mysql> select isbn, title from books
    -> where not exists
    -> (select * from order_items where order_items.isbn=books.isbn);
+---------------+-------------+
| isbn          | title       |
+---------------+-------------+
| 0-672-31557-3 | Great Grace |
+---------------+-------------+
1 row in set (0.00 sec)

mysql> select * from books;
+---------------+----------------+---------------------------------------------------+-------+
| isbn          | author         | title                                             | price |
+---------------+----------------+---------------------------------------------------+-------+
| 0-672-31509-2 | Pruitt, et al. | Teach Yourself GIMP in 24 Hours                   | 24.99 |
| 0-672-31557-3 | Philips        | Great Grace                                       | 30.99 |
| 0-672-31697-8 | Michael Morgan | Java 2 for Professional Developers                | 34.99 |
| 0-672-31745-1 | Thomas Down    | Installing Debian GNU/Linux                       | 24.99 |
| 0-672-31769-9 | Thomas Schenk  | Caldera OpenLinux System Administration Unleashed | 49.99 |
+---------------+----------------+---------------------------------------------------+-------+
5 rows in set (0.00 sec)

mysql> select * from order_items;
+---------+---------------+----------+
| orderid | isbn          | quantity |
+---------+---------------+----------+
|       1 | 0-672-31697-8 |        2 |
|       2 | 0-672-31769-9 |        1 |
|       3 | 0-672-31509-2 |        1 |
|       3 | 0-672-31769-9 |        1 |
|       4 | 0-672-31745-1 |        3 |
+---------+---------------+----------+
5 rows in set (0.00 sec)












p.321 하위 쿼리를 임시테이블로 사용하기.

mysql> select * from
    -> (select customerid, name from customers where city='Box Hill')
    -> as box_hill_customers;
+------------+-----------+
| customerid | name      |
+------------+-----------+
|          4 | Alan Wong |
+------------+-----------+
1 row in set (0.03 sec)



mysql> select customerid, name from customers where city='Box Hill';
+------------+-----------+
| customerid | name      |
+------------+-----------+
|          4 | Alan Wong |
+------------+-----------+
1 row in set (0.00 sec)











mysql> select * from books;
+---------------+----------------+---------------------------------------------------+-------+
| isbn          | author         | title                                             | price |
+---------------+----------------+---------------------------------------------------+-------+
| 0-672-31509-2 | Pruitt, et al. | Teach Yourself GIMP in 24 Hours                   | 24.99 |
| 0-672-31557-3 | Philips        | Great Grace                                       | 30.99 |
| 0-672-31697-8 | Michael Morgan | Java 2 for Professional Developers                | 34.99 |
| 0-672-31745-1 | Thomas Down    | Installing Debian GNU/Linux                       | 24.99 |
| 0-672-31769-9 | Thomas Schenk  | Caldera OpenLinux System Administration Unleashed | 49.99 |
+---------------+----------------+---------------------------------------------------+-------+
5 rows in set (0.00 sec)

mysql> update books
    -> set price=price*1.1;
Query OK, 5 rows affected (0.09 sec)
Rows matched: 5  Changed: 5  Warnings: 0

mysql> select * from books;
+---------------+----------------+---------------------------------------------------+-------+
| isbn          | author         | title                                             | price |
+---------------+----------------+---------------------------------------------------+-------+
| 0-672-31509-2 | Pruitt, et al. | Teach Yourself GIMP in 24 Hours                   | 27.49 |
| 0-672-31557-3 | Philips        | Great Grace                                       | 34.09 |
| 0-672-31697-8 | Michael Morgan | Java 2 for Professional Developers                | 38.49 |
| 0-672-31745-1 | Thomas Down    | Installing Debian GNU/Linux                       | 27.49 |
| 0-672-31769-9 | Thomas Schenk  | Caldera OpenLinux System Administration Unleashed | 54.99 |
+---------------+----------------+---------------------------------------------------+-------+
5 rows in set (0.00 sec)










=================================================
update customers
set address = '250 Olsens Road'
where customerid = 4;
=================================================

mysql> select * from customers;
+------------+-----------------+--------------------+--------------+
| customerid | name            | address            | city         |
+------------+-----------------+--------------------+--------------+
|          3 | Julie Smith     | 25 Oak Street      | Airport West |
|          4 | Alan Wong       | 1/47 Haines Avenue | Box Hill     |
|          5 | Michelle Arthur | 357 North Road     | Yarraville   |
+------------+-----------------+--------------------+--------------+
3 rows in set (0.00 sec)

mysql> update customers
    -> set address = '250 Olsens Road'
    -> where customerid = 4;
Query OK, 1 row affected (0.09 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> select * from customers;
+------------+-----------------+-----------------+--------------+
| customerid | name            | address         | city         |
+------------+-----------------+-----------------+--------------+
|          3 | Julie Smith     | 25 Oak Street   | Airport West |
|          4 | Alan Wong       | 250 Olsens Road | Box Hill     |
|          5 | Michelle Arthur | 357 North Road  | Yarraville   |
+------------+-----------------+-----------------+--------------+
3 rows in set (0.00 sec)













p324
=================================================
alter table customers
modify name char(70) not null;
=================================================

mysql> desc customers;
+------------+------------------+------+-----+---------+----------------+
| Field      | Type             | Null | Key | Default | Extra          |
+------------+------------------+------+-----+---------+----------------+
| customerid | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| name       | char(50)         | NO   |     |         |                |
| address    | char(100)        | NO   |     |         |                |
| city       | char(30)         | NO   |     |         |                |
+------------+------------------+------+-----+---------+----------------+
4 rows in set (0.09 sec)


mysql> alter table customers
    -> modify name char(70) not null;
Query OK, 3 rows affected (0.47 sec)
Records: 3  Duplicates: 0  Warnings: 0

mysql> desc customers;
+------------+------------------+------+-----+---------+----------------+
| Field      | Type             | Null | Key | Default | Extra          |
+------------+------------------+------+-----+---------+----------------+
| customerid | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| name       | char(70)         | NO   |     |         |                |
| address    | char(100)        | NO   |     |         |                |
| city       | char(30)         | NO   |     |         |                |
+------------+------------------+------+-----+---------+----------------+
4 rows in set (0.00 sec)








=================================================
alter table orders
add tax float(6.2) after amount;
=================================================


mysql> select * from orders;
+---------+------------+--------+------------+
| orderid | customerid | amount | date       |
+---------+------------+--------+------------+
|       1 |          5 |  69.98 | 2000-04-02 |
|       2 |          3 |  49.99 | 2000-04-15 |
|       3 |          4 |  74.98 | 2000-04-19 |
|       4 |          5 |  24.99 | 2000-05-01 |
+---------+------------+--------+------------+
4 rows in set (0.00 sec)


mysql> alter table orders
    -> add tax float(6,2) after amount;
Query OK, 4 rows affected (0.23 sec)
Records: 4  Duplicates: 0  Warnings: 0


mysql> select * from orders;
+---------+------------+--------+------+------------+
| orderid | customerid | amount | tax  | date       |
+---------+------------+--------+------+------------+
|       1 |          5 |  69.98 | NULL | 2000-04-02 |
|       2 |          3 |  49.99 | NULL | 2000-04-15 |
|       3 |          4 |  74.98 | NULL | 2000-04-19 |
|       4 |          5 |  24.99 | NULL | 2000-05-01 |
+---------+------------+--------+------+------------+
4 rows in set (0.00 sec)






삭제
=================================================
delete from 'table명';
ex) delete from customers where customerid=5;

drop table 'table명';

drop database 'database명';
=================================================



mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| bookorama          |
| company            |
| mysql              |
| sqltest            |
| test               |
+--------------------+
6 rows in set (0.03 sec)


mysql> drop database bookorama;
Query OK, 5 rows affected (0.27 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| company            |
| mysql              |
| sqltest            |
| test               |
+--------------------+
5 rows in set (0.00 sec)


Comment 0 Trackback 0
Top

CCNA 시험 신청..

http://www.daoudata.co.kr/

1월 18일 저녁 7시 30분.
시험 신청..
삼성역이던가;

열심히 하자! 아자!!

Comment 2 Trackback 0
  1. Favicon of http://www.kangsign.com 강자이너 2008.01.15 01:01 address edit & delete reply

    무슨 시험인가요?+_+

    • Favicon of https://blog.openuri.net 하늘치 2008.01.15 09:12 신고 address edit & delete

      CCNA라는, '컴퓨터 네트워크'에 관한 초보 자격증이에요. 국제적 자격증이라는 것 때문에 취득하는거죠.. ㅋ 취업에도 도움이 되구요..

      사실, 자격증과는 별도로 실력을 쌓는 것이 제겐 더 시급하지요. ㅠ.ㅠ

Top

MySQL : 데이타베이스 실습


MySQL

p.290
primary key
- 단일키
- 복합키

===================================================

mysql> create database bookorama;
Query OK, 1 row affected (0.20 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| bookorama          |
| company            |
| mysql              |
| sqltest            |
| test               |
+--------------------+
6 rows in set (0.20 sec)

mysql> use bookorama;
Database changed

===================================================

mysql> create table customers
    -> (
    -> customerid int unsigned not null auto_increment primary key,
    -> name char(50) not null,
    -> address char(100) not null,
    -> city char(30) not null
    -> );
Query OK, 0 rows affected (0.91 sec)

mysql> desc customers;
+------------+------------------+------+-----+---------+----------------+
| Field      | Type             | Null | Key | Default | Extra          |
+------------+------------------+------+-----+---------+----------------+
| customerid | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| name       | char(50)         | NO   |     |         |                |
| address    | char(100)        | NO   |     |         |                |
| city       | char(30)         | NO   |     |         |                |
+------------+------------------+------+-----+---------+----------------+
4 rows in set (0.13 sec)


===================================================


mysql> create table orders
    -> (
    -> orderid int unsigned not null auto_increment primary key,
    -> customerid int unsigned not null,
    -> amount float(6,2),
    -> date date not null
    -> );
Query OK, 0 rows affected (0.22 sec)

mysql> desc orders;
+------------+------------------+------+-----+---------+----------------+
| Field      | Type             | Null | Key | Default | Extra          |
+------------+------------------+------+-----+---------+----------------+
| orderid    | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| customerid | int(10) unsigned | NO   |     |         |                |
| amount     | float(6,2)       | YES  |     | NULL    |                |
| date       | date             | NO   |     |         |                |
+------------+------------------+------+-----+---------+----------------+
4 rows in set (0.03 sec)


===================================================


mysql> create table books
    -> (
    -> isbn char(13) not null primary key,
    -> author char(50),
    -> title char(100),
    -> price float(4,2)
    -> );
Query OK, 0 rows affected (0.22 sec)

mysql> desc books;
+--------+------------+------+-----+---------+-------+
| Field  | Type       | Null | Key | Default | Extra |
+--------+------------+------+-----+---------+-------+
| isbn   | char(13)   | NO   | PRI |         |       |
| author | char(50)   | YES  |     | NULL    |       |
| title  | char(100)  | YES  |     | NULL    |       |
| price  | float(4,2) | YES  |     | NULL    |       |
+--------+------------+------+-----+---------+-------+
4 rows in set (0.06 sec)


===================================================


mysql> create table order_items
    -> (
    -> orderid int unsigned not null,
    -> isbn char(13) not null,
    -> quantity tinyint unsigned,
    ->
    -> primary key (orderid, isbn)
    -> );
Query OK, 0 rows affected (0.14 sec)

mysql> desc order_items;
+----------+---------------------+------+-----+---------+-------+
| Field    | Type                | Null | Key | Default | Extra |
+----------+---------------------+------+-----+---------+-------+
| orderid  | int(10) unsigned    | NO   | PRI |         |       |
| isbn     | char(13)            | NO   | PRI |         |       |
| quantity | tinyint(3) unsigned | YES  |     | NULL    |       |
+----------+---------------------+------+-----+---------+-------+
3 rows in set (0.02 sec)


===================================================


mysql> create table book_reviews
    -> (
    -> isbn char(13) not null primary key,
    -> review text
    -> );
Query OK, 0 rows affected (0.11 sec)

mysql> desc book_reviews;
+--------+----------+------+-----+---------+-------+
| Field  | Type     | Null | Key | Default | Extra |
+--------+----------+------+-----+---------+-------+
| isbn   | char(13) | NO   | PRI |         |       |
| review | text     | YES  |     | NULL    |       |
+--------+----------+------+-----+---------+-------+
2 rows in set (0.05 sec)


===================================================


mysql> show tables;
+---------------------+
| Tables_in_bookorama |
+---------------------+
| book_reviews        |
| books               |
| customers           |
| order_items         |
| orders              |
+---------------------+
5 rows in set (0.00 sec)




===================================================


mysql> insert into customers values
    ->   (3, "Julie Smith", "25 Oak Street", "Airport West"),
    ->   (4, "Alan Wong", "1/47 Haines Avenue", "Box Hill"),
    ->   (5, "Michelle Arthur", "357 North Road", "Yarraville");
Query OK, 3 rows affected (0.13 sec)
Records: 3  Duplicates: 0  Warnings: 0

mysql> insert into orders values
    ->   (NULL, 5, 69.98, "2000-04-02"),
    ->   (NULL, 3, 49.99, "2000-04-15"),
    ->   (NULL, 4, 74.98, "2000-04-19"),
    ->   (NULL, 5, 24.99, "2000-05-01");
Query OK, 4 rows affected (0.09 sec)
Records: 4  Duplicates: 0  Warnings: 0

mysql> insert into books values
    ->   ("0-672-31697-8", "Michael Morgan", "Java 2 for Professional Developers", 34.99),

    ->   ("0-672-31745-1", "Thomas Down", "Installing Debian GNU/Linux", 24.99),
    ->   ("0-672-31509-2", "Pruitt, et al.", "Teach Yourself GIMP in 24 Hours", 24.99),
    ->   ("0-672-31769-9", "Thomas Schenk", "Caldera OpenLinux System Administration Unleashed", 49.99);
Query OK, 4 rows affected (0.11 sec)
Records: 4  Duplicates: 0  Warnings: 0

mysql> insert into order_items values
    ->   (1, "0-672-31697-8", 2),
    ->   (2, "0-672-31769-9", 1),
    ->   (3, "0-672-31769-9", 1),
    ->   (3, "0-672-31509-2", 1),
    ->   (4, "0-672-31745-1", 3);
Query OK, 5 rows affected (0.06 sec)
Records: 5  Duplicates: 0  Warnings: 0

mysql> insert into book_reviews values
    ->   ("0-672-31697-8", "Morgan's book is clearly written and goes well beyond
    ">                      most of the basic Java books out there.");
Query OK, 1 row affected (0.06 sec)

















====================================================================

mysql> select * from orders
    -> where customerid=5;
+---------+------------+--------+------------+
| orderid | customerid | amount | date       |
+---------+------------+--------+------------+
|       1 |          5 |  69.98 | 2000-04-02 |
|       4 |          5 |  24.99 | 2000-05-01 |
+---------+------------+--------+------------+
2 rows in set (0.05 sec)






mysql> select * from orders where customerid in(3,4);
+---------+------------+--------+------------+
| orderid | customerid | amount | date       |
+---------+------------+--------+------------+
|       2 |          3 |  49.99 | 2000-04-15 |
|       3 |          4 |  74.98 | 2000-04-19 |
+---------+------------+--------+------------+
2 rows in set (0.03 sec)


mysql> select * from orders where customerid not in(3,4);
+---------+------------+--------+------------+
| orderid | customerid | amount | date       |
+---------+------------+--------+------------+
|       1 |          5 |  69.98 | 2000-04-02 |
|       4 |          5 |  24.99 | 2000-05-01 |
+---------+------------+--------+------------+
2 rows in set (0.00 sec)


mysql> select * from orders where customerid=3 or customerid=4;
+---------+------------+--------+------------+
| orderid | customerid | amount | date       |
+---------+------------+--------+------------+
|       2 |          3 |  49.99 | 2000-04-15 |
|       3 |          4 |  74.98 | 2000-04-19 |
+---------+------------+--------+------------+
2 rows in set (0.05 sec)










mysql> select * from customers;
+------------+-----------------+--------------------+--------------+
| customerid | name            | address            | city         |
+------------+-----------------+--------------------+--------------+
|          3 | Julie Smith     | 25 Oak Street      | Airport West |
|          4 | Alan Wong       | 1/47 Haines Avenue | Box Hill     |
|          5 | Michelle Arthur | 357 North Road     | Yarraville   |
+------------+-----------------+--------------------+--------------+
3 rows in set (0.00 sec)

mysql> select * from orders;
+---------+------------+--------+------------+
| orderid | customerid | amount | date       |
+---------+------------+--------+------------+
|       1 |          5 |  69.98 | 2000-04-02 |
|       2 |          3 |  49.99 | 2000-04-15 |
|       3 |          4 |  74.98 | 2000-04-19 |
|       4 |          5 |  24.99 | 2000-05-01 |
+---------+------------+--------+------------+
4 rows in set (0.00 sec)

mysql>


mysql> select o.orderid, o.amount, o.date
    -> from customers c, orders o
    -> where c.name= 'Julie Smith'
    -> and c.customerid = o.customerid;
+---------+--------+------------+
| orderid | amount | date       |
+---------+--------+------------+
|       2 |  49.99 | 2000-04-15 |
+---------+--------+------------+
1 row in set (0.11 sec)











Question!


도시가 Box Hill인 데이터의 이름과 가격을 구하시오.
select c.name, o.amount
from customers c, orders o
where c.city='Box Hill' and c.customerid=o.customerid;


mysql> select c.name, o.amount
    -> from customers c, orders o
    -> where c.city='Box Hill' and c.customerid=o.customerid;
+-----------+--------+
| name      | amount |
+-----------+--------+
| Alan Wong |  74.98 |
+-----------+--------+
1 row in set (0.00 sec)






mysql> select c.name
    -> from customers c, orders o, order_items oi, books b
    -> where c.customerid = o.customerid
    -> and o.orderid = oi.orderid
    -> and oi.isbn = b.isbn
    -> and b.title like '%Java%';
+-----------------+
| name            |
+-----------------+
| Michelle Arthur |
+-----------------+
1 row in set (0.16 sec)











===================================================
Linux 문구가 들어간 책의 사람 이름과 도시명을 검색하시오.

mysql> select * from book_reviews;
+---------------+----------------------------------------------------------------------------------------
| isbn          | review
+---------------+----------------------------------------------------------------------------------------
| 0-672-31697-8 | Morgan's book is clearly written and goes well beyond
                     most of the basic Java books out there. |
+---------------+----------------------------------------------------------------------------------------
1 row in set (0.02 sec)

mysql> select * from books;
+---------------+----------------+---------------------------------------------------+-------+
| isbn          | author         | title                                             | price |
+---------------+----------------+---------------------------------------------------+-------+
| 0-672-31509-2 | Pruitt, et al. | Teach Yourself GIMP in 24 Hours                   | 24.99 |
| 0-672-31697-8 | Michael Morgan | Java 2 for Professional Developers                | 34.99 |
| 0-672-31745-1 | Thomas Down    | Installing Debian GNU/Linux                       | 24.99 |
| 0-672-31769-9 | Thomas Schenk  | Caldera OpenLinux System Administration Unleashed | 49.99 |
+---------------+----------------+---------------------------------------------------+-------+
4 rows in set (0.00 sec)

mysql> select * from order_items;
+---------+---------------+----------+
| orderid | isbn          | quantity |
+---------+---------------+----------+
|       1 | 0-672-31697-8 |        2 |
|       2 | 0-672-31769-9 |        1 |
|       3 | 0-672-31509-2 |        1 |
|       3 | 0-672-31769-9 |        1 |
|       4 | 0-672-31745-1 |        3 |
+---------+---------------+----------+
5 rows in set (0.00 sec)

mysql> select * from orders;
+---------+------------+--------+------------+
| orderid | customerid | amount | date       |
+---------+------------+--------+------------+
|       1 |          5 |  69.98 | 2000-04-02 |
|       2 |          3 |  49.99 | 2000-04-15 |
|       3 |          4 |  74.98 | 2000-04-19 |
|       4 |          5 |  24.99 | 2000-05-01 |
+---------+------------+--------+------------+
4 rows in set (0.00 sec)

mysql> select * from customers;
+------------+-----------------+--------------------+--------------+
| customerid | name            | address            | city         |
+------------+-----------------+--------------------+--------------+
|          3 | Julie Smith     | 25 Oak Street      | Airport West |
|          4 | Alan Wong       | 1/47 Haines Avenue | Box Hill     |
|          5 | Michelle Arthur | 357 North Road     | Yarraville   |
+------------+-----------------+--------------------+--------------+
3 rows in set (0.00 sec)





select c.name, c.city
from books b, order_items oi, orders o, customers c
where b.title like '%Linux%'
and b.isbn=oi.isbn
and oi.orderid=o.orderid
and o.customerid=c.customerid;









==============================================================================
Question
- Linux 문구가 들어간 책의 이름과 도시명을 검색하시오.

mysql> select b.title, c.city
    -> from books b, order_items oi, orders o, customers c
    -> where b.title like '%Linux%'
    -> and b.isbn=oi.isbn
    -> and oi.orderid=o.orderid
    -> and o.customerid=c.customerid;
+---------------------------------------------------+--------------+
| title                                             | city         |
+---------------------------------------------------+--------------+
| Caldera OpenLinux System Administration Unleashed | Airport West |
| Caldera OpenLinux System Administration Unleashed | Box Hill     |
| Installing Debian GNU/Linux                       | Yarraville   |
+---------------------------------------------------+--------------+
3 rows in set (0.00 sec)


==============================================================================
Question
- Linux 문구가 들어간 책의 고객 이름과 도시명을 검색하시오.

mysql> select c.name, c.city
    -> from books b, order_items oi, orders o, customers c
    -> where b.title like '%Linux%'
    -> and b.isbn=oi.isbn
    -> and oi.orderid=o.orderid
    -> and o.customerid=c.customerid;
+-----------------+--------------+
| name            | city         |
+-----------------+--------------+
| Julie Smith     | Airport West |
| Alan Wong       | Box Hill     |
| Michelle Arthur | Yarraville   |
+-----------------+--------------+
3 rows in set (0.00 sec)








Comment 0 Trackback 0
Top

MySQL : 중간테스트

########### 데이타베이스 중간 테스트! ###########


alter table 테이블명1 rename 테이블명2;
alter table 테이블명 add 컬럼명 varchar(20);
alter table 테이블명 drop 컬럼명;
alter table 테이블명 change cname cname varchar(20);
필드명과 자료형을 변경 가능.
alter table 테이블명 change outlet outlet1 varchar(30);

update 테이블명 set 필드명=필드값(갱신하고자 하는 값) where 조건


################# 초기 데이타 #################

mysql> show databases;
+----------+
| Database |
+----------+
| company  |
| mysql    |
+----------+
2 rows in set (0.00 sec)


mysql> show tables;
+-------------------+
| Tables_in_company |
+-------------------+
| car               |
| sale              |
| salesman          |
+-------------------+
3 rows in set (0.00 sec)


mysql> select * from salesman;
+------+--------+------------+-------+--------+
| sno  | sname  | hire       | point | branch |
+------+--------+------------+-------+--------+
| s123 | 기필호 | 1998-10-12 |   200 | 인천   |
| s202 | 김두환 | 2000-05-03 |   400 | 경기   |
| s134 | 박성식 | 2002-03-01 |   100 | 서울   |
| s241 | 임흥석 | 2003-06-12 |   300 | 부산   |
| s345 | 최재형 | 2004-03-01 |   200 | 인천   |
| s444 | 정종호 | 2004-11-01 |  NULL | NULL   |
| s555 | 홍길동 | 2004-04-04 |  NULL | 인천   |
+------+--------+------------+-------+--------+
7 rows in set (0.00 sec)


mysql> select * from sale;
+------+-----+------+
| sno  | cno | qty  |
+------+-----+------+
| s123 | c1  |   12 |
| s123 | c2  |   20 |
| s123 | c3  |   42 |
| s123 | c4  |   18 |
| s123 | c5  |   10 |
| s123 | c6  |   20 |
| s202 | c1  |   34 |
| s202 | c2  |   14 |
| s134 | c2  |   21 |
| s241 | c2  |   30 |
| s241 | c4  |   31 |
| s241 | c5  |   13 |
+------+-----+------+
12 rows in set (0.00 sec)


mysql> select * from car;
+-----+--------+------+--------+--------+
| cno | cname  | cc   | weight | outlet |
+-----+--------+------+--------+--------+
| c1  | 소나타 | 1800 |   1200 | 서울   |
| c2  | 소나타 | 2000 |   1300 | 서울   |
| c3  | 레조   | 1500 |   1100 | 인천   |
| c4  | 레조   | 2000 |   1200 | 인천   |
| c5  | 카니발 | 3000 |   1800 | 광주   |
| c6  | SM5    | 2000 |   1300 | 부산   |
| c7  | SM5    | 2500 |   1350 | 부산   |
+-----+--------+------+--------+--------+
7 rows in set (0.00 sec)












################# 문제 풀이 #################


1. salesman 테이블의 명칭을 employee 변경한다.
mysql> show tables;
+-------------------+
| Tables_in_company |
+-------------------+
| car               |
| sale              |
| salesman          |
+-------------------+
3 rows in set (0.00 sec)


mysql> alter table salesman rename employee;
Query OK, 0 rows affected (0.00 sec)


mysql> show tables;
+-------------------+
| Tables_in_company |
+-------------------+
| car               |
| employee          |
| sale              |
+-------------------+
3 rows in set (0.00 sec)

mysql> alter table employee rename salesman;
Query OK, 0 rows affected (0.00 sec)

mysql> show tables;
+-------------------+
| Tables_in_company |
+-------------------+
| car               |
| sale              |
| salesman          |
+-------------------+
3 rows in set (0.00 sec)


2. car 테이블에 vendor varchar(20) 컬럼을  추가한다.
mysql> desc car;
+--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| cno    | char(2)     |      | PRI |         |       |
| cname  | varchar(20) | YES  |     | NULL    |       |
| cc     | smallint(6) | YES  |     | NULL    |       |
| weight | smallint(6) | YES  |     | NULL    |       |
| outlet | varchar(10) | YES  |     | NULL    |       |
+--------+-------------+------+-----+---------+-------+
5 rows in set (0.02 sec)

mysql> alter table car add vendor varchar(20);
Query OK, 7 rows affected (0.09 sec)
레코드: 7개  중복: 0개  경고: 0개

mysql> desc car;
+--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| cno    | char(2)     |      | PRI |         |       |
| cname  | varchar(20) | YES  |     | NULL    |       |
| cc     | smallint(6) | YES  |     | NULL    |       |
| weight | smallint(6) | YES  |     | NULL    |       |
| outlet | varchar(10) | YES  |     | NULL    |       |
| vendor | varchar(20) | YES  |     | NULL    |       |
+--------+-------------+------+-----+---------+-------+
6 rows in set (0.00 sec)


3. car 테이블에 vendor 컬럼을 삭제해 본다.
mysql> alter table car drop vendor;
Query OK, 7 rows affected (0.06 sec)
레코드: 7개  중복: 0개  경고: 0개


mysql> desc car;
+--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| cno    | char(2)     |      | PRI |         |       |
| cname  | varchar(20) | YES  |     | NULL    |       |
| cc     | smallint(6) | YES  |     | NULL    |       |
| weight | smallint(6) | YES  |     | NULL    |       |
| outlet | varchar(10) | YES  |     | NULL    |       |
+--------+-------------+------+-----+---------+-------+
5 rows in set (0.00 sec)


4. car 테이블의 cname 의 데이터 타입을 varchar(20)로 변경한다.
mysql>alter table car change cname cname int(10);
Query OK, 7 rows affected (0.05 sec)
레코드: 7개  중복: 0개  경고: 7개

mysql> desc car;
+--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| cno    | char(2)     |      | PRI |         |       |
| cname  | int(10)     | YES  |     | NULL    |       |
| cc     | smallint(6) | YES  |     | NULL    |       |
| weight | smallint(6) | YES  |     | NULL    |       |
| outlet | varchar(10) | YES  |     | NULL    |       |
+--------+-------------+------+-----+---------+-------+
5 rows in set (0.00 sec)

mysql> alter table car change cname cname varchar(20);
Query OK, 7 rows affected (0.06 sec)
레코드: 7개  중복: 0개  경고: 0개

mysql> desc car;
+--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| cno    | char(2)     |      | PRI |         |       |
| cname  | varchar(20) | YES  |     | NULL    |       |
| cc     | smallint(6) | YES  |     | NULL    |       |
| weight | smallint(6) | YES  |     | NULL    |       |
| outlet | varchar(10) | YES  |     | NULL    |       |
+--------+-------------+------+-----+---------+-------+
5 rows in set (0.00 sec)


5. salesman 테이블에 '사번 s346, 이름:강길동, 입사일 :2004-12-12, 실적:200  지점명:부산'으로 레코드를 삽입하시오.
mysql> select * from salesman;
+------+--------+------------+-------+--------+
| sno  | sname  | hire       | point | branch |
+------+--------+------------+-------+--------+
| s123 | 기필호 | 1998-10-12 |   200 | 인천   |
| s202 | 김두환 | 2000-05-03 |   400 | 경기   |
| s134 | 박성식 | 2002-03-01 |   100 | 서울   |
| s241 | 임흥석 | 2003-06-12 |   300 | 부산   |
| s345 | 최재형 | 2004-03-01 |   200 | 인천   |
| s444 | 정종호 | 2004-11-01 |  NULL | NULL   |
| s555 | 홍길동 | 2004-04-04 |  NULL | 인천   |
+------+--------+------------+-------+--------+
7 rows in set (0.00 sec)


mysql> insert into salesman values('s346', '강길동', '2004-12-12', 200, '부산');
Query OK, 1 row affected (0.00 sec)


mysql> select * from salesman;
+------+--------+------------+-------+--------+
| sno  | sname  | hire       | point | branch |
+------+--------+------------+-------+--------+
| s123 | 기필호 | 1998-10-12 |   200 | 인천   |
| s202 | 김두환 | 2000-05-03 |   400 | 경기   |
| s134 | 박성식 | 2002-03-01 |   100 | 서울   |
| s241 | 임흥석 | 2003-06-12 |   300 | 부산   |
| s345 | 최재형 | 2004-03-01 |   200 | 인천   |
| s444 | 정종호 | 2004-11-01 |  NULL | NULL   |
| s555 | 홍길동 | 2004-04-04 |  NULL | 인천   |
| s346 | 강길동 | 2004-12-12 |   200 | 부산   |
+------+--------+------------+-------+--------+
8 rows in set (0.00 sec)


6. salesman의 전체 레코드를 검색하시오.
mysql> desc salesman;
+--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| sno    | char(4)     |      | PRI |         |       |
| sname  | char(10)    |      |     |         |       |
| hire   | date        | YES  |     | NULL    |       |
| point  | smallint(6) | YES  |     | NULL    |       |
| branch | char(10)    | YES  |     | NULL    |       |
+--------+-------------+------+-----+---------+-------+
5 rows in set (0.00 sec)


7. salesman 테이블에서 실적이 300점 이상의 사원의 이름과 지점명을 검색하시오.
mysql> select sname, branch from salesman where point>=300;
+--------+--------+
| sname  | branch |
+--------+--------+
| 김두환 | 경기   |
| 임흥석 | 부산   |
+--------+--------+
2 rows in set (0.03 sec)


8. 판매된 승용차의 차량 번호를 검색하라
mysql> select cno from sale;
+-----+
| cno |
+-----+
| c1  |
| c2  |
| c3  |
| c4  |
| c5  |
| c6  |
| c1  |
| c2  |
| c2  |
| c2  |
| c4  |
| c5  |
+-----+
12 rows in set (0.00 sec)


9. 판매된 승용차의 차량번호를 중복 없이 검색하라.
(select 필드명 from 테이블명 group by 그룹화하고자 하는 필드명)

mysql>select cno from sale group by cno;
+-----+
| cno |
+-----+
| c1  |
| c2  |
| c3  |
| c4  |
| c5  |
| c6  |
+-----+
6 rows in set (0.03 sec)


10. 서울이 출고지인 차량의 차량번호, 중량, 차량번호를 검색하라
mysql> select cname, weight, cno from car where outlet='서울';
+--------+--------+-----+
| cname  | weight | cno |
+--------+--------+-----+
| 소나타 |   1200 | c1  |
| 소나타 |   1300 | c2  |
+--------+--------+-----+
2 rows in set (0.00 sec)


11. 출고지가 부산이고 배기량이 2000cc 이상인 차량의 차랑명과 배기량을 검색하라
mysql> select cname, cc from car where outlet='부산' and cc>=2000;
+-------+------+
| cname | cc   |
+-------+------+
| SM5   | 2000 |
| SM5   | 2500 |
+-------+------+
2 rows in set (0.00 sec)


12. 영업사원의 모든 정보를 실적이 높은 순으로 검색하라.
mysql> select * from salesman order by point asc;
+------+--------+------------+-------+--------+
| sno  | sname  | hire       | point | branch |
+------+--------+------------+-------+--------+
| s444 | 정종호 | 2004-11-01 |  NULL | NULL   |
| s555 | 홍길동 | 2004-04-04 |  NULL | 인천   |
| s134 | 박성식 | 2002-03-01 |   100 | 서울   |
| s123 | 기필호 | 1998-10-12 |   200 | 인천   |
| s345 | 최재형 | 2004-03-01 |   200 | 인천   |
| s346 | 강길동 | 2004-12-12 |   200 | 부산   |
| s241 | 임흥석 | 2003-06-12 |   300 | 부산   |
| s202 | 김두환 | 2000-05-03 |   400 | 경기   |
+------+--------+------------+-------+--------+
8 rows in set (0.00 sec)


13. 영업사원의 모든 정보를 실적순으로 오름차순 실적이 같은 경우 입사일로 내림차순하라.
mysql> select * from salesman order by point, hire desc;
+------+--------+------------+-------+--------+
| sno  | sname  | hire       | point | branch |
+------+--------+------------+-------+--------+
| s444 | 정종호 | 2004-11-01 |  NULL | NULL   |
| s555 | 홍길동 | 2004-04-04 |  NULL | 인천   |
| s134 | 박성식 | 2002-03-01 |   100 | 서울   |
| s346 | 강길동 | 2004-12-12 |   200 | 부산   |
| s345 | 최재형 | 2004-03-01 |   200 | 인천   |
| s123 | 기필호 | 1998-10-12 |   200 | 인천   |
| s241 | 임흥석 | 2003-06-12 |   300 | 부산   |
| s202 | 김두환 | 2000-05-03 |   400 | 경기   |
+------+--------+------------+-------+--------+
8 rows in set (0.00 sec)


14. 실적이 높은 영업사원 5명의 영업사원의 모든 정보를 (실적 순으로) 검색하라
mysql> select * from salesman order by point desc limit 0,5;
+------+--------+------------+-------+--------+
| sno  | sname  | hire       | point | branch |
+------+--------+------------+-------+--------+
| s202 | 김두환 | 2000-05-03 |   400 | 경기   |
| s241 | 임흥석 | 2003-06-12 |   300 | 부산   |
| s123 | 기필호 | 1998-10-12 |   200 | 인천   |
| s345 | 최재형 | 2004-03-01 |   200 | 인천   |
| s346 | 강길동 | 2004-12-12 |   200 | 부산   |
+------+--------+------------+-------+--------+
5 rows in set (0.00 sec)


15. 실적이 3등, 4등, 5등이 영업사원의 모든 정보를 검색하라.
mysql> select * from salesman order by point desc limit 2,3;
+------+--------+------------+-------+--------+
| sno  | sname  | hire       | point | branch |
+------+--------+------------+-------+--------+
| s123 | 기필호 | 1998-10-12 |   200 | 인천   |
| s345 | 최재형 | 2004-03-01 |   200 | 인천   |
| s346 | 강길동 | 2004-12-12 |   200 | 부산   |
+------+--------+------------+-------+--------+
3 rows in set (0.00 sec)


16. 전체 팔린 차량의 대수를 구하라
mysql> select sum(qty) from sale;
+----------+
| sum(qty) |
+----------+
|      265 |
+----------+
1 row in set (0.01 sec)


17. 영업사원들의 실적 점수의 평균을 구하라.
mysql> select avg(point) from salesman;
+------------+
| avg(point) |
+------------+
|   233.3333 |
+------------+
1 row in set (0.00 sec)


18. 영업 사원별로 판매한 전체 차량의 대수를 구하라.
mysql> select s.sname, sum(s1.qty) from salesman s, sale s1
where s.sno=s1.sno group by s.sname;

+--------+-------------+
| sname  | sum(s1.qty) |
+--------+-------------+
| 임흥석 |          74 |
| 기필호 |         122 |
| 김두환 |          48 |
| 박성식 |          21 |
+--------+-------------+
4 rows in set (0.00 sec)


19. 두 종류 이상의 차량을 판매한 영업사원의 사번을 구하라.
mysql> select sno from sale group by sno having count(cno)>=2;
+------+
| sno  |
+------+
| s123 |
| s202 |
| s241 |
+------+
3 rows in set (0.00 sec)


20. 차량명이 ‘레’로 시작되는 차량의 모든 정보를 검색하라.
mysql> select * from car where cname like '레%';
+-----+-------+------+--------+--------+
| cno | cname | cc   | weight | outlet |
+-----+-------+------+--------+--------+
| c3  | 레조  | 1500 |   1100 | 인천   |
| c4  | 레조  | 2000 |   1200 | 인천   |
+-----+-------+------+--------+--------+
2 rows in set (0.00 sec)


21. 차량명이 한글로 두 글자인 차량의 차량번호와 차량명을 검색하라
mysql> select cno, cname from car where cname like '____';
+-----+-------+
| cno | cname |
+-----+-------+
| c3  | 레조  |
| c4  | 레조  |
+-----+-------+
2 rows in set (0.00 sec)


22. 박씨가 아닌 영업사원의 사번과 이름을 검색하라.
mysql> select sno, sname from salesman where sname not like '박%';
+------+--------+
| sno  | sname  |
+------+--------+
| s123 | 기필호 |
| s202 | 김두환 |
| s241 | 임흥석 |
| s345 | 최재형 |
| s444 | 정종호 |
| s555 | 홍길동 |
| s346 | 강길동 |
+------+--------+
7 rows in set (0.00 sec)


23. 배기량이 널 값인 차량의 차량번호와 차량명을 검색하라.
mysql> select cno, cname from car where cc=null;
Empty set (0.00 sec)

mysql> select * from car;
+-----+--------+------+--------+--------+
| cno | cname  | cc   | weight | outlet |
+-----+--------+------+--------+--------+
| c1  | 소나타 | 1800 |   1200 | 서울   |
| c2  | 소나타 | 2000 |   1300 | 서울   |
| c3  | 레조   | 1500 |   1100 | 인천   |
| c4  | 레조   | 2000 |   1200 | 인천   |
| c5  | 카니발 | 3000 |   1800 | 광주   |
| c6  | SM5    | 2000 |   1300 | 부산   |
| c7  | SM5    | 2500 |   1350 | 부산   |
+-----+--------+------+--------+--------+
7 rows in set (0.00 sec)


24. 입사일이 2000부터 2003년 사이의 입사자들의 모든 정보를 검색하라.
mysql> select * from salesman where year(hire) between 2000 and 2003;
+------+--------+------------+-------+--------+
| sno  | sname  | hire       | point | branch |
+------+--------+------------+-------+--------+
| s202 | 김두환 | 2000-05-03 |   400 | 경기   |
| s134 | 박성식 | 2002-03-01 |   100 | 서울   |
| s241 | 임흥석 | 2003-06-12 |   300 | 부산   |
+------+--------+------------+-------+--------+
3 rows in set (0.00 sec)


25. 입사년도가 2002년 사원의 모든 정보를 검색하라.
mysql> select * from salesman where year(hire)=2002;
+------+--------+------------+-------+--------+
| sno  | sname  | hire       | point | branch |
+------+--------+------------+-------+--------+
| s134 | 박성식 | 2002-03-01 |   100 | 서울   |
+------+--------+------------+-------+--------+
1 row in set (0.00 sec)


26. 판매 실적이 없는 사원들의 모든 정보를 검색하라.
mysql> select * from salesman where point is null;
+------+--------+------------+-------+--------+
| sno  | sname  | hire       | point | branch |
+------+--------+------------+-------+--------+
| s444 | 정종호 | 2004-11-01 |  NULL | NULL   |
| s555 | 홍길동 | 2004-04-04 |  NULL | 인천   |
+------+--------+------------+-------+--------+
2 rows in set (0.00 sec)


27. 배기량이  2000cc 이상이면서 차의 중량이 1000 이상이면서 출고지가 인천인 차량번호와  차량명을 검색하시오.
mysql> select cno, cname from car where cc>=2000 and weight>=1000 and outlet='인천';
+-----+-------+
| cno | cname |
+-----+-------+
| c4  | 레조  |
+-----+-------+
1 row in set (0.00 sec)


28. 사번이 's123' 이고 판매량이 20 이상인 차량번호를 모두 검색하시오.
mysql> select cno from sale where sno='s123' and qty>=20;
+-----+
| cno |
+-----+
| c2  |
| c3  |
| c6  |
+-----+
3 rows in set (0.00 sec)


29. 영업사원들 중에서 실적 포인트가 300 이상 400 이하의 사원들의 모든 정보를 검색하시오.
mysql> select * from salesman where point between 300 and 400;
+------+--------+------------+-------+--------+
| sno  | sname  | hire       | point | branch |
+------+--------+------------+-------+--------+
| s202 | 김두환 | 2000-05-03 |   400 | 경기   |
| s241 | 임흥석 | 2003-06-12 |   300 | 부산   |
+------+--------+------------+-------+--------+
2 rows in set (0.00 sec)


30. 차량의 출고지가 ‘부’로 시작하면서 배기량이 2000cc의 차량명을 검색하시오.
mysql> select cname from car where outlet like '부%' and cc=2000;
+-------+
| cname |
+-------+
| SM5   |
+-------+
1 row in set (0.00 sec)


31. 차량번호 'c1'을 판매한 영업사원의 이름과 입사년월일을 검색하시오.
mysql> select s.sname, s.hire from salesman s, sale s1, car c where c.cno=s1.cno

and s.sno=s1.sno and c.cno='c1';
+--------+------------+
| sname  | hire       |
+--------+------------+
| 기필호 | 1998-10-12 |
| 김두환 | 2000-05-03 |
+--------+------------+
2 rows in set (0.02 sec)


32. 자동차 판매량이 30 이상인 영업사원의 이름과 실적점수를 검색하시오.
mysql> select s.sname, s.point from salesman s, sale s1 where s.sno=s1.sno group by s1.sno having sum(s1.qty)>=30;
+--------+-------+
| sname  | point |
+--------+-------+
| 기필호 |   200 |
| 김두환 |   400 |
| 임흥석 |   300 |
+--------+-------+
3 rows in set (0.00 sec)


33. 사번이 's241' 사원의 실적점수를 150점 증가 시켜라
mysql> select * from salesman;
+------+--------+------------+-------+--------+
| sno  | sname  | hire       | point | branch |
+------+--------+------------+-------+--------+
| s123 | 기필호 | 1998-10-12 |   200 | 인천   |
| s202 | 김두환 | 2000-05-03 |   400 | 경기   |
| s134 | 박성식 | 2002-03-01 |   100 | 서울   |
| s241 | 임흥석 | 2003-06-12 |   300 | 부산   |
| s345 | 최재형 | 2004-03-01 |   200 | 인천   |
| s444 | 정종호 | 2004-11-01 |  NULL | NULL   |
| s555 | 홍길동 | 2004-04-04 |  NULL | 인천   |
| s346 | 강길동 | 2004-12-12 |   200 | 부산   |
+------+--------+------------+-------+--------+
8 rows in set (0.00 sec)

mysql> update salesman set point=point+150 where sno='s241';
Query OK, 1 row affected (0.01 sec)
일치하는 Rows : 1개 변경됨: 1개  경고: 0개

mysql> select * from salesman;
+------+--------+------------+-------+--------+
| sno  | sname  | hire       | point | branch |
+------+--------+------------+-------+--------+
| s123 | 기필호 | 1998-10-12 |   200 | 인천   |
| s202 | 김두환 | 2000-05-03 |   400 | 경기   |
| s134 | 박성식 | 2002-03-01 |   100 | 서울   |
| s241 | 임흥석 | 2003-06-12 |   450 | 부산   |
| s345 | 최재형 | 2004-03-01 |   200 | 인천   |
| s444 | 정종호 | 2004-11-01 |  NULL | NULL   |
| s555 | 홍길동 | 2004-04-04 |  NULL | 인천   |
| s346 | 강길동 | 2004-12-12 |   200 | 부산   |
+------+--------+------------+-------+--------+
8 rows in set (0.00 sec)


34. 출고지가 ‘인천’인 차량의 배기량을 100cc 증가 시켜라.
mysql> select * from car;
+-----+--------+------+--------+--------+
| cno | cname  | cc   | weight | outlet |
+-----+--------+------+--------+--------+
| c1  | 소나타 | 1800 |   1200 | 서울   |
| c2  | 소나타 | 2000 |   1300 | 서울   |
| c3  | 레조   | 1500 |   1100 | 인천   |
| c4  | 레조   | 2000 |   1200 | 인천   |
| c5  | 카니발 | 3000 |   1800 | 광주   |
| c6  | SM5    | 2000 |   1300 | 부산   |
| c7  | SM5    | 2500 |   1350 | 부산   |
+-----+--------+------+--------+--------+
7 rows in set (0.00 sec)

mysql> update car set cc=cc+100 where outlet='인천';
Query OK, 2 rows affected (0.00 sec)
일치하는 Rows : 2개 변경됨: 2개  경고: 0개

mysql> select * from car;
+-----+--------+------+--------+--------+
| cno | cname  | cc   | weight | outlet |
+-----+--------+------+--------+--------+
| c1  | 소나타 | 1800 |   1200 | 서울   |
| c2  | 소나타 | 2000 |   1300 | 서울   |
| c3  | 레조   | 1600 |   1100 | 인천   |
| c4  | 레조   | 2100 |   1200 | 인천   |
| c5  | 카니발 | 3000 |   1800 | 광주   |
| c6  | SM5    | 2000 |   1300 | 부산   |
| c7  | SM5    | 2500 |   1350 | 부산   |
+-----+--------+------+--------+--------+
7 rows in set (0.00 sec)


35. 모드 사원의 실적을 50점 감소 시켜라
mysql> update salesman set point=point-50;
Query OK, 6 rows affected (0.00 sec)
일치하는 Rows : 8개 변경됨: 6개  경고: 0개

mysql> select * from salesman;
+------+--------+------------+-------+--------+
| sno  | sname  | hire       | point | branch |
+------+--------+------------+-------+--------+
| s123 | 기필호 | 1998-10-12 |   150 | 인천   |
| s202 | 김두환 | 2000-05-03 |   350 | 경기   |
| s134 | 박성식 | 2002-03-01 |    50 | 서울   |
| s241 | 임흥석 | 2003-06-12 |   400 | 부산   |
| s345 | 최재형 | 2004-03-01 |   150 | 인천   |
| s444 | 정종호 | 2004-11-01 |  NULL | NULL   |
| s555 | 홍길동 | 2004-04-04 |  NULL | 인천   |
| s346 | 강길동 | 2004-12-12 |   150 | 부산   |
+------+--------+------------+-------+--------+
8 rows in set (0.00 sec)


36. 출고지가 ‘서울’인 차량의 차량명을 소나타2로 변경하라.
mysql> update car set cname='소나타2' where outlet='서울';
Query OK, 2 rows affected (0.00 sec)
일치하는 Rows : 2개 변경됨: 2개  경고: 0개

mysql> select * from car;
+-----+---------+------+--------+--------+
| cno | cname   | cc   | weight | outlet |
+-----+---------+------+--------+--------+
| c1  | 소나타2 | 1800 |   1200 | 서울   |
| c2  | 소나타2 | 2000 |   1300 | 서울   |
| c3  | 레조    | 1600 |   1100 | 인천   |
| c4  | 레조    | 2100 |   1200 | 인천   |
| c5  | 카니발  | 3000 |   1800 | 광주   |
| c6  | SM5     | 2000 |   1300 | 부산   |
| c7  | SM5     | 2500 |   1350 | 부산   |
+-----+---------+------+--------+--------+
7 rows in set (0.00 sec)


37. 입사년도가 2004년 사원들의 실적점수를 100점 증가 시키시오.
mysql> update salesman set point=point+100 where year(hire)=2004;
Query OK, 2 rows affected (0.00 sec)
일치하는 Rows : 4개 변경됨: 2개  경고: 0개

mysql> select * from salesman;
+------+--------+------------+-------+--------+
| sno  | sname  | hire       | point | branch |
+------+--------+------------+-------+--------+
| s123 | 기필호 | 1998-10-12 |   150 | 인천   |
| s202 | 김두환 | 2000-05-03 |   350 | 경기   |
| s134 | 박성식 | 2002-03-01 |    50 | 서울   |
| s241 | 임흥석 | 2003-06-12 |   400 | 부산   |
| s345 | 최재형 | 2004-03-01 |   250 | 인천   |
| s444 | 정종호 | 2004-11-01 |  NULL | NULL   |
| s555 | 홍길동 | 2004-04-04 |  NULL | 인천   |
| s346 | 강길동 | 2004-12-12 |   250 | 부산   |
+------+--------+------------+-------+--------+
8 rows in set (0.00 sec)


38. 사번이 's202' 인 사원의 레코드를 삭제하라.
mysql> select * from salesman;
+------+--------+------------+-------+--------+
| sno  | sname  | hire       | point | branch |
+------+--------+------------+-------+--------+
| s123 | 기필호 | 1998-10-12 |   150 | 인천   |
| s202 | 김두환 | 2000-05-03 |   350 | 경기   |
| s134 | 박성식 | 2002-03-01 |    50 | 서울   |
| s241 | 임흥석 | 2003-06-12 |   400 | 부산   |
| s345 | 최재형 | 2004-03-01 |   250 | 인천   |
| s444 | 정종호 | 2004-11-01 |  NULL | NULL   |
| s555 | 홍길동 | 2004-04-04 |  NULL | 인천   |
| s346 | 강길동 | 2004-12-12 |   250 | 부산   |
+------+--------+------------+-------+--------+
8 rows in set (0.00 sec)


mysql> delete from salesman where sno='s202';
Query OK, 1 row affected (0.02 sec)


mysql> select * from salesman;
+------+--------+------------+-------+--------+
| sno  | sname  | hire       | point | branch |
+------+--------+------------+-------+--------+
| s123 | 기필호 | 1998-10-12 |   150 | 인천   |
| s134 | 박성식 | 2002-03-01 |    50 | 서울   |
| s241 | 임흥석 | 2003-06-12 |   400 | 부산   |
| s345 | 최재형 | 2004-03-01 |   250 | 인천   |
| s444 | 정종호 | 2004-11-01 |  NULL | NULL   |
| s555 | 홍길동 | 2004-04-04 |  NULL | 인천   |
| s346 | 강길동 | 2004-12-12 |   250 | 부산   |
+------+--------+------------+-------+--------+
7 rows in set (0.00 sec)


39. 부산에서 출고되는 모든 차량의 레코드를 삭제하라
mysql> select * from car;
+-----+---------+------+--------+--------+
| cno | cname   | cc   | weight | outlet |
+-----+---------+------+--------+--------+
| c1  | 소나타2 | 1800 |   1200 | 서울   |
| c2  | 소나타2 | 2000 |   1300 | 서울   |
| c3  | 레조    | 1600 |   1100 | 인천   |
| c4  | 레조    | 2100 |   1200 | 인천   |
| c5  | 카니발  | 3000 |   1800 | 광주   |
| c6  | SM5     | 2000 |   1300 | 부산   |
| c7  | SM5     | 2500 |   1350 | 부산   |
+-----+---------+------+--------+--------+
7 rows in set (0.00 sec)

mysql> delete from car where outlet='부산';
Query OK, 2 rows affected (0.00 sec)

mysql> select * from car;
+-----+---------+------+--------+--------+
| cno | cname   | cc   | weight | outlet |
+-----+---------+------+--------+--------+
| c1  | 소나타2 | 1800 |   1200 | 서울   |
| c2  | 소나타2 | 2000 |   1300 | 서울   |
| c3  | 레조    | 1600 |   1100 | 인천   |
| c4  | 레조    | 2100 |   1200 | 인천   |
| c5  | 카니발  | 3000 |   1800 | 광주   |
+-----+---------+------+--------+--------+
5 rows in set (0.00 sec)


40. 영업사원의 모든 테이블을 삭제하라.
mysql> select * from salesman;
+------+--------+------------+-------+--------+
| sno  | sname  | hire       | point | branch |
+------+--------+------------+-------+--------+
| s123 | 기필호 | 1998-10-12 |   150 | 인천   |
| s134 | 박성식 | 2002-03-01 |    50 | 서울   |
| s241 | 임흥석 | 2003-06-12 |   400 | 부산   |
| s345 | 최재형 | 2004-03-01 |   250 | 인천   |
| s444 | 정종호 | 2004-11-01 |  NULL | NULL   |
| s555 | 홍길동 | 2004-04-04 |  NULL | 인천   |
| s346 | 강길동 | 2004-12-12 |   250 | 부산   |
+------+--------+------------+-------+--------+
7 rows in set (0.00 sec)

mysql> delete from salesman;
Query OK, 7 rows affected (0.00 sec)

mysql> select * from salesman;
Empty set (0.00 sec)

Comment 0 Trackback 0
Top

MySQL : select, update, delete (DML)

###### select 문 계속.. #######

주의!!!
where 문에서 둘 이상의 조건(필드)을 줄 때,
앞쪽에 primary 값의 조건을 써줘야한다!



1. 소나타이면서 배기량이 2000cc인 차량을 판매한 사원의 사번과 판매량을 검색하시오.

select sale.sno, sale.qty from sale, car
where car.cno=sale.cno and car.cname="소나타" and car.cc=2000;

or

select s.sno, s.qty from sale s, car  c
where c.cno=s.cno and c.cname="소나타" and c.cc=2000;

----------------------------------------------------------------------------------
mysql> select sale.sno, sale.qty from sale, car
    -> where car.cno=sale.cno and car.cname="소나타" and car.cc=2000;
+------+------+
| sno  | qty  |
+------+------+
| s123 |   12 |
| s202 |   14 |
| s134 |   21 |
| s241 |   30 |
+------+------+
4 rows in set (0.00 sec)

mysql>



2. 소나타 차량을 판매한 사원의 이름.

select salesman.sname from car, salesman, sale
where car.cno=sale.cno and salesman.sno=sale.sno and car.cname="소나타";

----------------------------------------------------------------------------------
mysql> select salesman.sname from car, salesman, sale
    -> where car.cno=sale.cno and salesman.sno=sale.sno and car.cname="소나타";
+--------+
| sname  |
+--------+
| 기필호 |
| 기필호 |
| 김두환 |
| 김두환 |
| 박성식 |
| 임흥석 |
+--------+
6 rows in set (0.00 sec)

mysql>



3. 차량번호 c1을 판매한 영업사원의 이름을 검색

select salesman.sname from salesman, sale
where salesman.sno=sale.sno and sale.cno='c1';

또는

select s.sname from salesman s, sale s1
where s.sno=s1.sno and s1.cno='c1';

----------------------------------------------------------------------------------
mysql> select s.sname from salesman s, sale s1
    -> where s.sno=s1.sno and s1.cno='c1';
+--------+
| sname  |
+--------+
| 기필호 |
| 김두환 |
+--------+
2 rows in set (0.02 sec)

mysql>



4. 차량번호 c5를 판매한 영업사원의 이름, 실적, 지점명을 검색하시오

select s.sname, s.point, s.branch from salesman s, sale s1
where s.sno=s1.sno and s1.cno='c5';

----------------------------------------------------------------------------------
mysql> select s.sname, s.point, s.branch from salesman s, sale s1
    -> where s.sno=s1.sno and s1.cno='c5';
+--------+-------+--------+
| sname  | point | branch |
+--------+-------+--------+
| 기필호 |   200 | 인천   |
| 임흥석 |   300 | 부산   |
+--------+-------+--------+
2 rows in set (0.00 sec)

mysql>



* 내맘대로 만든 문제... ㅋ
20대 이상 판매한 차량의 차이름과 출고지, 판매사원과 판매량을 검색하라.

select c.cname, c.outlet, s.sname, s1.qty from salesman s, car c, sale s1
where c.cno=s1.cno and s.sno=s1.sno and s1.qty>=20;

----------------------------------------------------------------------------------

mysql> select c.cname, c.outlet, s.sname, s1.qty from salesman s, car c, sale s1
    -> where c.cno=s1.cno and s.sno=s1.sno and s1.qty>=20;
+--------+--------+--------+------+
| cname  | outlet | sname  | qty  |
+--------+--------+--------+------+
| 레조   | 인천   | 기필호 |   42 |
| SM5    | 부산   | 기필호 |   20 |
| 소나타 | 서울   | 김두환 |   34 |
| 소나타 | 서울   | 박성식 |   21 |
| 소나타 | 서울   | 임흥석 |   30 |
| 레조   | 인천   | 임흥석 |   31 |
+--------+--------+--------+------+
6 rows in set (0.00 sec)

mysql>




5. 차량이 소나타인 사번과 출고지를 검색하라.

select s.sno, c.outlet from sale s, car c
where c.cno=s.cno and c.cname='소나타';

----------------------------------------------------------------------------------
mysql> select s.sno, c.outlet from sale s, car c
    -> where c.cno=s.cno and c.cname='소나타';
+------+--------+
| sno  | outlet |
+------+--------+
| s123 | 서울   |
| s123 | 서울   |
| s202 | 서울   |
| s202 | 서울   |
| s134 | 서울   |
| s241 | 서울   |
+------+--------+
6 rows in set (0.00 sec)

mysql>












############################## Update ##############################

update 테이블명 set 필드명=필드값(갱신하고자 하는 값) where 조건



1. 사번이 s123인 사원의 실적을 100점 증가시켜라

mysql> select * from salesman;
+------+--------+------------+-------+--------+
| sno  | sname  | hire       | point | branch |
+------+--------+------------+-------+--------+
| s123 | 기필호 | 1998-10-12 |   200 | 인천   |
| s134 | 박성식 | 2002-03-01 |   100 | 서울   |
| s202 | 김두환 | 2000-05-03 |   400 | 경기   |
| s241 | 임흥석 | 2003-06-12 |   300 | 부산   |
| s345 | 최재형 | 2004-03-01 |   200 | 인천   |
| s357 | 길동이 | 2000-10-12 |   200 | 인천   |
| s444 | 정종호 | 2004-11-01 |  NULL | NULL   |
| s555 | 홍길동 | 2008-01-08 |  NULL | 인천   |
+------+--------+------------+-------+--------+
8 rows in set (0.03 sec)

mysql>

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

mysql> update salesman set point=point+100 where sno='s123';
Query OK, 1 row affected (0.06 sec)
Rows matched: 1  Changed: 1  Warnings: 0

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

mysql> select * from salesman;
+------+--------+------------+-------+--------+
| sno  | sname  | hire       | point | branch |
+------+--------+------------+-------+--------+
| s123 | 기필호 | 1998-10-12 |   300 | 인천   |
| s134 | 박성식 | 2002-03-01 |   100 | 서울   |
| s202 | 김두환 | 2000-05-03 |   400 | 경기   |
| s241 | 임흥석 | 2003-06-12 |   300 | 부산   |
| s345 | 최재형 | 2004-03-01 |   200 | 인천   |
| s357 | 길동이 | 2000-10-12 |   200 | 인천   |
| s444 | 정종호 | 2004-11-01 |  NULL | NULL   |
| s555 | 홍길동 | 2008-01-08 |  NULL | 인천   |
+------+--------+------------+-------+--------+
8 rows in set (0.00 sec)

mysql>




2.출고지가 인천인 차량에 대해서 배기량을 200 증가시켜라

mysql> select * from car;
+-----+--------+------+--------+--------+
| cno | cname  | cc   | weight | outlet |
+-----+--------+------+--------+--------+
| c1  | 소나타 | 1800 |   1200 | 서울   |
| c2  | 소나타 | 2000 |   1300 | 서울   |
| c3  | 레조   | 1500 |   1100 | 인천   |
| c4  | 레조   | 2000 |   1200 | 인천   |
| c5  | 카니발 | 3000 |   1800 | 광주   |
| c6  | SM5    | 2000 |   1300 | 부산   |
| c7  | SM5    | 2500 |   1350 | 부산   |
+-----+--------+------+--------+--------+
7 rows in set (0.00 sec)

mysql>


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

mysql> update car set cc=cc+200 where outlet='인천';
Query OK, 2 rows affected (0.06 sec)
Rows matched: 2  Changed: 2  Warnings: 0

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

mysql> select * from car;
+-----+--------+------+--------+--------+
| cno | cname  | cc   | weight | outlet |
+-----+--------+------+--------+--------+
| c1  | 소나타 | 1800 |   1200 | 서울   |
| c2  | 소나타 | 2000 |   1300 | 서울   |
| c3  | 레조   | 1700 |   1100 | 인천   |
| c4  | 레조   | 2200 |   1200 | 인천   |
| c5  | 카니발 | 3000 |   1800 | 광주   |
| c6  | SM5    | 2000 |   1300 | 부산   |
| c7  | SM5    | 2500 |   1350 | 부산   |
+-----+--------+------+--------+--------+
7 rows in set (0.00 sec)

mysql>




3. 모든 사원의 실적을 100점 감소시켜라

mysql> select * from salesman;
+------+--------+------------+-------+--------+
| sno  | sname  | hire       | point | branch |
+------+--------+------------+-------+--------+
| s123 | 기필호 | 1998-10-12 |   300 | 인천   |
| s134 | 박성식 | 2002-03-01 |   100 | 서울   |
| s202 | 김두환 | 2000-05-03 |   400 | 경기   |
| s241 | 임흥석 | 2003-06-12 |   300 | 부산   |
| s345 | 최재형 | 2004-03-01 |   200 | 인천   |
| s357 | 길동이 | 2000-10-12 |   200 | 인천   |
| s444 | 정종호 | 2004-11-01 |  NULL | NULL   |
| s555 | 홍길동 | 2008-01-08 |  NULL | 인천   |
+------+--------+------------+-------+--------+
8 rows in set (0.02 sec)

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

mysql> update salesman set point=point-100;
Query OK, 6 rows affected (0.05 sec)
Rows matched: 8  Changed: 6  Warnings: 0

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

mysql> select * from salesman;
+------+--------+------------+-------+--------+
| sno  | sname  | hire       | point | branch |
+------+--------+------------+-------+--------+
| s123 | 기필호 | 1998-10-12 |   200 | 인천   |
| s134 | 박성식 | 2002-03-01 |     0 | 서울   |
| s202 | 김두환 | 2000-05-03 |   300 | 경기   |
| s241 | 임흥석 | 2003-06-12 |   200 | 부산   |
| s345 | 최재형 | 2004-03-01 |   100 | 인천   |
| s357 | 길동이 | 2000-10-12 |   100 | 인천   |
| s444 | 정종호 | 2004-11-01 |  NULL | NULL   |
| s555 | 홍길동 | 2008-01-08 |  NULL | 인천   |
+------+--------+------------+-------+--------+
8 rows in set (0.00 sec)

mysql>




4. 차량명이 소나타이면서 배기량이 2000cc인 차량의 출고지를 당산으로 바꾸시오

mysql> select * from car;
+-----+--------+------+--------+--------+
| cno | cname  | cc   | weight | outlet |
+-----+--------+------+--------+--------+
| c1  | 소나타 | 1800 |   1200 | 서울   |
| c2  | 소나타 | 2000 |   1300 | 서울   |
| c3  | 레조   | 1700 |   1100 | 인천   |
| c4  | 레조   | 2200 |   1200 | 인천   |
| c5  | 카니발 | 3000 |   1800 | 광주   |
| c6  | SM5    | 2000 |   1300 | 부산   |
| c7  | SM5    | 2500 |   1350 | 부산   |
+-----+--------+------+--------+--------+
7 rows in set (0.00 sec)

mysql>



++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
update car set outlet='당산' where cname='소나타' and cc=2000;

mysql> update car set outlet='당산' where cname='소나타' and cc=2000;
Query OK, 1 row affected (0.03 sec)
Rows matched: 1  Changed: 1  Warnings: 0
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



mysql> select * from car;
+-----+--------+------+--------+--------+
| cno | cname  | cc   | weight | outlet |
+-----+--------+------+--------+--------+
| c1  | 소나타 | 1800 |   1200 | 서울   |
| c2  | 소나타 | 2000 |   1300 | 당산   |
| c3  | 레조   | 1700 |   1100 | 인천   |
| c4  | 레조   | 2200 |   1200 | 인천   |
| c5  | 카니발 | 3000 |   1800 | 광주   |
| c6  | SM5    | 2000 |   1300 | 부산   |
| c7  | SM5    | 2500 |   1350 | 부산   |
+-----+--------+------+--------+--------+
7 rows in set (0.00 sec)

mysql>




5. 출고지가 인천인 차량의 이름을 SM7으로 바꾸고 차중량을 200 증가시키시오
update car set cname='SM7', weight=weight+200 where outlet='인천';

mysql> select * from car;
+-----+--------+------+--------+--------+
| cno | cname  | cc   | weight | outlet |
+-----+--------+------+--------+--------+
| c1  | 소나타 | 1800 |   1200 | 서울   |
| c2  | 소나타 | 2000 |   1300 | 당산   |
| c3  | 레조   | 1700 |   1100 | 인천   |
| c4  | 레조   | 2200 |   1200 | 인천   |
| c5  | 카니발 | 3000 |   1800 | 광주   |
| c6  | SM5    | 2000 |   1300 | 부산   |
| c7  | SM5    | 2500 |   1350 | 부산   |
+-----+--------+------+--------+--------+
7 rows in set (0.00 sec)



mysql> update car set cname='SM7', weight=weight+200 where outlet='인천';
Query OK, 2 rows affected (0.05 sec)
Rows matched: 2  Changed: 2  Warnings: 0



mysql> select * from car;
+-----+--------+------+--------+--------+
| cno | cname  | cc   | weight | outlet |
+-----+--------+------+--------+--------+
| c1  | 소나타 | 1800 |   1200 | 서울   |
| c2  | 소나타 | 2000 |   1300 | 당산   |
| c3  | SM7    | 1700 |   1300 | 인천   |
| c4  | SM7    | 2200 |   1400 | 인천   |
| c5  | 카니발 | 3000 |   1800 | 광주   |
| c6  | SM5    | 2000 |   1300 | 부산   |
| c7  | SM5    | 2500 |   1350 | 부산   |
+-----+--------+------+--------+--------+
7 rows in set (0.00 sec)

mysql>



6. 입사일이 2004년이면서 실적이 없는 사원의 이름을 황길동으로 변경하시오.
update salesman set sname='황길동' where year(hire)=2004 and point is null;

mysql> select * from salesman;
+------+--------+------------+-------+--------+
| sno  | sname  | hire       | point | branch |
+------+--------+------------+-------+--------+
| s123 | 기필호 | 1998-10-12 |   200 | 인천   |
| s134 | 박성식 | 2002-03-01 |     0 | 서울   |
| s202 | 김두환 | 2000-05-03 |   300 | 경기   |
| s241 | 임흥석 | 2003-06-12 |   200 | 부산   |
| s345 | 최재형 | 2004-03-01 |   100 | 인천   |
| s357 | 길동이 | 2000-10-12 |   100 | 인천   |
| s444 | 정종호 | 2004-11-01 |  NULL | NULL   |
| s555 | 홍길동 | 2008-01-08 |  NULL | 인천   |
+------+--------+------------+-------+--------+
8 rows in set (0.00 sec)



mysql> update salesman set sname='황길동'
    -> where year(hire)=2004 and point is null;
Query OK, 1 row affected (0.03 sec)
Rows matched: 1  Changed: 1  Warnings: 0



mysql> select * from salesman;
+------+--------+------------+-------+--------+
| sno  | sname  | hire       | point | branch |
+------+--------+------------+-------+--------+
| s123 | 기필호 | 1998-10-12 |   200 | 인천   |
| s134 | 박성식 | 2002-03-01 |     0 | 서울   |
| s202 | 김두환 | 2000-05-03 |   300 | 경기   |
| s241 | 임흥석 | 2003-06-12 |   200 | 부산   |
| s345 | 최재형 | 2004-03-01 |   100 | 인천   |
| s357 | 길동이 | 2000-10-12 |   100 | 인천   |
| s444 | 황길동 | 2004-11-01 |  NULL | NULL   |
| s555 | 홍길동 | 2008-01-08 |  NULL | 인천   |
+------+--------+------------+-------+--------+
8 rows in set (0.00 sec)

mysql>



7. 입사월이 3월이면서 지점명이 서울인 사원의 사원명을 당산동으로 변경하시오.
update salesman set sname='당산동' where month(hire)=03 and branch='서울';

mysql> select * from salesman;
+------+--------+------------+-------+--------+
| sno  | sname  | hire       | point | branch |
+------+--------+------------+-------+--------+
| s123 | 기필호 | 1998-10-12 |   200 | 인천   |
| s134 | 박성식 | 2002-03-01 |     0 | 서울   |
| s202 | 김두환 | 2000-05-03 |   300 | 경기   |
| s241 | 임흥석 | 2003-06-12 |   200 | 부산   |
| s345 | 최재형 | 2004-03-01 |   100 | 인천   |
| s357 | 길동이 | 2000-10-12 |   100 | 인천   |
| s444 | 황길동 | 2004-11-01 |  NULL | NULL   |
| s555 | 홍길동 | 2008-01-08 |  NULL | 인천   |
+------+--------+------------+-------+--------+
8 rows in set (0.00 sec)

mysql> update salesman set sname='당산동'
    -> where month(hire)=03 and branch='서울';
Query OK, 1 row affected (0.03 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> select * from salesman;
+------+--------+------------+-------+--------+
| sno  | sname  | hire       | point | branch |
+------+--------+------------+-------+--------+
| s123 | 기필호 | 1998-10-12 |   200 | 인천   |
| s134 | 당산동 | 2002-03-01 |     0 | 서울   |
| s202 | 김두환 | 2000-05-03 |   300 | 경기   |
| s241 | 임흥석 | 2003-06-12 |   200 | 부산   |
| s345 | 최재형 | 2004-03-01 |   100 | 인천   |
| s357 | 길동이 | 2000-10-12 |   100 | 인천   |
| s444 | 황길동 | 2004-11-01 |  NULL | NULL   |
| s555 | 홍길동 | 2008-01-08 |  NULL | 인천   |
+------+--------+------------+-------+--------+
8 rows in set (0.00 sec)

mysql>



8. 입사일이 1일이면서 실적점수가 200점 이상인 사원의 사원명을 당산역으로 변경.
update salesman set sname='당산역' where day(hire)=01 and point>=200;

+++++++++++++++++++++++++++++++++++++++++++++++++
mysql> update salesman set point=point+100;
Query OK, 6 rows affected (0.05 sec)
Rows matched: 8  Changed: 6  Warnings: 0

-> 앞에서 포인트를 100점씩 빼준 상태라,
다시 100점씩 더해줌.
+++++++++++++++++++++++++++++++++++++++++++++++++

mysql> select * from salesman;
+------+--------+------------+-------+--------+
| sno  | sname  | hire       | point | branch |
+------+--------+------------+-------+--------+
| s123 | 기필호 | 1998-10-12 |   300 | 인천   |
| s134 | 당산동 | 2002-03-01 |   100 | 서울   |
| s202 | 김두환 | 2000-05-03 |   400 | 경기   |
| s241 | 임흥석 | 2003-06-12 |   300 | 부산   |
| s345 | 최재형 | 2004-03-01 |   200 | 인천   |
| s357 | 길동이 | 2000-10-12 |   200 | 인천   |
| s444 | 황길동 | 2004-11-01 |  NULL | NULL   |
| s555 | 홍길동 | 2008-01-08 |  NULL | 인천   |
+------+--------+------------+-------+--------+
8 rows in set (0.00 sec)

mysql> update salesman set sname='당산역'
    -> where day(hire)=01 and point>=200;
Query OK, 1 row affected (0.05 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> select * from salesman;
+------+--------+------------+-------+--------+
| sno  | sname  | hire       | point | branch |
+------+--------+------------+-------+--------+
| s123 | 기필호 | 1998-10-12 |   300 | 인천   |
| s134 | 당산동 | 2002-03-01 |   100 | 서울   |
| s202 | 김두환 | 2000-05-03 |   400 | 경기   |
| s241 | 임흥석 | 2003-06-12 |   300 | 부산   |
| s345 | 당산역 | 2004-03-01 |   200 | 인천   |
| s357 | 길동이 | 2000-10-12 |   200 | 인천   |
| s444 | 황길동 | 2004-11-01 |  NULL | NULL   |
| s555 | 홍길동 | 2008-01-08 |  NULL | 인천   |
+------+--------+------------+-------+--------+
8 rows in set (0.00 sec)















################## delete #########################

delete from 테이블명 where 조건



1. 사번이 's134'인 사원의 레코드 삭제
delete from salesman where sno='s134';

mysql> select * from salesman;
+------+--------+------------+-------+--------+
| sno  | sname  | hire       | point | branch |
+------+--------+------------+-------+--------+
| s123 | 기필호 | 1998-10-12 |   300 | 인천   |
| s134 | 당산동 | 2002-03-01 |   100 | 서울   |
| s202 | 김두환 | 2000-05-03 |   400 | 경기   |
| s241 | 임흥석 | 2003-06-12 |   300 | 부산   |
| s345 | 당산역 | 2004-03-01 |   200 | 인천   |
| s357 | 길동이 | 2000-10-12 |   200 | 인천   |
| s444 | 황길동 | 2004-11-01 |  NULL | NULL   |
| s555 | 홍길동 | 2008-01-08 |  NULL | 인천   |
+------+--------+------------+-------+--------+
8 rows in set (0.00 sec)

mysql> delete from salesman where sno='s134';
Query OK, 1 row affected (0.03 sec)

mysql> select * from salesman;
+------+--------+------------+-------+--------+
| sno  | sname  | hire       | point | branch |
+------+--------+------------+-------+--------+
| s123 | 기필호 | 1998-10-12 |   300 | 인천   |
| s202 | 김두환 | 2000-05-03 |   400 | 경기   |
| s241 | 임흥석 | 2003-06-12 |   300 | 부산   |
| s345 | 당산역 | 2004-03-01 |   200 | 인천   |
| s357 | 길동이 | 2000-10-12 |   200 | 인천   |
| s444 | 황길동 | 2004-11-01 |  NULL | NULL   |
| s555 | 홍길동 | 2008-01-08 |  NULL | 인천   |
+------+--------+------------+-------+--------+
7 rows in set (0.00 sec)

mysql>




2. 출고지가 '당산'인 레코드를 삭제하시오.
delete from car where outlet='당산';

mysql> select * from car;
+-----+--------+------+--------+--------+
| cno | cname  | cc   | weight | outlet |
+-----+--------+------+--------+--------+
| c1  | 소나타 | 1800 |   1200 | 서울   |
| c2  | 소나타 | 2000 |   1300 | 당산   |
| c3  | SM7    | 1700 |   1300 | 인천   |
| c4  | SM7    | 2200 |   1400 | 인천   |
| c5  | 카니발 | 3000 |   1800 | 광주   |
| c6  | SM5    | 2000 |   1300 | 부산   |
| c7  | SM5    | 2500 |   1350 | 부산   |
+-----+--------+------+--------+--------+
7 rows in set (0.00 sec)

mysql> delete from car where outlet='당산';
Query OK, 1 row affected (0.03 sec)

mysql> select * from car;
+-----+--------+------+--------+--------+
| cno | cname  | cc   | weight | outlet |
+-----+--------+------+--------+--------+
| c1  | 소나타 | 1800 |   1200 | 서울   |
| c3  | SM7    | 1700 |   1300 | 인천   |
| c4  | SM7    | 2200 |   1400 | 인천   |
| c5  | 카니발 | 3000 |   1800 | 광주   |
| c6  | SM5    | 2000 |   1300 | 부산   |
| c7  | SM5    | 2500 |   1350 | 부산   |
+-----+--------+------+--------+--------+
6 rows in set (0.00 sec)

mysql>



3. 입사일이 1일인 레코드 모두 삭제.
delete from salesman where day(hire)=01;

mysql> select * from salesman;
+------+--------+------------+-------+--------+
| sno  | sname  | hire       | point | branch |
+------+--------+------------+-------+--------+
| s123 | 기필호 | 1998-10-12 |   300 | 인천   |
| s202 | 김두환 | 2000-05-03 |   400 | 경기   |
| s241 | 임흥석 | 2003-06-12 |   300 | 부산   |
| s345 | 당산역 | 2004-03-01 |   200 | 인천   |
| s357 | 길동이 | 2000-10-12 |   200 | 인천   |
| s444 | 황길동 | 2004-11-01 |  NULL | NULL   |
| s555 | 홍길동 | 2008-01-08 |  NULL | 인천   |
+------+--------+------------+-------+--------+
7 rows in set (0.00 sec)

mysql> delete from salesman where day(hire)=01;
Query OK, 2 rows affected (0.03 sec)

mysql> select * from salesman;
+------+--------+------------+-------+--------+
| sno  | sname  | hire       | point | branch |
+------+--------+------------+-------+--------+
| s123 | 기필호 | 1998-10-12 |   300 | 인천   |
| s202 | 김두환 | 2000-05-03 |   400 | 경기   |
| s241 | 임흥석 | 2003-06-12 |   300 | 부산   |
| s357 | 길동이 | 2000-10-12 |   200 | 인천   |
| s555 | 홍길동 | 2008-01-08 |  NULL | 인천   |
+------+--------+------------+-------+--------+
5 rows in set (0.00 sec)

mysql>




4. 차량명이 SM7이거나 배기량이 1800 이상인 레코드 삭제
delete from car where cname='SM7' or cc>=1800;

mysql> select * from car;
+-----+--------+------+--------+--------+
| cno | cname  | cc   | weight | outlet |
+-----+--------+------+--------+--------+
| c1  | 소나타 | 1800 |   1200 | 서울   |
| c3  | SM7    | 1700 |   1300 | 인천   |
| c4  | SM7    | 2200 |   1400 | 인천   |
| c5  | 카니발 | 3000 |   1800 | 광주   |
| c6  | SM5    | 2000 |   1300 | 부산   |
| c7  | SM5    | 2500 |   1350 | 부산   |
+-----+--------+------+--------+--------+
6 rows in set (0.00 sec)


mysql> delete from car where cname='SM7' or cc>=1800;
Query OK, 6 rows affected (0.03 sec)

mysql> select * from car;
Empty set (0.02 sec)

mysql>











######### root password 바꾸기 ############

use mysql
update user set password=password(401) where user='root';
// update user set password=password(새로운 비밀번호) where user='root';
flush privileges;



mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| company            |
| mysql              |
| sqltest            |
| test               |
+--------------------+
5 rows in set (0.00 sec)


mysql> use mysql;
Database changed


mysql> show tables;
+---------------------------+
| Tables_in_mysql           |
+---------------------------+
| columns_priv              |
| db                        |
| func                      |
| help_category             |
| help_keyword              |
| help_relation             |
| help_topic                |
| host                      |
| proc                      |
| procs_priv                |
| tables_priv               |
| time_zone                 |
| time_zone_leap_second     |
| time_zone_name            |
| time_zone_transition      |
| time_zone_transition_type |
| user                      |
+---------------------------+
17 rows in set (0.01 sec)



mysql> update user set password=password(401) where user='root';
Query OK, 2 rows affected (0.11 sec)
Rows matched: 2  Changed: 2  Warnings: 0



mysql> flush privileges;
Query OK, 0 rows affected (0.24 sec)



mysql> quit                        // 새로운 비번으로 접속해보기 위해서 quit !
Bye

C:\Documents and Settings\Administrator>mysql -u root -p
Enter password: ***        // 새로운 비밀번호(401)임을 자리수로 미루어 알 수 있다.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.0.45-community-nt MySQL Community Edition (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>
Comment 0 Trackback 0
Top

PHP : define, confirm,

define
<?php

    define("PI", 3.14159);
    $sqr = 10 * PI;
    echo "10 * PI = $sqr <br>";

    define("PI", 8.7272);
    // 한번 정의한 상수는 재설정이 불가

    echo PI;
    echo "<br>";
    echo "<br>";
?>


이런 것도 있다.
<?
   echo "PHP의 버전 : ";
   echo PHP_VERSION;
   echo "<br>";

   echo "서버의 운영체제 : ";
   echo PHP_OS;
   echo "<br>";
?>



확인창 띄워서 선택하게 하는 방법

con = confirm (" ");
예 -> true 값 반환.
아니오 -> false 값 반환.

<script>
con = confirm("회원가입을 하시겠습니까? 정말??");

/* yes는 네이버, no는 엠파스 */

if (con==true)
{
    location.href="http://www.naver.com";
}
else
{
    location.href="http://www.empas.com";
}
</script>




window.open
1-1. [confirm.html] - onLoad
<script>
function winopen()
{
    window.open("notice.html", "win1", "width=300, height=200");
}
</script>

<body onLoad="winopen();">   // 페이지가 열리자마자 불러오기
윈도우 오픈 연습
</body>



1-2. [confirm.html] - onClick
<script>
function winopen()
{
    window.open("notice.html", "win1", "width=300, height=200");
}
</script>

<body>
윈도우 오픈 연습
<br><br>
<form>
<input type=button onClick="winopen();" value="공지띄우기"> //클릭하면 공지창 띄우기
</form>
</body>



2. [notice.html]
<HTML>
<HEAD>
<TITLE> 공지합니다! </TITLE>
</HEAD>

<BODY>
<center>
<table><tr><td>
신년 모임합니다.<br>
장소 : 현대직업전문학교<br>
회비 : 1만원</br>
모임 목적 : 친목 도모
</td></tr></table>
</center>
</BODY>
</HTML>







일단은 요까지..



Comment 0 Trackback 0
Top

prev 1 2 next