생활코딩

Coding Everybody

코스 전체목록

닫기

데이터베이스(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. 감사합니다~ 올려주신 링크보고 해결하였습니다 ^^
    대화보기
    • 백곰몬
      감사합니다! 완료!
    • 이지훈
      잘 보았습니다.^^
    • 더 이상 진행할 수 없는 비운의 1인
      맥북은... 또 다르네요ㅠㅠ
      mysql 번호 까먹어서 공부를 못하게 되다니..ㅠㅠ
      대화보기
      • 윈도우입니다 죄송합니다 ㅠㅠ 으으 구글링 하시면 나오지 않을까요 같은 방법으로 될지는 모르겠지만 저는 (http://graceman.tistory.com/2834782) 여기글을 보고 따라했습니다 ㅜㅜ
        대화보기
        • 더 이상 진행할 수 없는 비운의 1인
          맥북이신가요.. 방법 좀 공유해주세요.ㅠㅠ
          대화보기
          • Kyung Deok Kim
            맥 터미널에서 앞글자 좀 치고 탭키 눌러도 경로 자동완성이 안되네요 ㅇ_ㅇ;
          • scarleaf
            으아 어렵다요
          • Bank in
            잘 들었습니다.
          • 비밀번호를 까먹었어요 ㅠㅠ 어떻게 해야하나요..
          • 선생님~
            그럼 웹호스팅이라는 것은 포괄적인 그림(데이터베이스 이론1)에서 어디쯤에 있다고 보면 되나요~?
            헷갈립니다 ^^;;
          • 주먹밥
            시간날 때마다 강의보며 실습했는데, 자꾸 오타나고, 시간이 없어서 못하고, 또 이어서하고, 연습하다보니 다 외워버렸음 ^^; 이번 강의 정말 힘겨웠어요! 물론 저의 않좋은 여건이 70%넘게 작용해서 그렇지만요 ^^;
          • 김준환
            int가 정수인건 알겠는데 int 괄호 안의 숫자는 뭘 의미하는건가요
            대화보기
            • egoing
              숫자입니다~ 정확히는 정수예요
              대화보기
              • 김준환
                id값의 int(11)에서 괄호안의 내용은 무엇을 의미하는 건가요?
                varchar의 괄호는 글자 수 인데, int는 무엇인지 모르겠네요
              • 김준환
                select * from topic;
                select id,title,author,created from topic;
                select id,title,author,created from topic WHERE id=3;
                select id,title,author,created from topic ORDER BY id DESC;
                select id,title,author,created from topic ORDER BY author DESC;
              • 홍예진
                CMD에서 CREATE TABLE 'topic' 뒷부분을 기입하다가 오타를 기입하고 엔터를 쳐버렸는데
                중간에 오타를 기입하고 엔터를 눌러 다음 줄로 가게 된 경우 그 전 줄로 가서 수정할 수는 없나요?
              • 김태호
                아마도 mysql 서버의 status 상태가 Running이 아닐수도 있으니 확인 해 보세요~~
                대화보기
                • 주먹밥
                  생성하신 데이터베이스 부터 삭제하신 후 시작하시는게 아무레도 안정적이시라
                  봅니다. 아니면, 추가로 데이터 베이스를 생성하신 후 그 데이터베이스안에 topic 테이블을
                  만드셔서 실습하시는 것도 괜찮겠습니다.

                  데이터베이스 삭제방법은 mysql에서 drop database opentutorals; 입니다.
                  테이블만 삭제하려면 위와 같은 방법으로 drop table topic; 을 입력하시면 됩니다.
                  대화보기
                  • Eric
                    저도 같은 이유로 안됩니다....1일 그냥 지나가 버렸음....ㅠ.ㅠ

                    password 입력 단계로 더이상 진행이 안됩니다.

                    ??? 루트가 잘못됐나요??
                    대화보기
                    • 스타일C
                      어렵군요 ,,,,, 잘봤습니다 .
                    • skekogo
                      오늘도 감사히 들었습니다!
                    • John
                      졸음과 싸우고 오타와 싸우다가, 복사 -> 붙여넣기로 파악하기.
                    • 이희태
                      6월 22일 데이터베이스(MySQL) 이론 수강완료하였습니다
                    • HOONI
                      잘들었습니다^^
                    • 이진선
                      히야아 졸려죽을거 같았지만 서도 나름 재미가있어서 꾸역꾸역 들었네용
                    • 김하늘
                      질문이 있습니다 처음에 다른곳에 topic를 다른곳에 만들어서 지금 에러는 아니지만 영상과 같이 안되고 있습니다
                      그뒤로 그냥 무시하고 다시 영상을 따라했는데 지금 처음부터 다시해야하는 상황인데 어떻게 다시 할수있나요?
                      제발 부탁드립니다
                    • 크레이지춘
                      6/22 데이터베이스 이론 잘 봤습니다.
                    • John
                      실습3 복습 필요.
                    • qudwn
                      완료!
                    • 치우천황
                      강의 잘들었습니다.
                    • TheBigBlue
                      mysql 파일 위치 속성값으로 명령 프롬프트에 복사 후 붙이는 방법이 어려우신 분들은
                      파일탐색기에서 mysql 폴더 찾으신 뒤에 상단의 주소창에서 주소를 복사하셔도 됩니다.
                    • Kuon
                      비밀번호를 까먹어서 구글링으로 비밀번호 재설정을 했습니다 ㅎㅎ ㅇ<=<
                    • 처음으로 30분짜리 영상을 만났네요.
                      다 듣고 나니 뿌듯합니다. :)
                      그리고 SQL 재밌습니다!
                    • 김재훈
                      확실히 어렵네요.. 그래도 포기하지 않고 흐름에 뇌를 맡기겠습니다! ㅠㅠ ㅎㅎ
                    • 장지원
                      댓글에 있는것들 다 따라하면서 했느데 안되여 ㅜㅜ
                      C:\Bitnami\wampstack-5.6.30-2\mysql\bin mysql -hlocalhost -uroot -p 이거 맞죠? ㅜㅜ 왜 안되는 건지... ㅜㅜ

                      역 슬레시가 w로 표시 되는데 상관없나여?
                    • 저도 오랜만에 정보처리 하면서 고부했던 것들이 다시 새록새록 기억나네요~ 오늘도 좋은 강좌 감사합니다!
                    • GIMYO
                      Bitnami를 C드라이브가 아닌 다른 드라이브에 설치하신 분들 cmd 경로 설정 방법
                      1) 명령프롬프트 창 실행
                      2) D드라이브 설치 예시 : cd D: 입력 후 엔터
                      3) D: 입력 후 엔터
                      하시면 정상경로로 이동합니다.
                    • 데이터베이스공부는 처음인데 되게 재밌어요!!!!
                    • Sooah
                      저도 똑같았는데 혹시 파일 속성에서 파일 위치 그냥 복사해서 붙이셨나요? 그러면 뒤에 디렉토리가 bin까지 안 붙더라고요, 확인해보시고 bin 없으시면 \bin 붙이시면 올바른 위치에서 찾았기 때문에 이제 실행이 됩니다..
                      그 전에는 아마 \mysql까지만 되어 있을꺼에요. 그래서 bin의 폴더까지 경로가 지정이 안된거에요.
                      저도 똑같아서 다시 보니까 그러더라구요. 한 번 해보세요
                      대화보기
                      • Lydia
                        고맙습니다 =) 학부생 때 DB 수업 듣던 때 이후로 정말 오랜만에 하는거 같네요 ㅎ
                      • TheBigBlue
                        폴더 위치를 다시 한번 확인해보세요~
                        대화보기
                        • 박영후
                          하아 영타가 안되니까 한두시간은 바로바로 잡아먹군요!!!!!!!
                        • Gae-Hwan KIM
                          폭스킴님 저도 그거 궁금했어요~^^
                          저도 이거랑 질문 또 하나 있는데요

                          저는 '데이터 삽입'란에 있는 거 붙여넣기 하기 전에 id 1,2번째 컬럼은 author 란에 딴 이름을 넣었거든요
                          그리고 나서 '데이터 삽입' 란에 있는 거 붙여넣기 하라시길래 붙여넣기했는데

                          그래도 author 란에 이름은 제가 처음에 한 걸로 유지되더라고요!
                          아 다시 보니까 1,2번째 컬럼은 내용까지 그냥 제가 처음에 쓴 거에서 바뀌지 않은 거 같네요

                          저는 '데이터 삽입' 란에 있는 내용을 붙여넣기하면 이게 3,4,5,6번째 컬럼으로 추가될 줄 알았는데
                          그냥 1,2,3,4번째 컬럼으로 왔고,
                          3,4번째만 새로 내용이 생기고 1,2번째는 내용이 바뀌지 않았네요!

                          만약에 새로 입력되는 것들을 3,4,5,6번째로 붙여넣기 하고 싶거나,
                          혹은 새로 입력되는 것들을 갖다가 기존 걸 지우고 새로 1,2,3,4번째로 채워넣기 하고 싶으면 어떻게 해야 하나요?
                        • 폭스킴
                          한가지 질문이 있는데요~
                          AUTO_INCREMENT로 id 값을 자동적으로 증가시키고 이것이 INT(10)의 크기를 갖게 설정해 놓는다면,
                          나중에 혹시 INT(10)의 크기를 벗어나게 되면 어떻게 되나요?
                          물론, INT(10)이라는 숫자도 어마어마하게 큰 숫자이긴 하지만요~
                          그냥 입력을 더 이상 안받는다고 할 거 같은데~ 나중에라도 데이터크기 조정을 다시 할 수 있나요?
                        • 폭스킴
                          강의 후반부에 사용된 SELECT 관련 SQL문도 본문에 추가해주시면 더 좋을 거 같아요~^^
                          select * from topic;
                          select id,title,author,created from topic;
                          select id,title,author,created from topic WHERE id=3;
                          select id,title,author,created from topic ORDER BY id DESC;
                          select id,title,author,created from topic ORDER BY author DESC;
                        • 폭스킴
                          윈도우 명령 프롬프트 창에서 화면 깨끗이 지워서 정리하는 명령어는 cls입니다. ^^ clear screen의 약자구요~ 리눅스에서는 clear를 사용합니다. 동영상에서 화면을 못 지우셨길래 올려봅니다 ㅎㅎ
                        • M_JJo
                          [윈도우 기준]
                          기본 경로로 설치하였는데 나는 bin이 없더라! 하시는 분들
                          C:\Bitnami\wampstack-5.6.30-3\mysql\bin
                          이 경로로 한 번 들어가보세요.

                          *** 경로가 찾기 어려우시다면 해당 경로를 수동으로 들어가보시길 바랍니다.
                          해당 경로로 들어가서 파일들을 찾아보시면 알 수 있어요.
                        • M_JJo
                          DB GUI 프로그램은 많지만 Workbench, HeidiSQL 등이 있습니다.
                          검색해보시면 아시겠지만, 조금 더 설명 드리자면...
                          엑셀 예제로 생각해보면 delete를 누르면 지워지고,
                          더블 클릭으로 셀을 선택하여 내용을 수정한다는 등을 이용할 수 있잖아요?
                          마찬가지로 DB GUI 툴들도 사용자가 sql문을 직접 입력하지 않아도
                          사용자가 움직인대로 내부에서 알아서 inset into ~, delete ~ 라는 식으로 바꿔 알아서 진행해줍니다.
                          한 번 검색으로 확인해보세요~
                          대화보기
                          • 내용은 이해가 가는데 마지막에 에러가...ㅠㅠ
                            시원할 때 다시 한번 해봐야겠습니다. 고맙습니다.
                          버전 관리
                          egoing
                          현재 버전
                          선택 버전
                          graphittie 자세히 보기