웹 애플리케이션 만들기

데이터베이스(MySQL) 이론

데이터베이스 이론1

데이터베이스 이론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 password를 잊어버려서 해결하려고하다가 mamp를 삭제했습니다. 재설치하려니 예기치않은 종료가 자꾸 떴어요. 결론적으로 vagrant를 이용해서 실습환경을 구축하고 있습니다. 저와 같은 문제를 겪고 계시면 vagrant를 이용해보세요!
  2. 나홀로문도리
    좋은 강의 잘 들었습니다! ^^
  3. 이병정
    네. ^^ '*'은 all 을 뜻 합니다.
    대화보기
    • 구찬우
      * 이라는 기호는 컬럼이라고 하셨는데, 전체 컬럼을 불러올 때 쓰는게 * 라고 이해하는게 맞나요?
    • 이병정
      학습 완료!!!
      노트하며 학습한 경로입니다.^^
      http://boshow.com......%AC
    • 데이터베이 이론1완료
    • 양재
      MySQL로그인 과정에서 mysql -hlocalhost -uroot -p 를 치면

      `mysql-hlocalhost-uroot-p`은(는) 내부 또는 외부명령, 실행할 수 있는 프로그램 또는 배치 파일이 아닙니다.

      라고 나오는데 뭐가 잘못된걸까요 ㅜㅜ
    • querencia
      2016.11.04 16:20 시작 ->
    • Kijin Roh
      휴 저도 패스워드가 기억이 안나서 엄청 고생하다가 겨우 N군에게 물어봐서 겨우 겨우 따라왔네요. 다들 화이팅입니다.
      여튼 좋은 강의 감사드립니다.
    • 활화산
      근근이 따라 가고 있어요.
    • 김규원
      MySQL 5.7이후 버전에서의 비밀번호 변경 방법입니다.
      아래 블로그에 설명이 나와있네요~
      http://blog.naver.com......193
      참고하세요~
    • 내비번..
      패스워드를 잃어버려서 ㅠㅠ 실습은 못하고 시청만 했네요...
      네이버 구글 유투브 전부 다 뒤져보았는데도 맥에서 패스워드 찾는 방법이 안나오네요
      넘나 슬픈 밤이예요....ㅠ
    • 잘은 모르지만...

      기본적으로는 mysql의 auto_increment는 1로 시작된다고 생각하시면 되겠습니다.

      insert into `topic` (id, title, description, author, created) values('0', 'test', 'test is ~', 'coco', '2015-10-5 12:20:1'); 을 하게되면 아래 5번째 id로 생성됩니다.

      하지만 특별히 0으로 시작해야 한다면
      set SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; 로 sql mode 를 변경하고,
      insert into `topic` (id, title, description, author, created) values('0', 'test_0', 'test0 is ~', 'coco_0', '2015-10-5 12:20:1'); 을 해주면
      아래와 같이 0번째 id로 값을 insert 할 수가 있습니다.

      0 | test_0 | coco_0 | 2015-10-05 12:20:01
      1 | about javascript | egoing | 2015-04-10 12:20:05
      2 | variable and constant | sinkpjs | 2015-04-10 12:20:01
      3 | Opeartor | egoing | 2015-06-18 05:00:00
      4 | Conditional | c2 | 2015-07-25 00:00:00
      5 | test | coco | 2015-04-10 12:20:01

      감사합니다.
      대화보기
      • DECIMO
        2016.09.29 감사합니다.
      • 2016.9.18 완료
      • 항상 좋은 강의 감사합니다,

        궁금한 점이 하나 있어서 질문드립니다.
        테이블 생성에 있어서 아래와 같은 코드를 입력하는데
        `id` int(11) NOT NULL AUTO_INCREMENT,

        이 중에서 int(11) 즉 정수를 생성하는 함수이면 0부터 시작되어야 되지 않나요? 이고잉님께서 컴퓨터는 카운팅을 0부터 시작한다고 하셨는데 그렇다면 id가 0, 1, 2, 3... 이런 식으로 증가되어야 되지 않나요?

        감사합니다.
      • ibooklove
        감사합니다.

        해외 인터넷 상에도 동일 현상에 대한 문의 글이 많은 글 보니 mySQL자체의 뻑인 것 같습니다.
        아래의 방법들도 사용해 보았는데, 해결되지 않았으며, 그러다가 어느 순간 (희한하게) 해결되었는데 그 이유를 알 수 없었는데, 말씀하신 방법으로 해결된 것 같습니다.

        은퇴후 재취업을 위해 자바스크립트를 공부하다가 생활코딩을 우연히 알게 되어 이 강의를 보고 있는데 정말 이해하기 쉽게 만든 놀라운 강의입니다. 제 홈페이지에도 생활코딩 사이트를 연결하였는데 생활코딩이 많은 사람들에게 알려져서 웹프로그래밍 기초를 닦는데 도움이 되었으면 좋겠읍니다.

        제 경우와는 다른 원인으로 발생한 경우라면 아래 정보가 도움될 수도 있을 듯.

        -아래-

        [ "ERROR 2003 (HY000): Can't connect MYSQL server on 'computer' (10061)" 해결 방법]

        http://blog.naver.com......979

        http://blog.naver.com......911


        http://blog.naver.com......094 (root 비밀번호 문제)


        http://blog.naver.com......603 (외부접속 허용치 않기때뮨에 설정파일 수정 필요.)

        http://blog.naver.com......451 (외부접속 가능하게 해야)
        대화보기
        • tinybit
          저도 동일한 에러가 났었는데 몇번 나갔다 들어오니까 되네요. Ctrl + C 로 모니터 나갔다가 다시 들어오길 2번정도 하면서 확인하니까 되네요.
          대화보기
          • ibooklove
            INSERT INTO.... 등 강의대로 잘 따라가다가 갑자기 아래와 같이 MYSQL server에 connect할 수 없다고 나옵니다.
            mysql> 모든 명령어; 해도 아래와 같이 동일하게 나옵니다.
            해결 방법은 뭔지요?

            manager servers는 모두 running상태입니다.

            mysql> /bin/mysqld start; 라고 (MYSQL데몬 리스타트인 모양인데) 쳐도 동일한 에러 response나옵니다.

            -아래-

            No connection. Trying to reconnect...
            ERROR 2003 (HY000): Can't connect MYSQL server on 'computer' (10061)
            ERROR:
            Can't connect to the server
            mysql>
          • MySQL실습까지 들었는데... 다시 복습중입니다. 3번은 들은것 같아요.
            감사합니다.
          • html어려워
            유식하게. 별로 유식해 보이지도 않는데. ㅋㅋㅋㅋㅋㅋ 난리를 치고 뒤로 자빠져버립니다. ㅋㅋㅋㅋㅋ 제가 이고잉님의 강의를 듣는 이유중 하나죠 ㅋㅋㅋㅋ
          • 감성팔이
            감사합니다!!
          • Code.Math
            감사합니다~~
          • yangjh05@naver.com
            아...
            대화보기
            • 그러면 바이러스를 잡으셔야지....
              여기다가 댓글쓴다고 달라지는건 없지 않을까요??
              대화보기
              • yangjh05
                아예 뜨지 않는데요;;; 우리 컴퓨터가 옛날에 바이러스를 먹어서...
                대화보기
                • 김종엽
                  2016.08.09 완료!
                • 비밀번호.까먹었ㅅ브니다...
                • 수강완료
                • 이기현
                  너무재미있어요!! 진짜 이해가 쏙쏙 ㅋㅋ 잘보고있어요 고맙습니다!!
                • 윤서아
                  이고잉님 바쁘셔서 답변 일일이 다 못해주신다고 공지하셨어요 ㅠㅠ
                  Bitnami stack에 있는 manage servers 의 두 서버가 모두 running중이신지 확인 해보세요!!
                  (bitnami 다운받는 강의에 나와있어용)
                  대화보기
                  • yangjh05
                    빨리 답변 부탁드립니다~~~
                    대화보기
                    • yangjh05@naver.com
                      왜 저는 윈도우 7인데 Bitami도 에러 뜨고 localhost도 접속 안되고 MYSQL도 'localhost에 접속할 수 없다'고 에러가 뜨는 거죠???
                    • 강승엽
                      뒤로가면서 스스로 힘이 부족해지내요
                      좋은 강의인만큼 끝까지 완강하겠습니다!
                    • Wookiiis
                      잘 보았습니다. :)
                    • 차누
                      수강완료
                    • 이현아
                      처음 해봐요..재미있습니다.
                    • 수강 완료
                    • codenovice
                      위 데이터 삽입 부분에 중복된 부분이 있습니다.
                      수정을 부탁드립니다.
                      - 현재 : <h2>Operator</h2>\r\n<h3>Description</h3>\r\n<p>Programming languages...
                      - 변경 : <h3>Description</h3>\r\n<p>Programming languages...
                    • egoing
                      세미콜론을 문장 끝에 붙여주셔야 해요!
                      대화보기
                      • 은하수
                        show database ;
                        CREATE DATABASE opentutorials CHARACTER SET utf8 COLLATE utf8_general_ci; 실행을 하면
                        데이타 베이스 생성된 결과가 나오지 않고 -> (화살표) 만 뜹니다.
                        어떻게 해야하는지요?
                      • programmer K
                        mysql 콘솔에서 오타가 난 경우 좀 난감하죠.

                        위쪽 화살표키를 눌러주면 바로 전에 입력한 쿼리 문장이 하나로 연결되어서 보여줍니다.

                        좌우 방향키를 이용해서 오류난 곳으로 이동해서 수정해주고 [엔터] 키를 눌러주면 해당 쿼리문을 실행할 수 있습니다.
                        대화보기
                        • programmer K
                          말 그대로 opentutorials라는 디렉토리안에 topic이라는 해당 테이블이 존재하지 않아서 발생하는 에러입니다.
                          topic table을 create 하실때 use opentutorials를 선행하시고 그안에 만든게 맞는지 확인해보시기 바랍니다.
                          대화보기
                          • codenovice
                            제가 이용한 패스워드 재설정 방법
                            1. 제어판에서 mysqld 서비스 중지
                            2. cmd 창에서 mysql 설치된 폴더로 이동 후 다음 명령 실행
                            > mysqld --skip-grant
                            3. 위 MySql 실행창은 그대로 놔두고, 새로운 cmd창 open
                            MySql에서 설치한 디렉토리로 이동하여 mysql.exe 실행
                            4. 패스워드를 물어보면 그냥 무시하고 '엔터'
                            5. 아래 명령을 실행
                            mysql> use mysql
                            mysql> update user set password=password('변경할 패스워드') where user='root';
                            mysql> flush privileges;
                            6. cmd창 모두 종료. 제어판에서 mysqld 종료.
                            7. mysqld 시작
                          • 류현승
                            쉬프트 키 누르고 바 움직이면 전체 드래그 할 수 있어요 ㅎㅎ
                            대화보기
                            • Hyun Wook Choi
                              이거 작성하다가 오타가 낫는데, 문제는 엔터를 치고 다음줄로 가게 되면 그 위에 오타 난것을 수정 할순 없나요?

                              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;

                              여기에서 제일 윗부분 topic 옆에 "(" 과로를 빼먹고 작성해서 에러가 낫는데, 복사해서 붙여 넣기해서 실행은 했는데, 혹시 저같은 경우에 다시 작성하려면 시간이 낭비 될꺼 같은데, 오타 난 부분 다시 올라가서 수정 할수 있는 방법은 없나요?
                            • HHOOONN
                              감사합니다^^
                              문제해결되었습니다.
                              제가 수업중에 놓쳤네요ㅎㅎ
                              감사합니다!
                              대화보기
                              • 비머3
                                음 열심히 구독하며 오는중인데 또 질문이 생겼네요...

                                테이블 생성후에 마지막 데이터 삽입 부분에서....
                                계속해서.... 에러가 나는데요..

                                ERROR 1146 (42S02): Table 'opentutorials.topic' dosen't exist 라는데... 흠.. 모가 문제인지 모르겠습니다.

                                show tables; 하면 topic 테이블이 열리는데 무엇이 문제 인지.. 다시 테이블을 구성 하여보아야 할 까요?
                              • egoing
                                텍스트 영역을 더블클릭을 한번 해보세요. 그럼 전체 선택이 되실꺼예요.
                                대화보기
                                • 나도나그네
                                  데이터 삽입하는부분 복사하려는데
                                  전체부분 복사가 안되는건 저뿐인가요?
                                  컨트롤 a하면 나머지 전체가 선택되고
                                  마우스로만 해서 하려는데
                                  밑에 바?가 옆으로 안움직이네요
                                  컨트롤 누른상태에서 이어 붙일려는데 그것도 자꾸 중간에 끊기니 원
                                  님들은 어떻게 복사하셨나요?
                                버전 관리
                                egoing
                                현재 버전
                                선택 버전
                                graphittie 자세히 보기