웹 애플리케이션 만들기

데이터베이스(MySQL) 이론

데이터베이스 이론1

codeanywhere를 실습환경으로 이용하고 계신 분들은 codeanywhere로 터미널 이용하기 영상을 보시면 다음 영상의 실습을 따라할 수 있습니다.

데이터베이스 이론2

윈도우 

mysql -hlocalhost -uroot -p

리눅스, 맥

./mysql -hlocalhost -uroot -p

데이터베이스 보기

show databases;

데이터베이스 생성

CREATE DATABASE opentutorials CHARACTER SET utf8 COLLATE utf8_general_ci;

데이터베이스 선택

use opentutorials;

테이블 생성

CREATE TABLE `topic` (
`id` int(11) NOT NULL AUTO_INCREMENT,
  `title` varchar(100) NOT NULL,
  `description` text NOT NULL,
  `author` varchar(30) NOT NULL,
  `created` datetime NOT NULL,
  PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

생성된 테이블 확인

show tables;

데이터 삽입

INSERT INTO `topic` (`id`, `title`, `description`, `author`, `created`) VALUES(1, 'About JavaScript', '<h3>Desctiption</h3>\r\n<p>JavaScript  is a dynamic computer programming language. It is most commonly used as part of web browsers, whose implementations allow client-side scripts to interact with the user, control the browser, communicate asynchronously, and alter the document content that is displayed.</p>\r\n<p>\r\nDespite some naming, syntactic, and standard library similarities, JavaScript and Java are otherwise unrelated and have very different semantics. The syntax of JavaScript is actually derived from C, while the semantics and design are influenced by the Self and Scheme programming languages.\r\n</p>\r\n<h3>See Also</h3>\r\n<ul>\r\n  <li><a href="http://en.wikipedia.org/wiki/Dynamic_HTML">Dynamic HTML and Ajax (programming)</a></li>\r\n  <li><a href="http://en.wikipedia.org/wiki/Web_interoperability">Web interoperability</a></li>\r\n  <li><a href="http://en.wikipedia.org/wiki/Web_accessibility">Web accessibility</a></li>\r\n</ul>\r\n', 'egoing', '2015-03-31 12:14:00');
INSERT INTO `topic` (`id`, `title`, `description`, `author`, `created`) VALUES(2, 'Variable and Constant', '<h3>Desciption</h3>\r\n\r\nIn computer programming, a variable or scalar is a storage location paired with an associated symbolic name (an identifier), which contains some known or unknown quantity or information referred to as a value. The variable name is the usual way to reference the stored value; this separation of name and content allows the name to be used independently of the exact information it represents. The identifier in computer source code can be bound to a value during run time, and the value of the variable may thus change during the course of program execution.\r\n\r\n<h3>See Also</h3>\r\n<ul>\r\n<li>Non-local variable</li>\r\n<li>Variable interpolation</li>\r\n</ul>\r\n', 'k8805', '2015-05-14 10:04:00');
INSERT INTO `topic` (`id`, `title`, `description`, `author`, `created`) VALUES(3, 'Opeartor', '<h2>Operator</h2>\r\n<h3>Description</h3>\r\n<p>Programming languages typically support a set of operators: constructs which behave generally like functions, but which differ syntactically or semantically from usual functions</p>\r\n<p>Common simple examples include arithmetic (addition with +, comparison with >) and logical operations (such as AND or &&). </p>\r\n', 'egoing', '2015-06-18 05:00:00');
INSERT INTO `topic` (`id`, `title`, `description`, `author`, `created`) VALUES(4, 'Conditional', '<h3>Description</h3>\r\n<p>In computer science, conditional statements, conditional expressions and conditional constructs are features of a programming language which perform different computations or actions depending on whether a programmer-specified boolean condition evaluates to true or false. Apart from the case of branch predication, this is always achieved by selectively altering the control flow based on some condition.</p>\r\n<p>In imperative programming languages, the term "conditional statement" is usually used, whereas in functional programming, the terms "conditional expression" or "conditional construct" are preferred, because these terms all have distinct meanings.</p>\r\n<h3>See Also</h3>\r\n<ul>\r\n<li><a href="http://en.wikipedia.org/wiki/Branch_(computer_science)" title="Branch (computer science)">Branch (computer science)</a></li>\r\n<li><a href="http://en.wikipedia.org/wiki/Conditional_compilation" title="Conditional compilation">Conditional compilation</a></li>\r\n<li><a href="http://en.wikipedia.org/wiki/Dynamic_dispatch" title="Dynamic dispatch">Dynamic dispatch</a> for another way to make execution choices</li>\r\n<li><a href="http://en.wikipedia.org/wiki/McCarthy_Formalism" title="McCarthy Formalism">McCarthy Formalism</a> for history and historical references</li>\r\n<li><a href="http://en.wikipedia.org/wiki/Named_condition" title="Named condition" class="mw-redirect">Named condition</a></li>\r\n<li><a href="http://en.wikipedia.org/wiki/Test_(Unix)" title="Test (Unix)">Test (Unix)</a></li>\r\n<li><a href="http://en.wikipedia.org/wiki/Yoda_conditions" title="Yoda conditions">Yoda conditions</a></li>\r\n</ul>', 'c2', '2015-07-25 00:00:00');

 

댓글

댓글 본문
작성자
비밀번호
  1. 손은정
    여러번 시도해 봤는데 . .
    mysql -hlocalhost -uroot -p 이후 비밀번호 실행이 안돼네요
    문제해결 하신분 도움요청 합니다
  2. 김경태
    잘 봤습니다
  3. jeongho
    이런거 책으로만 봤었는데 동영상따라하니까 금방술술풀리네요
  4. AngelPlayer
    2017. 07. 18. 14:13
    슬슬 어렵네요잉...
  5. Scia
    CREATE TABLE `topic` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `title` varchar(100) NOT NULL,
    `description` text NOT NULL,
    `author` varchar(30) NOT NULL,
    `created` datetime NOT NULL,
    PRIMARY KEY (id)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

    왜 똑같이 작동하지 않을까요...?
    `author`부터
    -> 이 화살표가 아닌 '> 로 바꼈어요.

    혹, 띄어쓰기도 중요한가요?
  6. pass
  7. yeorue@gmail.com
    다시 달립니다. 항상 고맙습니다.
  8. 까칠남
    저도 같은 에러나와요 어떻게 해결하죠?
    대화보기
    • JUNY
      완료!
    • 글로리아
      select 얼마남지 않았어요 from 고지;

      감사합니다 ^^
    • Scia
      mysql -hlocalhost -uroot -p
      를 쳤는데,
      'mysql'은 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다.
      떠서 당황;;; 했어요.!!

      보지깐 전는 주소 복사 할 때, 끝에
      \bin
      이 없었더라고요.
    • clair
      세미콜론 치고 엔터치면 빠져나와요 ㅎㅎ
      대화보기
      • Amore Chang
        해냈어~~~!!!!
      • 엘타냥
        저도 같은 오류 ERROR 1064 (42000) 겪고 실습 포기한 채 영상만 봤었는데요.
        오늘 드디어 인터넷을 뒤져보다가 깨달음을 얻었네요 -_-ㅋ
        작은따옴표로 입력하고 있던 ' 를 모두 숫자키1의 왼쪽에 있는 ` 로 바꾸니까 해결되었습니다!
        크흐흑... 부디 저처럼 해결 되시길 바랍니다.
        대화보기
        • andy023
          너무나도 잘 봤습니다.
        • 이인태
          몇번 반복을 했더니.조금은 이해가되는 듯 합니다.
          오래전에.베이직을 베울때.생각이.많이 나네요..ㅎ
          도스.사용할때 그 명령어들 하고요...
          cd md rd.. dir..ㅋㅋ
        • Kim Young
          7/5 잘 봤습니다. 마지막에 f 누르고 엔터 쳤더니 화살표가 없어지지 않더라구요
          그래서 ctrl+c 누르니까 exit 메세지 나오면서 mysql> 표시가 없어졌어요.
          정확히 빠져나오는 방법을 몰라서 그냥 프롬프트창을 닫았습니다. ㅠㅠ. 아이고~
        • Jaehyun Kim
          잘 봤습니다! 고지가 멀지 않았다!^^
        • SBGO
          wirte.php와 process.php를 제대로 만들었는데.. 이게 분명 명령프롬프트창에서 데이터를 insert하면 잘되는데.. 웹에서 input형식에 넣어서 submit을할시에는.. 데이터가 입력이 안되고 바로 redirection되어 index.php로 넘어가기만 합니다.
          물론 오류도 안뜨고요.. 제생각에 mysqli_connect가 잘안된거 같은데.. 뭐가 문제인지 전혀 모르겠습니다. 이고잉님이랑 소스가 다르다고 한다면 이고잉님은 비번에 ""를 안붙이시만 저는 비밀번호가 숫자와 문자가 섞여있어서.. "비밀번호"이렇게 썼는데.. 이게 문제라면 왜그런지 이유를 당최 모르겠습니다. ㅠㅠ

          그리고 제가 소스를 길게해서 mysql에 직접 넣을때 길게 넣으면 ERROR 2005 (HY000): Unknown MySQL server host 'loop' (2) 나올때가 있는데.. 왜이런지..
        • 박우진
          봤어요!
        • Amore Chang
          흥미진진해집니다!!! 아주우~~~~
        • an yugo
          http://graceman.tistory.com/2834782
          비번 까먹으신 분들 여기 한번 참고해보세요.
          그리고 저기에 나와있는 방법은 옜날꺼기 때문에
          폴더주소를 바꿔 주셔야 정상적으로 찾습니다. cd 꼭 입력해주시고요.
        • sj0082
          혹시 패스워드 입력 후 아래의 에러 메시지를 경험하고 계신 분들을 위한 팁입니다.
          [에러 메시지]
          mysql error 2003 (hy000) can't connect to mysql server on 'localhost' (10061)

          [해결방법]
          (1) 윈도우 > 실행 클릭
          (2) 실행 창에 services.msc 입력
          (3) 서비스 창에서 MySQL 서비스가 시작(Started) 상태인지 확인
          (4) 시작 상태가 아니라면 서비스 시작
        • Olivia Lim
          잘못 했을 경우 팁 입니다.

          특정 id값의 줄을 지우는 방법입니다. id가 2인 줄을 지우고 싶으면,
          DELETE FROM topic WHERE id='2';
          라고 쓰시면 됩니다.

          입력하다 줄바꿈이 되었는데 입력 자체를 취소하고 싶어서 다시 명령어 입력모드로 가고싶을때
          Ctrl(컨트롤)+C를 누르시면 빠져나옵니다.
        • asaroon@gmail.com
          저도 같은 증상이 있어서 확인해보니 해당 오류는 잘못된 입력값이 있을 때 나타나는 거 같더라구요.
          어느 부분에서 막히는지가 있어야 확인이 가능할 것 같습니다.

          참조 링크
          http://www.inmotionhosting.com......064
          대화보기
          • bitnami 지웠다가 다시 다운받아서 처음부터 비번 세팅하는게 더 빠를거 같더라구요, 대신 htdoc폴더만 잘 저장해둬서 이전에 한거 안날라가게만 하세요~
            대화보기
            • stuck
              구글링해서 mysql root password을 하려고 하는데, 첫 스텝으로 서버 가동을 중지시키라고 하는데 (이건 프로그램 설정 메뉴에서 함)
              그 이후에도 명령어를 넣을 때마다(sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables)
              패스워드를 넣으라고 해서;; (사실 이걸 몰라서 재설정 하려는 건데...)

              강의 진행을 못하고 있는 상황인데...;;
              방법을 친절히 설명해 주실 분 계신가요??ㅠ
            • 권광범
              와우
            • 마시리스
              codeanywhere 의 mysql에 데이터를 못넣고계신분들은
              아무 php파일을 만들어서
              아래내용을 그대로 복사하신뒤 웹페이지에서 한번 열어주시면 db에 데이터가 들어갑니다.
              <?php
              $conn = mysqli_connect("localhost", "root", "");
              mysqli_select_db($conn, "opentutorials");
              mysqli_query($conn, "INSERT INTO `topic` (`id`, `title`, `description`, `author`, `created`) VALUES(1, 'About JavaScript', '<h3>Desctiption</h3>\r\n<p>JavaScript is a dynamic computer programming language. It is most commonly used as part of web browsers, whose implementations allow client-side scripts to interact with the user, control the browser, communicate asynchronously, and alter the document content that is displayed.</p>\r\n<p>\r\nDespite some naming, syntactic, and standard library similarities, JavaScript and Java are otherwise unrelated and have very different semantics. The syntax of JavaScript is actually derived from C, while the semantics and design are influenced by the Self and Scheme programming languages.\r\n</p>\r\n<h3>See Also</h3>\r\n<ul>\r\n <li><a href=\"http://en.wikipedia.org/wiki/Dynamic_HTML\">Dynamic HTML and Ajax (programming)</a></li>\r\n <li><a href=\"http://en.wikipedia.org/wiki/Web_interoperability\">Web interoperability</a></li>\r\n <li><a href=\"http://en.wikipedia.org/wiki/Web_accessibility\">Web accessibility</a></li>\r\n</ul>\r\n', 'egoing', '2015-03-31 12:14:00');");
              mysqli_query($conn, "INSERT INTO `topic` (`id`, `title`, `description`, `author`, `created`) VALUES(2, 'Variable and Constant', '<h3>Desciption</h3>\r\n\r\nIn computer programming, a variable or scalar is a storage location paired with an associated symbolic name (an identifier), which contains some known or unknown quantity or information referred to as a value. The variable name is the usual way to reference the stored value; this separation of name and content allows the name to be used independently of the exact information it represents. The identifier in computer source code can be bound to a value during run time, and the value of the variable may thus change during the course of program execution.\r\n\r\n<h3>See Also</h3>\r\n<ul>\r\n<li>Non-local variable</li>\r\n<li>Variable interpolation</li>\r\n</ul>\r\n', 'k8805', '2015-05-14 10:04:00');");
              mysqli_query($conn, "INSERT INTO `topic` (`id`, `title`, `description`, `author`, `created`) VALUES(3, 'Opeartor', '<h2>Operator</h2>\r\n<h3>Description</h3>\r\n<p>Programming languages typically support a set of operators: constructs which behave generally like functions, but which differ syntactically or semantically from usual functions</p>\r\n<p>Common simple examples include arithmetic (addition with +, comparison with >) and logical operations (such as AND or &&). </p>\r\n', 'egoing', '2015-06-18 05:00:00');");
              mysqli_query($conn, "INSERT INTO `topic` (`id`, `title`, `description`, `author`, `created`) VALUES(4, 'Conditional', '<h3>Description</h3>\r\n<p>In computer science, conditional statements, conditional expressions and conditional constructs are features of a programming language which perform different computations or actions depending on whether a programmer-specified boolean condition evaluates to true or false. Apart from the case of branch predication, this is always achieved by selectively altering the control flow based on some condition.</p>\r\n<p>In imperative programming languages, the term \"conditional statement\" is usually used, whereas in functional programming, the terms \"conditional expression\" or \"conditional construct\" are preferred, because these terms all have distinct meanings.</p>\r\n<h3>See Also</h3>\r\n<ul>\r\n<li><a href=\"http://en.wikipedia.org/wiki/Branch_(computer_science)\" title=\"Branch (computer science)\">Branch (computer science)</a></li>\r\n<li><a href=\"http://en.wikipedia.org/wiki/Conditional_compilation\" title=\"Conditional compilation\">Conditional compilation</a></li>\r\n<li><a href=\"http://en.wikipedia.org/wiki/Dynamic_dispatch\" title=\"Dynamic dispatch\">Dynamic dispatch</a> for another way to make execution choices</li>\r\n<li><a href=\"http://en.wikipedia.org/wiki/McCarthy_Formalism\" title=\"McCarthy Formalism\">McCarthy Formalism</a> for history and historical references</li>\r\n<li><a href=\"http://en.wikipedia.org/wiki/Named_condition\" title=\"Named condition\" class=\"mw-redirect\">Named condition</a></li>\r\n<li><a href=\"http://en.wikipedia.org/wiki/Test_(Unix)\" title=\"Test (Unix)\">Test (Unix)</a></li>\r\n<li><a href=\"http://en.wikipedia.org/wiki/Yoda_conditions\" title=\"Yoda conditions\">Yoda conditions</a></li>\r\n</ul>', 'c2', '2015-07-25 00:00:00');");
              ?>
            • dandykandy
              비트나미 홈피 가서 비번 재설정하고 터미널에서 쳤는데 access denied 라고 뜨네요...
              비번에 문자를 섞으면 안 되는 건가요? @@
              대화보기
              • 김혜령
                강의 잘 봤습니다^^ mysql은 기존에 사용하고 있는 프로그램이라 좀 더 수월하게 접근할 수 있었네요 '_' 그래도 구조도 모르고 그냥 명령어만 쓰곤 했는데 차근차근한 설명 감사해요~!
              • 나은별
                감사합니다.
              • 최상호
                아 .. * 이 의미하는게 제가 알고 있던거랑 같았네요..
              • changmin
                영상보면서 잘 따라하시다가 데이터 삽입하는 부분에서 강의에 나와있는 데이터 복붙하실때 기존에 id컬럼에 해당하는 1,2번 데이터는 이미 입력하셨을 겁니다.(영상을 그대로 따라오셨다면요.)
                저거 그대로 복붙하시면 1,2번은 중복되어서 안들어가니까. 지우시고 3,4번부터 긁어서 붙여넣으시면 돼요.
                아니면 drop table하시고 그냥 새로 만드셔도 되고요. alter해도 되지만 여기서 굳이 그럴 필요가 없겠죠?
                전 codeanywhere로 하는데 자꾸 Duplicate에러가 나서 확인해보니까 생각없이 중복된 값을 넣고 있었네요. ㄷㄷㄷ
                데이터베이스는 외워야한다며 저걸 암기해서 문제낸거 시험볼때도 있었는데 이고잉니뮤 흑흑 차캐요.
              • 김석인
                Access denied for user 'root'@'localhost' (using password: YES)
                비밀번호를 잘못쓴건가요?
              • 강응택
                관리자가 쓰던 문장들이 이거군요. 흠..
              • melo0982@gmail.com
                비밀번호 기억안나시면 bitnami홈페이지에서 패스워드 찾으시고 그 패스워드 다시 입력하시면 되요!
              • 정영현
                EXCEL 에 타이핑 하시는거 보니깐
                타자 엄청 빠르시네요....
                알파고인줄
              • Kayse
                ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'create' at line 1

                이 오류는 어떻게 해결하나요?
              • 황준상
                어렵네요 ㅎ
              • Juwon kim
                오타나서 이전 줄로 다시 올라가려고합니다.
                어떤 명령어로 해야하나요?
              • sayboy1018
                잘보고 갑니다.
              • 황성준
                잘봤었요!
              • 감사합니다~ 올려주신 링크보고 해결하였습니다 ^^
                대화보기
                • 백곰몬
                  감사합니다! 완료!
                • 이지훈
                  잘 보았습니다.^^
                • 더 이상 진행할 수 없는 비운의 1인
                  맥북은... 또 다르네요ㅠㅠ
                  mysql 번호 까먹어서 공부를 못하게 되다니..ㅠㅠ
                  대화보기
                  • Kuon
                    윈도우입니다 죄송합니다 ㅠㅠ 으으 구글링 하시면 나오지 않을까요 같은 방법으로 될지는 모르겠지만 저는 (http://graceman.tistory.com/2834782) 여기글을 보고 따라했습니다 ㅜㅜ
                    대화보기
                    • 더 이상 진행할 수 없는 비운의 1인
                      맥북이신가요.. 방법 좀 공유해주세요.ㅠㅠ
                      대화보기
                      • Kyung Deok Kim
                        맥 터미널에서 앞글자 좀 치고 탭키 눌러도 경로 자동완성이 안되네요 ㅇ_ㅇ;
                      버전 관리
                      egoing
                      현재 버전
                      선택 버전
                      graphittie 자세히 보기