웹 애플리케이션 만들기

데이터베이스(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. 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
                저는 윈도우여서 맥은 잘모르겠습니다..
                윈도우에서는 그냥 제어판에들어가서 삭제하면되는데 맥은 다르겠죠??
                대화보기
                • bash
                  비밀번호 때문에 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
                            • 이영창
                              테이블에 벨루값 집어넣으려고 하는데 복사에서 붙여넣으면 BEEP음과 함게 아래와 같은 에러가 발생합니다.

                              Error 1062 (23000): Duplicate entry '4' for key `PRIMARY 해결방법 있을까요?
                            • 이성진
                              수강 완료!
                              좋은 강의 항상 감사 드립니다~
                            • mysql password를 잊어버려서 해결하려고하다가 mamp를 삭제했습니다. 재설치하려니 예기치않은 종료가 자꾸 떴어요. 결론적으로 vagrant를 이용해서 실습환경을 구축하고 있습니다. 저와 같은 문제를 겪고 계시면 vagrant를 이용해보세요!
                            • 나홀로문도리
                              좋은 강의 잘 들었습니다! ^^
                            • 이병정
                              네. ^^ '*'은 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어려워
                                      유식하게. 별로 유식해 보이지도 않는데. ㅋㅋㅋㅋㅋㅋ 난리를 치고 뒤로 자빠져버립니다. ㅋㅋㅋㅋㅋ 제가 이고잉님의 강의를 듣는 이유중 하나죠 ㅋㅋㅋㅋ
                                    버전 관리
                                    egoing
                                    현재 버전
                                    선택 버전
                                    graphittie 자세히 보기