웹 애플리케이션 만들기

데이터베이스(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. 송재욱
    비밀 번호 오류 ㅜㅜ 예전 비트나미 비밀번호를 정말 기억하고 있었는 데 안되더라구요. 제가 봤을 때는 아마 숫자 또는 특수문자가 들어가는 비밀번호는 입력이 되지 않는 것 같습니다ㅜㅜ 그래서 지우고 다시 설치했네용 ㅎㅎㅎ
  2. 송재욱
    완주 완료 !!!
  3. 강민수
    수업 잘듣고있습니다~
  4. 강구
    ERROR 2005 (HY000): Unknown MySQL server host 'locahost' (0)
    이오류 해결좀요 ㅠ
  5. 슈퍼디벨로퍼
    완료!!!
  6. master
    ㅎㅎㅎ 저도 결국 비트나미 재설치를 ㅠㅠㅠㅠㅋㅋㅋㅋ
    구글링에서 윈도우 환경 명령프롬프트창에서 비번 바꾸는건 찾아서 맥에서 해보려니 또 다르네요 ㅠ
    터미널이라서 관리자 접속이랑 sudo까지 찾아서 해봤는데도 맥은 또 다른가보더라고요 ㅠㅎㅎㅎㅎ
    오랫만에 PC이것저것 만져보네요 :)
  7. 윤상철
    입력중 취소방법 입니다.

    입력을 하다 이 명령어를 실행시키고 싶지 않으면 \c로 취소하면 '삐'하는 경고음없이 취소할 수 있습니다. 가끔 \c로 못 마칠 때가 있는데 이는 문장구조가 여전히 대기 상태이기 때문입니다. 그럴 때엔 필요로 하는 문자를 입력 후 \c를 입력해야 합니다. ex) '\c, "\c... \= 백슬래시 입니다. 이곳에 백슬래시가 입력이 안되네요.

    3.Prompt 형태
    1) mysql> 새로운 명령어를 위한 준비
    2) -> 다중 라인 명령어의 다음 라인 대기 상태
    3) '> '로 시작된 문장의 완결을 위한 다음 문장 대기
    4) "> "로 시작된 문장의 완결을 위한 다음 문장 대기
    5) `> `로 시작된 식별자의 완결을 위한 다음 문장 대기
    6)/*> /*로 시작된 주석문의 완결을 위한 다음 문장 대기


    출처: http://blog.naver.com......211
  8. egoing
    혹시 데이터베이스가 설치 되지 않은 것 아닐까요?
    bitnami 관리 프로그램(아래 링크처럼 생긴 것들이요)
    https://www.google.co.kr......tM:

    에서 Manage Application 탭을 보시면 Mysql이 켜져있는지 확인해보셔요.
    대화보기
    • 데이터베이스이론2를 하고 있는데 비밀번호를 입력하고 나서 ERROR 2003 <HY000>: Can't connect to MySQL server on 'localhost' <10061 "Unknown error"> 라는 에러가 계속 뜹니다ㅠ 왜 이런 에러가 뜨는걸까요?
    • 3.29.
    • 14번째
      3.22.
    • 비트나미를 처음 설치할때 아이디는 root 비밀번호는 직접설정하신것이 있을꺼에요 그게 mysql 비밀번호와 같습니다
    • 최지웅님 감사해요....
      글 올리기전에 몇번을 다시해봐도 같은 결과가 나와서 도움을 요청한건데..님의 글을 보고 다시보니
      오타가 보이네요... 신기하게도 말입니다.... 다시 한번 감사드려요...
    • 최지웅
      이거 오타난거에요! 다시한번잘살펴보세요 그레이브 엑센트랑 따옴표랑 헷갈리신듯
      대화보기
      • 안녕하세요... 좋은 수업 감사드립니다.

        테이블을 생성하는 수업을 듣고 있는데 에러가 나왔는데 잘 모르겠습니다.

        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 'ENGINE=InnoDB DEFAULT CHARSET=utf8' at line 8

        어떻게 해결하면 될까요?
      • 곤정
        다들었음
        select * from;
      • 잘들었습니다~~
        mysql 비번은 결국 못찾아서 저도 그냥 재설치하고 무난히 수업 들었습니다!
      • 최루비
        비트나미 다시 재설치 하고 새로운 비번으로 하니 되네용
        혹시 저 처럼 똑같이 에러낫던 분들 다시 깔으시길 ~
        대화보기
        • 최루비
          안녕하세요 이고잉님 ~ 강의 잘 듣고 잇습니다

          데이터베이스 이론 2 실습하다 mysql -hlocalhost -uroot -p 실행 후 비번 쳣는데요

          ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 이런 에러가 cmd창에서 뜨는데요 ㅠ 비번 안틀린거 같아서 ,,검색해서 비번바꾸는 것도 해봣는데 잘 안되네요 ㅜㅜ

          제가 검색한거는 mysql> use mysql;
          mysql> UPDATE user set password=password("1234") where user = 'root'; 이러케 치고
          mysql> flush privileges;

          이 방법 써서 햇는데 안되네요;;
          비트나미 다시 깔아야 하나요? 재설치는 한번 햇엇습니다
        • 170228
          감사합니다.
        • 최규선
          잘 들었습니다. 감사합니다.
        • 강경호
          감사합니다
          170223
        • funlife
          감사합니다. ^^
        • happyfeet
          부족한 질문에도 답변해주셔서 감사합니다ㅠ
          대화보기
          • egoing
            alter로 검색해보셔요
            대화보기
            • happyfeet
              테이블 생성을 하다가 description 를 descripton이라고 i 를 빼먹고 입력해버렸는데
              테이블 수정은 어떻게 해야되나요 ?
            • 이고잉은 사랑잉
              궁금증이 해결됬군요~
              하하^^ 고잉님 덕을 많이 보고 있네요 고맙습니다.
            • 이고잉님사랑합니다.
              이고잉님 사랑합니다. 나중에 성공해서 찾아뵙겠습니다. 고맙습니다.
            • egoing
              커멘드 환경에서는
              tail -f 파일명을 적어주시면 실시간으로 파일의 변화를 확인 가능해요.

              윈도우 환경이면 windows tail로 검색해보시면 여러 프로그램이 있을꺼예요
              대화보기
              • 소프트웨어전쟁
                error파일 용량이 너무 커지니 atom에서 열리질 않네요 ㅜㅜ
                이것저것 실습하다보니 error 파일 용량이 엄청 커지는데, 어떠한 방식으로 정리하면 되는지요 ㅜㅜ
                그냥 error파일 자체를 삭제하면 문제가 될것 같은데 .. 알려주시면 감사하겠습니다!
              • egoing
                세미콜론을 붙이고 엔터치면 아마도 오류가 나면서 다시 입력하실 수 있을꺼예요
                대화보기
                • TEBENE
                  그럼다시 mysql한테 명령하는 창으로 못바꾸고 다시시작해야되나요 처음부터??
                  대화보기
                  • egoing
                    명령이 끝나지 않으면 엔터를 쳐도 실행이 되지 않기 때문에 발생하는 문제입니다~
                    대화보기
                    • TEBENE
                      이고잉님 데이터베이스모니터로 sql로 명령하다가 잘못오타가나서 mysql>창이
                      '>로 바뀔경우 어떻게 도중에 mysql>로 복구할수있나요/
                    • TEBENE
                      저는 윈도우여서 맥은 잘모르겠습니다..
                      윈도우에서는 그냥 제어판에들어가서 삭제하면되는데 맥은 다르겠죠??
                      대화보기
                      • 비밀번호 때문에 bitnami를 재설치 했습니다.
                        맥에서 terminal에서 /Applications/mampstack-7.0.14-2/mysql/bin 을 작성하면
                        ~bash /Applications/mampstack-7.0.14-2/mysql/bin: is a directory
                        라고 뜨고 다시
                        기본으로 돌아와버리는데 어떡해야하나요?
                        영상처럼 이어지지가 않습니다
                      • 지원자
                        비밀번호를 잃어버려서 binami를 삭제하고 다시 깔려고하는데,
                        맥에서 bitnami삭제 방법을 모르겠네요..
                        혹시 아시는분 계시면 가르쳐주시면 감사하겠습니다..
                        계속 실행중이라서 작업을 진행할수 없다고 뜨네요..!
                        대화보기
                        • TEBENE
                          감사드려요!!

                          근데 하나만 더 질문드리면..

                          제가 bitnami를 통해 서버를 3개나다운받은적있는데

                          2개를삭제하고 이고잉님이 추천해주신버전서버로 하려고하는데

                          manager에 보니까 mysql는 잘실행되는데 apache서버가 start안되네요..

                          그전에 다른버전서버쓰다가 제가 그냥 프로그램을 삭제시켜버렷는데

                          혹시 그 버전의 서버를 중단시키고 삭제해야하나요?? ㅠㅠ
                          대화보기
                          • egoing
                            mysql.exe를 실행하시면 됩니다~
                            대화보기
                            • TEBENE
                              준영님 답변정말 감사드려요!!!!
                              복받으실꺼에요~~~ㅎㅎ
                              대화보기
                              • 김준영
                                이고잉님이 말씀하신 mysql 맞습니다. exe는 확장자 이름입니다.
                                대화보기
                                • TEBENE
                                  아 이고잉님.. 정말 어떡해야될까요..

                                  mysqul이 아무리찾아봐도없는데 해결답변 꼭좀부탁드려요ㅠㅠ...

                                  웹서버도 이고잉님이다운받으신버전의 서버로도 다시다운받아봐도 mysql이 bin안에 없고

                                  mysql.exe만있네요.. 도와주세요ㅠㅠ!!
                                • TEBENE
                                  mysql.exe밖에 없는데 저만 그런거같애서 더 우울하네요..ㅠㅠ

                                  제가 전에 한번아톰을 삭제햇다가 다시다운받았는데 그때 잘못되었는거같기도하고..

                                  왜 전 mysql이 없을까요.

                                  다시 아톰삭제하고 하려니까 파일들 다날라가서 걱정되기도하고..

                                  어떡하면좋죠ㅠㅠ..
                                • 노노재노재노창
                                  재밌뜨아!
                                • jin100035@naver.com
                                  오늘도 감사합니다.
                                • 시쟉
                                  친절한 설명감사합니다!!
                                • 안되는데
                                  ERROR 2013 (HY000): Lost connection to MySQL server at 'waiting for initial communication pa
                                  대화보기
                                  • #코스머스#
                                    16-12-26 완료
                                  • 쿠과광
                                    존경합니다 이고잉님 :)
                                  • 이수재
                                    수강완료 12/18
                                  버전 관리
                                  egoing
                                  현재 버전
                                  선택 버전
                                  graphittie 자세히 보기