1 00:00:00,000 --> 00:00:03,493 >> [음악 재생] 2 00:00:03,493 --> 00:00:04,934 3 00:00:04,934 --> 00:00:07,100 DOUG 로이드 : 우리의 동영상에서 웹 개발 주제에, 4 00:00:07,100 --> 00:00:10,560 우리의 개념을 언급 한 바로 데이터베이스 몇 번? 5 00:00:10,560 --> 00:00:12,700 그래서 데이터베이스 당신이있어 에서와 아마 잘 알고 6 00:00:12,700 --> 00:00:15,780 Microsoft Excel을 사용하여 말 또는 Google 스프레드 시트. 7 00:00:15,780 --> 00:00:20,650 그것은 정말 조직의 테이블, 행과 열을 설정합니다. 8 00:00:20,650 --> 00:00:23,140 >> 그리고 데이터베이스가있는 곳입니다 우리의 웹 사이트를 저장 9 00:00:23,140 --> 00:00:26,760 중요한 정보 우리의 웹 사이트가 제대로 작동합니다. 10 00:00:26,760 --> 00:00:30,150 다시 말하지만, 정말 일반적인 예 여기에 사용자 이름과 암호를 저장하는 11 00:00:30,150 --> 00:00:32,824 데이터베이스에, 그래서 때 우리의 웹 사이트에 사용자가 로그인, 12 00:00:32,824 --> 00:00:36,690 데이터베이스는 볼 수 조회 할 수 있습니다 해당 사용자가 데이터베이스에 존재하는 경우. 13 00:00:36,690 --> 00:00:39,260 그들이 경우에, 것을 확인 암호는 올바른 것입니다. 14 00:00:39,260 --> 00:00:43,420 그리고 자신의 암호가 올 경우, 우리는 어떤 페이지를 그들에게 제공 할 수 있습니다 15 00:00:43,420 --> 00:00:45,370 그들은 요청하고 있습니다. 16 00:00:45,370 --> 00:00:48,590 >> 그래서 다시, 아마 익숙 Excel 또는 구글이 아이디어 17 00:00:48,590 --> 00:00:49,430 스프레드 시트. 18 00:00:49,430 --> 00:00:52,980 우리는 데이터베이스가, 테이블, 행 및 열. 19 00:00:52,980 --> 00:00:56,450 그리고 정말 일종 기본 세트 20 00:00:56,450 --> 00:00:58,470 여기에 계층 적 고장. 21 00:00:58,470 --> 00:00:59,800 그래서 여기에 Excel 스프레드 시트입니다. 22 00:00:59,800 --> 00:01:02,640 그리고 혹시이를 연 경우 또는 다른 유사한 프로그램 23 00:01:02,640 --> 00:01:06,780 당신이 여기 있다는 것을 알고 rows-- 1, 2, 3, 4, 5, 6, 7. 24 00:01:06,780 --> 00:01:08,760 이러한 열입니다. 25 00:01:08,760 --> 00:01:11,790 >> 아마 여기에 아래로, 당신은 할 수 있지만 정말 much--이 기능을 사용하지 26 00:01:11,790 --> 00:01:15,370 나는 우리가 in-- 확대합니다 시트의 생각. 27 00:01:15,370 --> 00:01:17,930 그래서 어쩌면 이러한 시트, 경우 나는 앞뒤로 교대 28 00:01:17,930 --> 00:01:21,600 다른 테이블은 그 내 데이터베이스에 존재합니다. 29 00:01:21,600 --> 00:01:25,210 그리고 우리는 예를 들어 모두를 계속하는 경우 그런데,이 데이터베이스의 이름 30 00:01:25,210 --> 00:01:26,940 1 권입니다. 31 00:01:26,940 --> 00:01:28,710 어쩌면 내가 제 2 권과 제 3 권이있다. 32 00:01:28,710 --> 00:01:33,270 각각의 엑셀 파일이며 데이터베이스, 각 시트는 테이블은, 33 00:01:33,270 --> 00:01:39,530 각 테이블 안에 내가있다 행과 열이 아이디어. 34 00:01:39,530 --> 00:01:41,900 >> 그래서 내가 어떻게이 데이터베이스와 작동합니까? 35 00:01:41,900 --> 00:01:43,630 어떻게하면 정보를 얻을 수 있습니까? 36 00:01:43,630 --> 00:01:47,540 글쎄라는 언어 거기 SQL-- 나는 대개 Sequel--를 호출하는 37 00:01:47,540 --> 00:01:50,010 그리고 약자 구조적 쿼리 언어. 38 00:01:50,010 --> 00:01:52,981 그리고 프로그래밍 언어는, 그러나 그것은 상당히 제한 프로그램입니다 39 00:01:52,981 --> 00:01:53,480 언어. 40 00:01:53,480 --> 00:01:56,407 그것은 아주 다른 이들처럼 아니에요 것을 우리는 함께 일했다. 41 00:01:56,407 --> 00:01:58,240 그러나 이것의 목적 프로그래밍 언어 42 00:01:58,240 --> 00:02:01,570 하기 위해 데이터베이스를 조회한다 데이터베이스의 정보를 요청 43 00:02:01,570 --> 00:02:04,480 정보를 찾을 수 데이터베이스 등. 44 00:02:04,480 --> 00:02:08,449 >> 또한, CS50--에있어 매우있어 공통 플랫폼, 그것은 MySQL을 불렀다. 45 00:02:08,449 --> 00:02:10,600 그것은 우리가 과정에서 무엇을 사용합니다. 46 00:02:10,600 --> 00:02:12,880 그것은 오픈 소스 설정 플랫폼 47 00:02:12,880 --> 00:02:16,732 소위 관계형 database-- 데이터베이스, 효과적으로. 48 00:02:16,732 --> 00:02:18,440 우리는받을 필요가 없습니다 너무 많은 세부 사항에 49 00:02:18,440 --> 00:02:20,930 무엇에 관계형 데이터베이스입니다. 50 00:02:20,930 --> 00:02:24,650 그러나 SQL 언어입니다 작업에서 매우 숙련 51 00:02:24,650 --> 00:02:29,760 MySQL과 유사한 다른와 관계형 데이터베이스의 스타일. 52 00:02:29,760 --> 00:02:34,010 >> 의 많은 설치 뭔가 MySQL을 올 53 00:02:34,010 --> 00:02:37,760 라는 phpMyAdmin을, 어떤 그래픽 사용자는 54 00:02:37,760 --> 00:02:40,970 GUI--을 interface-- 그 조금 더 만든다 55 00:02:40,970 --> 00:02:44,410 실행할 사용자 친화적 데이터베이스 쿼리, 56 00:02:44,410 --> 00:02:48,980 데이터베이스는 사용되지 않기 때문에 고급 프로그래머로, 오른쪽? 57 00:02:48,980 --> 00:02:51,510 가끔있다 이러한 중소 기업, 58 00:02:51,510 --> 00:02:53,900 그들은 여유가 없다 프로그래머의 팀을 고용, 59 00:02:53,900 --> 00:02:56,700 하지만 그들은 여전히​​ 저장해야 데이터베이스에 정보를 제공합니다. 60 00:02:56,700 --> 00:02:59,300 >> phpMyAdmin을 같은 뭔가 누군가를위한 아주 쉽게 61 00:02:59,300 --> 00:03:03,630 누가하기 전에 프로그램 적이 없어요 픽업 및 방법에 익숙해 62 00:03:03,630 --> 00:03:07,710 데이터베이스와 함께 작동합니다. 63 00:03:07,710 --> 00:03:11,800 문제가있는 동안, phpMyAdmin을 인 그것은 학습을위한 훌륭한 도구입니다 64 00:03:11,800 --> 00:03:14,850 데이터베이스에 대해서는, 수동입니다. 65 00:03:14,850 --> 00:03:18,050 당신은에 로그인해야 할거야 IT 및 명령과 유형을 실행 66 00:03:18,050 --> 00:03:19,910 수동으로 가지. 67 00:03:19,910 --> 00:03:23,160 >> 그리고 우리는 알고 우리의 PHP 웹 프로그래밍에 대한 예를 들어, 68 00:03:23,160 --> 00:03:26,550 수동으로 할 필요 우리의 웹 사이트에 물건, 69 00:03:26,550 --> 00:03:30,970 우리는 동적, 활성 반응을 원하는 경우 웹 사이트, 아마도하지 최선의 방법. 70 00:03:30,970 --> 00:03:33,980 우리는 할 수있는 방법을 찾을 싶습니다 아마 어떻게 든이 문제를 자동화 할 수 있습니다. 71 00:03:33,980 --> 00:03:37,864 그리고 SQL은이 작업을 수행 할 수있게됩니다. 72 00:03:37,864 --> 00:03:39,780 그럼 언제 우리가 갈거야 SQL 작업을 시작, 73 00:03:39,780 --> 00:03:41,220 우리는 먼저이 필요합니다 데이터베이스와 함께 작동합니다. 74 00:03:41,220 --> 00:03:42,510 데이터베이스를 작성한다 뭔가 당신이 아마 75 00:03:42,510 --> 00:03:45,350 때문에, phpMyAdmin을에서 할 것 당신은 한 번만 그것을 할 필요가있을 것이다 76 00:03:45,350 --> 00:03:49,690 그렇게함으로써 구문 훨씬 더 간단합니다. 77 00:03:49,690 --> 00:03:51,940 그것은 그것을 할 많은 쉽게 그래픽 사용자 인터페이스 78 00:03:51,940 --> 00:03:53,520 명령으로 그것을 입력보다. 79 00:03:53,520 --> 00:03:55,186 이 명령은 조금 성가신를 얻을 수 있습니다. 80 00:03:55,186 --> 00:03:58,889 마찬가지로, 테이블을 생성을 수행 할 수 있습니다 뿐만 아니라 성가신 꽤 얻을. 81 00:03:58,889 --> 00:04:01,930 데이터베이스를 만드는 등 그리고 것들 당신이있어 테이블을 생성 82 00:04:01,930 --> 00:04:06,270 아마 단지 once-- 할 것 테이블 당 한 번, 한 번 database-- 당 83 00:04:06,270 --> 00:04:09,040 이 글은 그렇게 할 괜찮아요 그래픽 인터페이스입니다. 84 00:04:09,040 --> 00:04:11,570 과정에서 테이블을 당신이 만드는 것이다 85 00:04:11,570 --> 00:04:14,840 또한 모두를 지정해야 해당 테이블에있을 것입니다 열. 86 00:04:14,840 --> 00:04:18,149 정보의 어떤 종류의 수행 당신은 테이블에 저장하려면? 87 00:04:18,149 --> 00:04:24,520 아마 사용자의 이름과 생년월일, 비밀 번호, 사용자 ID 번호, 어쩌면 88 00:04:24,520 --> 00:04:26,170 도시와 상태, 오른쪽? 89 00:04:26,170 --> 00:04:30,080 >> 그리고 모든 시간을 우리는 사용자를 추가 할 데이터베이스에, 우리는 모두 여섯 싶어 90 00:04:30,080 --> 00:04:31,890 정보의 그 조각. 91 00:04:31,890 --> 00:04:34,840 그리고 우리는 추가하여 그렇게 테이블에 행. 92 00:04:34,840 --> 00:04:37,800 그래서 우리는 먼저 데이터베이스를 작성, 우리는 테이블을 만들 수 있습니다. 93 00:04:37,800 --> 00:04:40,100 만들기의 일환으로 테이블은, 우리가 요구된다 94 00:04:40,100 --> 00:04:44,280 모든 열을 지정하는 우리는이 표에 싶습니다. 95 00:04:44,280 --> 00:04:47,247 그리고 우리가 시작하기로 추가 데이터베이스 정보 96 00:04:47,247 --> 00:04:49,580 데이터베이스 쿼리보다 generally-- 단지 추가하지, 97 00:04:49,580 --> 00:04:51,610 하지만 모든 다른 우리 do-- 우리가 다루고있을거야 98 00:04:51,610 --> 00:04:58,870 하나입니다 테이블의 행 전체 집합에서 사용자의 정보를 제공합니다. 99 00:04:58,870 --> 00:05:03,210 >> 그래서 모든 SQL 컬럼은 할 수있다 특정 데이터 유형의 데이터를 유지. 100 00:05:03,210 --> 00:05:06,560 그래서 우리는 종류의를 제거 PHP에서 데이터 유형의 아이디어, 101 00:05:06,560 --> 00:05:08,747 하지만 그들은 SQL 다시 여기. 102 00:05:08,747 --> 00:05:10,080 그리고 데이터 유형이 많이있다. 103 00:05:10,080 --> 00:05:13,420 여기에 단지 20,이다하지만 심지어 그들 모두 아니다. 104 00:05:13,420 --> 00:05:16,240 그래서 우리는 INTs-- 같은 아이디어를 가지고 우리가 아마 알고 Integers-- 105 00:05:16,240 --> 00:05:17,760 것을이 열은 정수를 보유 할 수 있습니다. 106 00:05:17,760 --> 00:05:21,077 그리고 변화가있다 thereon-- SMALLINT, TINYINT, MEDIUMINT, BIGINT. 107 00:05:21,077 --> 00:05:22,660 어쩌면 우리는 항상 네 바이트가 필요하지 않습니다. 108 00:05:22,660 --> 00:05:26,800 어쩌면 우리는 8 바이트 필요하고, 그래서 우리는 정수에 이러한 변화를 사용할 수 있습니다 109 00:05:26,800 --> 00:05:28,510 좀 더 공간을 효율적으로. 110 00:05:28,510 --> 00:05:31,899 우리는 소수를 할 수있는 우리 부동 소수점 숫자를 할 수 있습니다. 111 00:05:31,899 --> 00:05:32,940 이 꽤 유사하다. 112 00:05:32,940 --> 00:05:34,773 약간의 차이가 있습니다, 당신이하고자하는 경우 113 00:05:34,773 --> 00:05:37,330 조회 좋아 가이드의 SQL 종류, 당신 114 00:05:37,330 --> 00:05:40,670 볼 수있는 약간의를 그들 사이의 차이이다. 115 00:05:40,670 --> 00:05:43,250 >> 어쩌면 우리는 저장할 날짜와 시간에 대한 정보를 제공합니다. 116 00:05:43,250 --> 00:05:47,047 어쩌면 우리의 추적을 유지하고 사용자가 웹 사이트에 가입 할 때, 117 00:05:47,047 --> 00:05:48,880 그래서 어쩌면 우리가 원하는 의 열을 가지고 118 00:05:48,880 --> 00:05:52,820 날짜 시간 또는 시간 소인이 때 사용자가 실제로 나타냅니다 119 00:05:52,820 --> 00:05:54,130 가입. 120 00:05:54,130 --> 00:05:56,132 우리는 형상과 선 스트링을 할 수 있습니다. 121 00:05:56,132 --> 00:05:57,340 이 사실은 꽤 멋지다. 122 00:05:57,340 --> 00:06:01,410 우리는을지도 할 수 사용하는 지리적 영역 123 00:06:01,410 --> 00:06:05,110 GIS는 지역을 플롯 조정합니다. 124 00:06:05,110 --> 00:06:08,580 그래서 실제로 그런 종류를 저장할 수 있습니다 SQL 열에서 정보. 125 00:06:08,580 --> 00:06:11,390 >> 텍스트는 어쩌면, 텍스트의 단지 거대한 모양입니다. 126 00:06:11,390 --> 00:06:12,840 열거 형은 가지 흥미로운. 127 00:06:12,840 --> 00:06:16,080 실제로 C에 존재하는 우리는하지 않습니다 그렇지 않을이기 때문에 그들에 대해 이야기 128 00:06:16,080 --> 00:06:19,110 정말 일반적으로 적어도 CS50 사용. 129 00:06:19,110 --> 00:06:22,680 그러나 열거 데이터 형,이다하는 제한 값을 보유 할 수있다. 130 00:06:22,680 --> 00:06:25,940 >> 정말 좋은 예는 여기에있을 것입니다 열거를 만들 위치 일곱 131 00:06:25,940 --> 00:06:29,394 가능한 값은 일요일, 월요일 화요일, 수요일, 목요일, 금요일, 132 00:06:29,394 --> 00:06:30,060 토요일 맞죠? 133 00:06:30,060 --> 00:06:33,311 그 데이터 형식 일 주, 존재하지 않는 134 00:06:33,311 --> 00:06:35,310 그러나 우리는을 만들 수 열거 데이터 형식 등 135 00:06:35,310 --> 00:06:39,400 그 열은 오직 보유 할 수 그 일곱 가지 값 중 하나입니다. 136 00:06:39,400 --> 00:06:44,300 우리 모두는 열거 한 가능한 값. 137 00:06:44,300 --> 00:06:47,630 >> 그런 다음 우리는 CHAR와 VARCHAR 가지고, 나는 이러한 녹색 색상했습니다 138 00:06:47,630 --> 00:06:49,505 우리가 실제로 있기 때문에 두 번째 걸릴 것 139 00:06:49,505 --> 00:06:51,950 의 차이에 대해 이야기 이 두 가지 사이. 140 00:06:51,950 --> 00:06:55,780 그래서 CHAR 달리 C 곳 CHAR는 하나의 문자였다, 141 00:06:55,780 --> 00:07:00,730 SQL에서 CHAR가에 의미 고정 길이 문자열. 142 00:07:00,730 --> 00:07:02,620 그리고 우리는이를 만들 때 열, 우리는 실제로 143 00:07:02,620 --> 00:07:05,070 문자열의 길이를 지정할 수 있습니다. 144 00:07:05,070 --> 00:07:08,080 >> 이 예에 따라서, 우리는 CHAR (10)를 말할 수 있습니다. 145 00:07:08,080 --> 00:07:11,190 즉 모든 것을 의미합니다 해당 열의 요소 146 00:07:11,190 --> 00:07:13,910 정보의 10 바이트로 구성됩니다. 147 00:07:13,910 --> 00:07:15,770 더 이상, 더 적은.하지 148 00:07:15,770 --> 00:07:21,780 우리가 시도하고 15에 넣어 있다면 비트 또는 15 문자 요소 149 00:07:21,780 --> 00:07:25,340 또는이 열에 값, 우리는 처음 10을 얻을 것입니다. 150 00:07:25,340 --> 00:07:27,290 우리는 두 가지에 넣어 경우 문자 긴 값, 151 00:07:27,290 --> 00:07:30,700 우리는 두 가지를 할 겁니다 자, 다음 여덟 널 물린. 152 00:07:30,700 --> 00:07:34,990 우리는보다 더 효율적일 수 없을거야. 153 00:07:34,990 --> 00:07:37,727 >> VARCHAR의 종류처럼 문자열의 우리의 개념 154 00:07:37,727 --> 00:07:39,560 우리는 잘 알고 있음 C 나 PHP로와. 155 00:07:39,560 --> 00:07:40,830 이것은 가변 길이 스트링이다. 156 00:07:40,830 --> 00:07:42,560 그리고 당신은 만들 때 이 칼럼, 당신 단지 157 00:07:42,560 --> 00:07:44,860 가능한 최대 길이를 지정합니다. 158 00:07:44,860 --> 00:07:49,065 그래서 아마 99, 또는 일반적으로 255. 159 00:07:49,065 --> 00:07:50,440 즉, 최대 길이 될 것입니다. 160 00:07:50,440 --> 00:07:52,890 만약 그렇다면 우리는 저장했다 15 문자열, 161 00:07:52,890 --> 00:07:56,157 우리는 어쩌면 16 15 바이트를 사용합니다 null 종결 바이트. 162 00:07:56,157 --> 00:07:57,990 우리가 저장 한 경우 세 개의 문자열, 163 00:07:57,990 --> 00:08:01,120 우리는 세 또는 4 바이트를 사용한다. 164 00:08:01,120 --> 00:08:03,050 그러나 우리는 전체 99를 사용하지 않을 것입니다. 165 00:08:03,050 --> 00:08:05,190 >> 그런데 왜 우리는 둘 다해야? 166 00:08:05,190 --> 00:08:08,210 음, 우리는 방법을 알아낼 필요가있는 경우 긴 뭔가 VARCHAR 함께, 167 00:08:08,210 --> 00:08:10,680 우리는 반복 처리 가지에있다 그냥 좋아 통해 우리는 C로했다 168 00:08:10,680 --> 00:08:12,230 멈출 어디 알아낼. 169 00:08:12,230 --> 00:08:15,920 우리가 모든 것을 알고있는 경우 반면 이 열에 어쩌면, 10 바이트 170 00:08:15,920 --> 00:08:19,220 우리는 그 정보를 알고, 우리는 이동할 수 있습니다 10 바이트, 10 바이트, 10 바이트, 10 바이트, 171 00:08:19,220 --> 00:08:21,790 항상를 찾을 문자열의 시작. 172 00:08:21,790 --> 00:08:25,210 >> 그래서 우리는 몇 가지가있을 수 있습니다 CHAR과 공간을 낭비, 173 00:08:25,210 --> 00:08:28,510 하지만 어쩌면 무역있다 더 나은 속도를 갖는 해제 174 00:08:28,510 --> 00:08:30,160 데이터베이스를 탐색한다. 175 00:08:30,160 --> 00:08:32,330 하지만 어쩌면 우리가 원하는 VARCHAR의 유연성 176 00:08:32,330 --> 00:08:36,710 대신 having-- 우리의 CHAR 경우의 255 만, 우리의 대부분의 사용자 177 00:08:36,710 --> 00:08:40,537 단지 세 또는 4 바이트를 입력했다 정보 또는 서너 상당 178 00:08:40,537 --> 00:08:41,870 정보의 가치 문자. 179 00:08:41,870 --> 00:08:44,324 >> 그러나 일부 사용자는 사용했다 전체 (255), 아마 180 00:08:44,324 --> 00:08:45,990 VARCHAR가 더 적합 할 것입니다. 181 00:08:45,990 --> 00:08:49,840 그것은 떨어져 무역의 종류, 그리고 일반적으로 CS50의 목적을 위해, 182 00:08:49,840 --> 00:08:54,107 당신에 대해 너무 많이 걱정하지 않아도됩니다 당신이 CHAR 또는 VARCHAR를 사용하는지 여부. 183 00:08:54,107 --> 00:08:57,190 그러나 현실 세계에서, 이러한 것들 이 모든 열 때문에 문제가 않습니다 184 00:08:57,190 --> 00:08:59,300 실제 물리적 공간을 차지합니다. 185 00:08:59,300 --> 00:09:04,150 및 물리적 공간, 현실 세계는 프리미엄에 온다. 186 00:09:04,150 --> 00:09:06,800 >> 다른 하나의 고려 그래서 때 테이블을 구축하고 187 00:09:06,800 --> 00:09:09,840 로 하나의 열을 선택하는 것입니다 무엇은 기본 키라고합니다. 188 00:09:09,840 --> 00:09:14,350 그리고 기본 키 열입니다 어디 하나 하나 값이 유일하다. 189 00:09:14,350 --> 00:09:19,980 그리고 그것은 당신이 쉽게 할 수 있음을 의미 그냥 보면 하나의 행을 선택 190 00:09:19,980 --> 00:09:22,450 해당 행의 기본 키에. 191 00:09:22,450 --> 00:09:24,580 그래서 예를 들면, 당신 일반적으로, 사용자와, 192 00:09:24,580 --> 00:09:27,210 두 명의 사용자를 원하지 않는 사람 동일한 사용자 ID 번호를 갖는다. 193 00:09:27,210 --> 00:09:28,960 그리고 어쩌면 당신은 정보를 많이, 194 00:09:28,960 --> 00:09:30,793 어쩌면 두 명의 사용자가 할 수있는 같은 name--이 195 00:09:30,793 --> 00:09:32,650 당신은 존 스미스와 존 스미스가 있습니다. 196 00:09:32,650 --> 00:09:34,520 즉, 반드시 문제가되지 않습니다 여러 사람들이 있기 때문에 197 00:09:34,520 --> 00:09:35,830 존 스미스라는 이름의 세계. 198 00:09:35,830 --> 00:09:40,766 그러나 우리는 단지 하나의 사용자 ID 번호가 10 번 사용자 ID 번호 11, 12, 13. 199 00:09:40,766 --> 00:09:42,640 우리는 두 명의 사용자가 없습니다 같은 번호, 200 00:09:42,640 --> 00:09:46,010 그래서 어쩌면 사용자 ID 번호 좋은 차 열쇠가 될 것입니다. 201 00:09:46,010 --> 00:09:48,610 >> 우리는 어떤 중복이없는, 우리는 현재 유일하게 할 수있는 202 00:09:48,610 --> 00:09:52,619 다만 모든 단일 행을 식별 해당 열보고에 의해. 203 00:09:52,619 --> 00:09:55,410 실제로 기본 키를 수있는 선택 다음 표 작업을 204 00:09:55,410 --> 00:09:59,710 당신이 활용할 수 있기 때문에 훨씬 더 쉽게 사실 그 특정 행 것 205 00:09:59,710 --> 00:10:02,720 독특한, 또는 특정 열 수 데이터베이스 또는 테이블의 206 00:10:02,720 --> 00:10:06,030 선택에 고유 한 것입니다 밖으로 특정 행. 207 00:10:06,030 --> 00:10:08,790 >> 또한 관절 차를 가질 수있다 당신이 기회를 찾을 수있는, 키 208 00:10:08,790 --> 00:10:11,720 다만, 이는 사용하기 두 컬럼의 조합이 209 00:10:11,720 --> 00:10:13,280 고유 보장됩니다. 210 00:10:13,280 --> 00:10:16,410 그래서 어쩌면 당신은 하나가 A와 B에 칼럼, 211 00:10:16,410 --> 00:10:19,290 둘, 하나 하나의 열, 세를,하지만 당신은 오직거야 212 00:10:19,290 --> 00:10:23,660 하나의 A1, 하나가 등 등 A2. 213 00:10:23,660 --> 00:10:28,980 하지만 당신은 B2가있을 수 있습니다, C2 또는 A1, A2, A3, A4. 214 00:10:28,980 --> 00:10:32,840 그래서 여러으로, 여러가있을 수 있습니다 조식 제공, 여러 사람, 여러 조로, 215 00:10:32,840 --> 00:10:38,567 하지만 당신은 오직있을 수 있습니다 단일 A1, B2, C3, 등등. 216 00:10:38,567 --> 00:10:40,400 그래서 내가 말했듯이, SQL은 프로그래밍 언어 217 00:10:40,400 --> 00:10:42,024 그러나 그것은 매우 제한된 어휘를 가지고있다. 218 00:10:42,024 --> 00:10:44,880 그것은는 확실히 광대 아니다 C와 PHP와 다른 프로그래밍 언어 219 00:10:44,880 --> 00:10:46,350 우리는 과정에서 말하는 것이다. 220 00:10:46,350 --> 00:10:49,960 그것은 더 자세한입니다 우리가있어 무엇보다 언어 221 00:10:49,960 --> 00:10:52,789 이에 대해 이야기 할 것 비디오,이 때문에 비디오 222 00:10:52,789 --> 00:10:54,830 우리에 대해 이야기하는거야 4 개의 조작 우리가 223 00:10:54,830 --> 00:10:55,720 테이블에 수행 할 수 있습니다. 224 00:10:55,720 --> 00:10:56,761 >> 이보다 더 있습니다. 225 00:10:56,761 --> 00:10:58,730 우리는 이것보다 더 많은 일을 할 수 있습니다 하지만 우리의 목적을 위해, 226 00:10:58,730 --> 00:11:02,250 우리가 일반적으로 사용하는거야 다만 4 operations-- 삽입, 227 00:11:02,250 --> 00:11:05,360 업데이트를 선택하고 삭제합니다. 228 00:11:05,360 --> 00:11:08,750 그리고 당신은 아마 직관적으로 추측 할 수있다 이러한 것들의 네는 무슨. 229 00:11:08,750 --> 00:11:12,520 그러나 우리는 조금에 갈거야 각각의 세부 사항. 230 00:11:12,520 --> 00:11:15,780 >> 이것의 목적 그래서 비디오의 가정하자 231 00:11:15,780 --> 00:11:18,870 우리는 다음의 두 한 단일 데이터베이스의 테이블. 232 00:11:18,870 --> 00:11:23,460 우리는이 테이블라는 사용자가 네 columns-- ID 번호, 사용자 이름, 233 00:11:23,460 --> 00:11:25,350 암호, 전체 이름. 234 00:11:25,350 --> 00:11:27,430 그리고 우리는 두 번째가 동일한 데이터베이스에서 테이블 235 00:11:27,430 --> 00:11:32,129 단지 정보를 저장 엄마라고 사용자 이름과 어머니에 대한. 236 00:11:32,129 --> 00:11:33,920 모든 예제에 대한 그래서 이 비디오에서는, 우리는거야 237 00:11:33,920 --> 00:11:37,945 이 데이터베이스를 사용하고 그 이후에 업데이트됩니다. 238 00:11:37,945 --> 00:11:40,070 그래서 우리가하고 싶은 말은하자 테이블에 정보를 추가 할 수 있습니다. 239 00:11:40,070 --> 00:11:44,460 즉, 삽입 작업이하는 일입니다. 240 00:11:44,460 --> 00:11:46,550 모두를 설명 이 명령은, 내가 갈거야 241 00:11:46,550 --> 00:11:48,860 당신이 사용하는 일반적인 골격을 제공합니다. 242 00:11:48,860 --> 00:11:51,661 기본적으로, 쿼리 때문에 모양이 꽤 비슷한거야, 243 00:11:51,661 --> 00:11:54,660 우리는 단지 변경 될거야 정보의 약간 다른 조각 244 00:11:54,660 --> 00:11:56,750 테이블과 다른 일을합니다. 245 00:11:56,750 --> 00:11:59,200 >> INSERT를 들어, 골격 그래서 가지 다음과 같습니다. 246 00:11:59,200 --> 00:12:02,230 우리는에 삽입 할 특정 테이블. 247 00:12:02,230 --> 00:12:05,290 그 다음 우리는 열린 괄호가 및 열 목록 248 00:12:05,290 --> 00:12:08,070 우리는에 값을 넣어하려는. 249 00:12:08,070 --> 00:12:10,974 닫기 괄호, 다음의 값을 다음 250 00:12:10,974 --> 00:12:13,390 다시,이 값을 나열 우리는 테이블에 넣을. 251 00:12:13,390 --> 00:12:15,950 >> 이 너무 예 다음이 될 것이다. 252 00:12:15,950 --> 00:12:19,170 나는 테이블에 삽입 할 사용자가 다음 columns-- 253 00:12:19,170 --> 00:12:21,010 사용자 이름, 암호 및 전체 이름. 254 00:12:21,010 --> 00:12:25,282 내가 걸었 새 행 그래서 우린 그 세 개의 열에서 255 00:12:25,282 --> 00:12:30,030 값에 넣어 것 뉴먼, USMAIL 및 뉴먼. 256 00:12:30,030 --> 00:12:32,730 이 경우, 나는 해요 소문자 뉴먼을 가하고 257 00:12:32,730 --> 00:12:38,710 사용자 이름 열에 암호 USMAIL 및 전체 이름 자본 N 258 00:12:38,710 --> 00:12:41,940 전체 이름 컬럼에 뉴먼. 259 00:12:41,940 --> 00:12:44,240 >> 그래서 여기에 무엇 데이터베이스의 전에처럼 보였다. 260 00:12:44,240 --> 00:12:48,250 여기에 어떤 사용자가 테이블에의 상단 우리가 이런 짓을하기 전에처럼 보였다. 261 00:12:48,250 --> 00:12:50,760 우리는 이것을 실행 한 후 쿼리는, 우리는이를 얻을. 262 00:12:50,760 --> 00:12:54,790 우리는 테이블에 새 행을 추가했습니다. 263 00:12:54,790 --> 00:12:56,810 그러나 한 가지주의 내가 지정하지 않았다 264 00:12:56,810 --> 00:12:59,880 하지만 어떻게 든 값을 가지고있어 대한, 여기이 12있는 것입니다. 265 00:12:59,880 --> 00:13:02,820 내가 원한 말하지 않았다 거기에 ID 번호를 넣어. 266 00:13:02,820 --> 00:13:04,900 나는 이름을 넣어 싶어 암호, 전체 이름. 267 00:13:04,900 --> 00:13:06,440 그리고 나는 괜찮아요 것을했다. 268 00:13:06,440 --> 00:13:07,760 >> 그러나 나는이 (12)를 얻었다. 269 00:13:07,760 --> 00:13:09,490 이유는이 12거야? 270 00:13:09,490 --> 00:13:12,904 글쎄, 그것은 밝혀 때 당신이 정의하는 271 00:13:12,904 --> 00:13:15,570 될 것입니다 열 당신의 일반적으로 기본 키, 272 00:13:15,570 --> 00:13:16,510 같은 나는 ID 번호는 말했다. 273 00:13:16,510 --> 00:13:18,718 항상 반드시이 아니다 ID 번호가 될 것, 274 00:13:18,718 --> 00:13:22,380 하지만 일반적으로 좋은 생각 정수 값의 일종. 275 00:13:22,380 --> 00:13:25,950 당신은 phpMyAdmin을에서 옵션을 가지고 때 데이터베이스를 만드는 276 00:13:25,950 --> 00:13:31,130 또는 테이블은 설정하기 자동 증분으로 열입니다. 277 00:13:31,130 --> 00:13:34,520 >> 어떤 정말 좋은 생각 할 때입니다 당신은 기본 키와 함께 작업하고, 278 00:13:34,520 --> 00:13:39,330 당신은 모든 값을 원하기 때문에 그 열에서 고유해야합니다. 279 00:13:39,330 --> 00:13:43,310 그리고 당신은 지정하는 것을 잊지 경우 한 사람 이상하기에, 280 00:13:43,310 --> 00:13:46,240 당신은 지금 상황 곳이 그 열은 더 이상 고유 없습니다. 281 00:13:46,240 --> 00:13:50,200 두 공백이 없다, 그래서 당신은 할 수 있습니다 더 이상 고유 column--를 식별 282 00:13:50,200 --> 00:13:54,150 또는 당신은 더 이상 고유 할 수 없습니다 그 열을 기준으로 행을 식별합니다. 283 00:13:54,150 --> 00:13:57,010 그것은 모두를 잃은 그 기본 키 값입니다. 284 00:13:57,010 --> 00:14:02,010 >> 그래서 분명히 내가 한 일을 여기에서 사용자 ID를 설정한다 285 00:14:02,010 --> 00:14:07,790 자동 증가에 열마다 있도록 시간이 나는 테이블에 정보를 추가 286 00:14:07,790 --> 00:14:12,220 자동으로 나에게 줄 것이다 기본 키의 값. 287 00:14:12,220 --> 00:14:15,570 그래서 나는 때문에 그것을 할 잊지 못할 수 있습니다 데이터베이스는 나를 위해 그것을 할 것입니다. 288 00:14:15,570 --> 00:14:16,587 그래서 가지 좋은 데요. 289 00:14:16,587 --> 00:14:18,670 우리가 얻을 왜 그리고 그건 거기에 12, 나는했습니다 때문에 290 00:14:18,670 --> 00:14:21,772 자동 증가에 그 열까지를 설정합니다. 291 00:14:21,772 --> 00:14:23,730 나는 다른 사람을 추가 한 경우 내가 추가 한 경우는 13 것 292 00:14:23,730 --> 00:14:27,890 다른 사람은 그렇게 14, 그리고 것입니다. 293 00:14:27,890 --> 00:14:30,190 >> 그래서 그냥 하나 더 삽입 할 수 있습니다. 294 00:14:30,190 --> 00:14:34,530 우리는에, 엄마의 테이블에 삽입합니다 특히, 사용자 이름과 어머니 295 00:14:34,530 --> 00:14:37,390 열, 값 크레이머와 뱁스 크레이머. 296 00:14:37,390 --> 00:14:39,140 그래서 우리는 전에이 있었다. 297 00:14:39,140 --> 00:14:41,800 우리는 실행 후 SQL 쿼리, 우리는이 있습니다. 298 00:14:41,800 --> 00:14:47,290 우리는 크레이머와 뱁스을 추가했습니다 엄마 테이블 크레이머. 299 00:14:47,290 --> 00:14:48,350 >> 그래서 삽입합니다. 300 00:14:48,350 --> 00:14:51,850 선택은 우리가 추출하는 데 사용하는 것입니다 테이블에서 정보를 제공합니다. 301 00:14:51,850 --> 00:14:54,390 그래서 이것은 우리가 얻는 방법이다 데이터베이스 중 정보. 302 00:14:54,390 --> 00:14:59,589 그리고 SELECT 명령이 될거야 매우 자주 프로그램에 사용됩니다. 303 00:14:59,589 --> 00:15:02,130 일반 framework-- 일반적인 골격은 다음과 같다. 304 00:15:02,130 --> 00:15:06,550 열 세트를 선택 테이블하고 임의적 305 00:15:06,550 --> 00:15:11,090 당신이 condition--를 지정하거나 우리가 일반적으로 술어를 부르는, 306 00:15:11,090 --> 00:15:13,010 일반적으로 우리가 SQL에서 사용하는 용어입니다. 307 00:15:13,010 --> 00:15:16,490 >> 그러나 기본적으로 무엇을의 특히 행 당신은 싶어. 308 00:15:16,490 --> 00:15:19,100 당신을 대신 점점하려면 모든, 범위를 좁힐 309 00:15:19,100 --> 00:15:20,060 당신이 할 것 곳이다. 310 00:15:20,060 --> 00:15:22,777 그리고 선택적으로, 당신은 또한 수 특정 열을 기준으로 주문한다. 311 00:15:22,777 --> 00:15:25,860 그래서 어쩌면 당신은 정렬 된 물건을 갖고 싶어 알파벳 순으로 하나의 열을 기반으로 312 00:15:25,860 --> 00:15:27,540 또는 알파벳 순으로 다른 기준으로합니다. 313 00:15:27,540 --> 00:15:30,610 >> 또, ORDER BY는 선택되는 경우합니다. 314 00:15:30,610 --> 00:15:32,681 그러나 그들은 아마있을거야 useful-- 특히 315 00:15:32,681 --> 00:15:34,680 어디에 도움이 될 것입니다 그렇게하지 ​​않도록 좁힐 316 00:15:34,680 --> 00:15:37,460 다시 전체 데이터베이스를 얻을 를 처리 할 필요가, 당신은 얻을 317 00:15:37,460 --> 00:15:39,300 그것의 조각은 당신이 걱정하는 것이. 318 00:15:39,300 --> 00:15:44,932 그래서 예를 들어, 내가 선택 할 수 있습니다 사용자의 ID 번호와 전체 이름. 319 00:15:44,932 --> 00:15:46,140 그래서이 같을 수 있는가? 320 00:15:46,140 --> 00:15:48,270 그래서 여기 내 사용자 테이블입니다. 321 00:15:48,270 --> 00:15:51,080 나는 IDNUM을 선택합니다 및 사용자의 전체 이름. 322 00:15:51,080 --> 00:15:52,300 내가 뭘 사러 갈 건데? 323 00:15:52,300 --> 00:15:53,580 나는이 얻을거야. 324 00:15:53,580 --> 00:15:56,930 나는 그것을 좁혀하지 않았다, 그래서 나는 해요 모든 행 ID 번호를 받고 325 00:15:56,930 --> 00:16:00,850 나는 전체를 받고 있어요 모든 행에서 이름을 지정합니다. 326 00:16:00,850 --> 00:16:02,210 >> 그래. 327 00:16:02,210 --> 00:16:05,640 내가 암호를 선택하려면 WHERE-- 이제 사용자의 328 00:16:05,640 --> 00:16:10,370 내가 조건을 추가 해요, predicate-- IDNUM 미만 (12)이다. 329 00:16:10,370 --> 00:16:13,660 그래서 여기 내 데이터베이스 다시이다, 내 사용자 테이블 위에. 330 00:16:13,660 --> 00:16:17,030 어떻게 내가 원하는 경우 사러 갈 건데 그 정보를 선택, 암호, 331 00:16:17,030 --> 00:16:21,550 여기서, 사용자 ID 또는 IDNUM 12 미만인? 332 00:16:21,550 --> 00:16:24,910 나는이 얻을거야 정보 다시, 오른쪽? 333 00:16:24,910 --> 00:16:29,170 IDNUM 10 것을이 발생, 이하 (12)보다, ID 번호 11 (12) 이하. 334 00:16:29,170 --> 00:16:32,160 나는 그 행에 대한 암호를 얻고있다. 335 00:16:32,160 --> 00:16:33,914 즉, 내가 무엇을 요구합니다. 336 00:16:33,914 --> 00:16:34,580 무엇에 대해? 337 00:16:34,580 --> 00:16:39,170 나는 무엇에서 별을 선택하려면 사용자 이름은 제리 같다 엄마 표? 338 00:16:39,170 --> 00:16:43,780 확인을 선택 별은 특별하다 와일드 카드의 종류는 소위 339 00:16:43,780 --> 00:16:45,670 우리는 모든 것을 얻을하는 데 사용하는. 340 00:16:45,670 --> 00:16:48,620 그래서 그들은 선택 말을하는지 쉼표 어머니 사용자 이름있는 341 00:16:48,620 --> 00:16:51,060 단지 우연히 이 테이블의 두 개의 열, 342 00:16:51,060 --> 00:16:53,260 난 그냥 별을 선택할 수 있습니다 그리고 모든 것을 얻을 343 00:16:53,260 --> 00:16:55,030 여기서 사용자 이름은 제리 같습니다. 344 00:16:55,030 --> 00:16:59,380 그리고 그게 내가 얻을 것 무엇 나는 특정 쿼리를 만든 경우. 345 00:16:59,380 --> 00:17:01,810 >> 이제, 데이터베이스는 큰 그들은 수 있기 때문에 346 00:17:01,810 --> 00:17:06,074 우리는 아마도 정보를 구성하는 우리는보다 더 효율적으로 비트 347 00:17:06,074 --> 00:17:06,740 그렇지 않으면 수 있습니다. 348 00:17:06,740 --> 00:17:10,240 우리는 반드시 저장하지 않습니다 정보의 모든 관련 부분 349 00:17:10,240 --> 00:17:12,230 동일 표에 대한 사용자. 350 00:17:12,230 --> 00:17:13,730 우리는이 두 개의 테이블이 있었다. 351 00:17:13,730 --> 00:17:15,734 >> 우리는 저장해야 모두의 어머니의 이름, 352 00:17:15,734 --> 00:17:18,900 어쩌면 우리는 사회 보장이 없습니다 수, 우리는 출생의 자신의 날짜를 가지고있다. 353 00:17:18,900 --> 00:17:21,819 즉, 항상 필요로하지 않는다 같은 테이블에 있어야합니다. 354 00:17:21,819 --> 00:17:25,339 만큼 우리가 정의 할 수 있습니다로 tables-- 사이의 관계 355 00:17:25,339 --> 00:17:28,440 그게 어디 그 관계 데이터베이스 용어는 가지 온다 356 00:17:28,440 --> 00:17:32,130 play--로 우리가 정의 할 수있는에 테이블 간의 관계, 357 00:17:32,130 --> 00:17:35,545 우리는 종류의 구획 수 또는 추상적 일 수있는 방법, 358 00:17:35,545 --> 00:17:37,670 우리는이 곳 정말 중요한 정보 359 00:17:37,670 --> 00:17:39,270 우리는 사용자의 테이블에 관심. 360 00:17:39,270 --> 00:17:43,220 그리고 우리는 부수적 인 정보를 다른 테이블 또는 추가 정보 361 00:17:43,220 --> 00:17:48,260 우리는 주에 다시 연결할 수 있는지 특정 방식의 사용자 테이블. 362 00:17:48,260 --> 00:17:52,200 >> 그래서 여기에 우리는이 두 테이블을 가지고 있지만, 그들 사이의 관계가있어, 363 00:17:52,200 --> 00:17:53,010 권리? 364 00:17:53,010 --> 00:17:55,070 그것은 이름처럼 보인다 뭔가 수 있습니다 365 00:17:55,070 --> 00:17:59,909 그 사이에 공통으로 존재 이들 두 개의 서로 다른 테이블. 366 00:17:59,909 --> 00:18:01,700 그래서 우리는 지금이있는 경우 상황이 우리가 어디 367 00:18:01,700 --> 00:18:06,046 에서 사용자의 전체 이름을 얻으려면 사용자의 테이블, 그들의 어머니의 368 00:18:06,046 --> 00:18:07,170 어머니 테이블에서 이름? 369 00:18:07,170 --> 00:18:10,960 우리는 얻을 수있는 방법을 갖고 있지 그것은 바로, 그 약자로? 370 00:18:10,960 --> 00:18:17,790 포함 단일 테이블이 없습니다 전체 이름과 어머니의 이름을 모두. 371 00:18:17,790 --> 00:18:20,400 우리는 옵션이 없습니다 우리가 지금까지 본 것과. 372 00:18:20,400 --> 00:18:22,950 >> 그래서 우리는 도입해야 가입의 아이디어. 373 00:18:22,950 --> 00:18:24,857 조인은 아마 가장 complex-- 374 00:18:24,857 --> 00:18:27,940 정말 가장 복잡한 작업이다 우리는 비디오에 대해 이야기하는 것입니다. 375 00:18:27,940 --> 00:18:30,040 그들은 조금 복잡한 것 그러나 당신이 그것의 묘리를 터득하면, 376 00:18:30,040 --> 00:18:31,248 그들은 실제로 그렇게 나쁘지 아니에요. 377 00:18:31,248 --> 00:18:32,820 그냥 선택의 특별한 경우이다. 378 00:18:32,820 --> 00:18:37,120 우리는 세트를 선택하는거야 가입 테이블에서 열 379 00:18:37,120 --> 00:18:40,650 일부 술어에 두 번째 테이블에서. 380 00:18:40,650 --> 00:18:45,340 >> 그것은이 항아리처럼 대해이 경우, 생각 테이블 하나, 여기에 하나 원입니다 381 00:18:45,340 --> 00:18:47,530 테이블 두 사람은 여기에 다른 원이다. 382 00:18:47,530 --> 00:18:49,410 그리고 그 술어 부분 중간에, 그것의 383 00:18:49,410 --> 00:18:51,701 일종의 생각하면 같은 대한 벤 다이어그램으로, 무엇 384 00:18:51,701 --> 00:18:52,670 그들은 공통점이 무엇입니까? 385 00:18:52,670 --> 00:18:55,960 우리는이 두 테이블을 연결하려면 그들은 공통점이 무엇인지를 기반으로 386 00:18:55,960 --> 00:19:01,230 이 가상 테이블을 생성 그 함께 두의 합병이다. 387 00:19:01,230 --> 00:19:03,480 그래서 우리는이를 볼 수 있습니다 예를 어쩌면 그것은 도움이됩니다 388 00:19:03,480 --> 00:19:04,521 조금 그것을 취소합니다. 389 00:19:04,521 --> 00:19:09,260 그래서 어쩌면 당신은 선택합니다 USER.FULLNAME 및 moms.mother 390 00:19:09,260 --> 00:19:13,220 에 가입 사용자의 모든 상황에서 엄마 표 391 00:19:13,220 --> 00:19:16,790 여기서 사용자 이름 열 그들 사이에 동일하다. 392 00:19:16,790 --> 00:19:19,240 그리고 이것은 새로운 여기에이 사용자를 구문. 393 00:19:19,240 --> 00:19:20,460 그리고 엄마 .. 394 00:19:20,460 --> 00:19:26,697 나는 여러 테이블을하고 있어요 경우 함께, 나는 테이블을 지정할 수 있습니다. 395 00:19:26,697 --> 00:19:29,530 나는 특히에에서 구별 할 수있다 그에이 맨 아래에. 396 00:19:29,530 --> 00:19:33,220 나는 이름을 구별 할 수있다 사용자 테이블의 컬럼 397 00:19:33,220 --> 00:19:36,010 의 사용자 이름 열에서 엄마 표, otherwise-- 있습니다 398 00:19:36,010 --> 00:19:38,070 우리는 단지 사용자 이름과 동일했다 경우 정말하지 않는 사용자 이름, 399 00:19:38,070 --> 00:19:38,970 아무 의미. 400 00:19:38,970 --> 00:19:41,440 우리는 그들이 일치하는 곳을 싶어요. 401 00:19:41,440 --> 00:19:46,080 >> 그래서 테이블을 지정할 수 있습니다 상황이 경우 열 이름 402 00:19:46,080 --> 00:19:48,370 어디 불분명 것 나는 무엇에 대해 이야기하고있다. 403 00:19:48,370 --> 00:19:51,880 그게 내가하고있어 모든 그래서 난이 이 테이블에서이 열을 말하고, 404 00:19:51,880 --> 00:19:54,020 아주 명시 적 존재. 405 00:19:54,020 --> 00:19:56,810 그래서 다시, 내가 선택한거야 전체 이름과 어머니의 이름 406 00:19:56,810 --> 00:20:00,950 서로 연결된 사용자 테이블에서 모든 상황에서 엄마 테이블 407 00:20:00,950 --> 00:20:05,960 어디 그 column--을 공유 그들은 그 이름의 개념을 공유 할 수 있습니다. 408 00:20:05,960 --> 00:20:08,580 >> 그래서 여기에 우리가 전에 있던 테이블이 있습니다. 409 00:20:08,580 --> 00:20:12,210 이 상태 우리의 데이터베이스는 지금 존재. 410 00:20:12,210 --> 00:20:16,390 우리가 추출하고 정보 시작하는이입니다. 411 00:20:16,390 --> 00:20:19,820 이것은 우리가 가고있는 새로운 테이블 함께 이러한 조합 만들 수 있습니다. 412 00:20:19,820 --> 00:20:23,585 그리고 우리는 강조하지 않을 통지 사용자의 테이블에있는 뉴먼의 행, 413 00:20:23,585 --> 00:20:25,960 우리는 강조하지 않을 엄마 테이블에 Kramer의 행 414 00:20:25,960 --> 00:20:31,250 어느 하나에 존재하기 때문에 모두 두 테이블 sets--. 415 00:20:31,250 --> 00:20:36,260 >> 공통적 인 정보만을 사이 제리 두 테이블입니다 416 00:20:36,260 --> 00:20:39,100 과 gcostanza 두 테이블에 있습니다. 417 00:20:39,100 --> 00:20:42,620 우리가 할 때, 그리고 SQL은, 가입 우리 이거나 먹어 우리는이를 얻을 실제로 일을. 418 00:20:42,620 --> 00:20:44,830 그것은 임시 변수의 일종. 419 00:20:44,830 --> 00:20:47,330 그것은 가상처럼 두 테이블의 합병. 420 00:20:47,330 --> 00:20:49,930 우리는 실제로 뭔가를 얻을 수 이 같은 경우 421 00:20:49,930 --> 00:20:54,730 우리는에 테이블을 병합 한 그들이 공통적으로 가지고있는 정보를 제공합니다. 422 00:20:54,730 --> 00:20:58,334 >> 그래서 users.username 통지 및 moms.username 열, 423 00:20:58,334 --> 00:20:59,250 정확히 동일한이다. 424 00:20:59,250 --> 00:21:01,820 즉, 정보였습니다 사용자의 일치 하였다 425 00:21:01,820 --> 00:21:02,890 테이블과 엄마 표. 426 00:21:02,890 --> 00:21:04,270 그래서 우리는 그들을 함께 합병했다. 427 00:21:04,270 --> 00:21:06,919 우리는 크레이머 폐기 그는 때문에 사용자 테이블에 존재하지 않았다 428 00:21:06,919 --> 00:21:09,710 우리는 때문에, 뉴먼 폐기 그는 엄마 테이블에 존재하지 않았다. 429 00:21:09,710 --> 00:21:16,450 그래서 이것은 가상의 합병이다 선택의 가입 작업을 사용. 430 00:21:16,450 --> 00:21:21,250 >> 그리고 우리는 찾고 있었다 사용자의 전체 이름과 사용자의 어머니, 431 00:21:21,250 --> 00:21:24,999 그래서이 정보는 그 우리는 전체 쿼리에서 얻을 것 432 00:21:24,999 --> 00:21:26,040 우리가 선택으로 만든 그. 433 00:21:26,040 --> 00:21:28,873 그래서 우리는 함께 테이블에 합류 우리는 그 두 개의 열을 추출, 434 00:21:28,873 --> 00:21:31,610 그래서 그것은 우리가 얻을 것이 무엇입니다. 435 00:21:31,610 --> 00:21:33,370 그러나 SQL은 복잡한의 종류를 결합합니다. 436 00:21:33,370 --> 00:21:36,770 당신은 아마 그들에게 너무 많이하지 않을 것이다 하지만 단지 골격의 몇 가지 아이디어를 가지고 437 00:21:36,770 --> 00:21:41,992 두 가지를 병합하는 데 사용할 수 당신이 필요 함께하면 테이블. 438 00:21:41,992 --> 00:21:43,700 마지막 두가 비트 간단한 약속. 439 00:21:43,700 --> 00:21:48,040 그래서 업데이트, 우리는 업데이트를 사용할 수 있습니다 테이블의 정보를 변경합니다. 440 00:21:48,040 --> 00:21:53,880 일반적인 형식은 UPDATE 일부 테이블은 어떤 값에 약간의 열을 SET 441 00:21:53,880 --> 00:21:55,540 어디 몇 가지 조건이 만족된다. 442 00:21:55,540 --> 00:21:57,850 그래서 예를 들어, 우리는 할 수 있습니다 사용자 테이블을 업데이트하기 443 00:21:57,850 --> 00:22:04,400 그리고 궁시렁에 암호를 설정 ID 번호가 10 궁시렁. 444 00:22:04,400 --> 00:22:06,400 >> 이 경우, 우리는 야 사용자 테이블을 갱신. 445 00:22:06,400 --> 00:22:08,275 ID 번호는 10이다 거기에 그 첫 번째 행, 446 00:22:08,275 --> 00:22:10,690 우리는을 업데이트 할 궁시렁 궁시렁에 암호를 입력합니다. 447 00:22:10,690 --> 00:22:12,170 그리고 그 일이 일어날거야. 448 00:22:12,170 --> 00:22:13,628 그것은 바로, 매우 간단입니까? 449 00:22:13,628 --> 00:22:17,990 그냥 아주 간단합니다 테이블에 수정. 450 00:22:17,990 --> 00:22:22,250 >> 우리가 사용하는 동작을한다 DELETE 테이블에서 정보를 제거합니다. 451 00:22:22,250 --> 00:22:24,817 테이블 어디에서 삭제 일부 술어를 만족시킨다. 452 00:22:24,817 --> 00:22:26,900 우리는에서 삭제할 예를 들어 사용자 테이블 453 00:22:26,900 --> 00:22:28,254 여기서 사용자 이름은 뉴먼이다. 454 00:22:28,254 --> 00:22:31,420 당신은 아마에 무슨 일이 일어나고 있는지 추측 할 수 우리가 SQL을 실행 한 후 여기에 일이 455 00:22:31,420 --> 00:22:35,790 쿼리, 뉴먼은 테이블에서 사라. 456 00:22:35,790 --> 00:22:40,460 >> 그래서이 모든 작업은, 내가 말했듯이 phpMyAdmin을에서 아주 쉽게 할 수 있습니다. 457 00:22:40,460 --> 00:22:43,020 그것은 매우 사용자 친화적 인 인터페이스입니다. 458 00:22:43,020 --> 00:22:45,930 그러나 수동 노력을 필요로 않습니다. 459 00:22:45,930 --> 00:22:47,840 우리는 수작업을 사용하고 싶지 않아요. 460 00:22:47,840 --> 00:22:51,280 우리는 우리의 프로그램을 원하는 바로, 우리를 위해 이렇게? 461 00:22:51,280 --> 00:22:53,190 그래서 우리는 수행 할 수 있습니다 이 프로그램. 462 00:22:53,190 --> 00:22:56,410 우리는 SQL을 통합하는 원하고있다 뭔가 우리를 위해이 작업을 수행 할 수 있습니다. 463 00:22:56,410 --> 00:23:02,710 >> 그러나 우리는 할 수 있습니다 것을 보았다 우리는 프로그래밍 일을 할까? 464 00:23:02,710 --> 00:23:03,690 우리는 바로, PHP 봤어요? 465 00:23:03,690 --> 00:23:05,760 그것은 몇 가지를 소개합니다 우리의 프로그램에 활력. 466 00:23:05,760 --> 00:23:10,430 그리고 다행히도, SQL 및 PHP는 함께 아주 잘 재생합니다. 467 00:23:10,430 --> 00:23:13,230 PHP에서 함수가있다 사용될 수있다라는 쿼리. 468 00:23:13,230 --> 00:23:15,870 그리고 당신은으로 전달할 수 있습니다 매개 변수 또는 인수 469 00:23:15,870 --> 00:23:19,210 SQL 쿼리를 쿼리하는 그 당신은 실행하고 싶습니다. 470 00:23:19,210 --> 00:23:23,250 그리고 PHP는 사용자를 대신하여 그것을 할 것입니다. 471 00:23:23,250 --> 00:23:25,564 >> 당신이 연결 한 후에 그래서 PHP로 데이터베이스에, 472 00:23:25,564 --> 00:23:26,980 이렇게 두 예비 선거가있다. 473 00:23:26,980 --> 00:23:29,230 뭔가라는 MySQLi가있다 뭔가는 PDO를했다. 474 00:23:29,230 --> 00:23:31,063 우리는 거대한로 들어 가지 않습니다 이 양의 세부 사항입니다. 475 00:23:31,063 --> 00:23:32,957 CS50에서 우리는 PDO를 사용합니다. 476 00:23:32,957 --> 00:23:34,790 당신은 연결 한 후 데이터베이스에, 당신 477 00:23:34,790 --> 00:23:40,980 다음 쿼리를 데이터베이스를 만들 수 있습니다 인수로 쿼리를 전달하여 478 00:23:40,980 --> 00:23:42,730 PHP 함수에. 479 00:23:42,730 --> 00:23:46,460 당신이 그렇게 할 때, 당신은 저장 연관 배열에 결과 세트. 480 00:23:46,460 --> 00:23:50,290 >> 그리고 우리는 함께 작동하는 방법을 알고 PHP의 연관 배열. 481 00:23:50,290 --> 00:23:52,630 그래서 내가 뭔가를 말할 수있다 등이 항아리 $ results-- 482 00:23:52,630 --> 00:23:55,470 PHP-- 쿼리에 해당이입니다. 483 00:23:55,470 --> 00:23:57,660 그리고 내부의 그 인수 쿼리 기능 484 00:23:57,660 --> 00:24:00,130 나는 쿼리를 전달하고있어 것을 즉, SQL처럼 보인다. 485 00:24:00,130 --> 00:24:01,160 그리고 사실 SQL은입니다. 486 00:24:01,160 --> 00:24:05,700 즉이 나는 것 쿼리 문자열의 내 데이터베이스에서 실행할 것을 좋아합니다. 487 00:24:05,700 --> 00:24:09,250 >> 그리고 적색, 이것은 PHP이다. 488 00:24:09,250 --> 00:24:11,890 이 난 SQL입니다 하여 PHP로 통합 489 00:24:11,890 --> 00:24:15,020 그것은 조회 함수의 인수. 490 00:24:15,020 --> 00:24:19,640 나는에서 전체 이름을 선택합니다 ID 번호는 10이 유저. 491 00:24:19,640 --> 00:24:22,560 그리고 나는 그 일을했습니다 아마 후, 나는 이런 식으로 뭔가를 말할 수 있습니다. 492 00:24:22,560 --> 00:24:25,550 나는 밖으로 인쇄 할 로그인에 대한 메시지 감사합니다. 493 00:24:25,550 --> 00:24:32,530 >> 그리고 내가 원하는 그것을 interpolate-- 할 $ 결과 전체 이름을 보간합니다. 494 00:24:32,530 --> 00:24:36,280 그리고 그게 내가 그 작동 방법 내가 돌아 왔을 연관 배열. 495 00:24:36,280 --> 00:24:39,730 $ 결과 전체 이름 것 기본적으로 밖으로 인쇄 결국, 496 00:24:39,730 --> 00:24:42,870 에 제리 펠트를 기록 주셔서 감사합니다. 497 00:24:42,870 --> 00:24:46,570 즉, 전체 이름이었다 여기서 IDNUM 10 같습니다. 498 00:24:46,570 --> 00:24:48,850 >> 그리고 모든 내가하고 있어요 나는들을 당장 내가 저장되어있어 499 00:24:48,850 --> 00:24:52,780 내 쿼리, 내 쿼리의 결과 과 연관 배열의 결과, 500 00:24:52,780 --> 00:24:56,330 와 전체 이름이의 이름입니다 내가 점점 된 열입니다. 501 00:24:56,330 --> 00:25:01,010 그래서 그 결과로 내 키입니다 내가 원하는 연관 배열. 502 00:25:01,010 --> 00:25:05,930 그래서 덕분에 로그인하고, $ 결과, 전체 이름은 스틱 것, 인쇄한다 503 00:25:05,930 --> 00:25:08,654 바로 그 곱슬 사이 중괄호, 제리 Seinfeld는. 504 00:25:08,654 --> 00:25:11,820 그리고 메시지를 출력하고 싶은 것 제리 Seinfeld는 로그인 주셔서 감사합니다. 505 00:25:11,820 --> 00:25:16,652 >> 이제, 우리는 아마 열심히하지 않으 점에서 같은 코드 것들, 맞죠? 506 00:25:16,652 --> 00:25:19,860 우리는 인쇄 같은 작업을 수행 할 수 있습니다 우리가 대체하고 어쩌면 수 F, 507 00:25:19,860 --> 00:25:22,443 다른 정보를 수집, 아니면 쿼리 프로세스를 508 00:25:22,443 --> 00:25:23,370 다른 정보를 제공합니다. 509 00:25:23,370 --> 00:25:27,920 그리고 쿼리, 쿼리 기능이 있습니다 대체의 종류의 개념 510 00:25:27,920 --> 00:25:32,310 퍼센트의 f를 인쇄 할 매우 유사 그리고 %의 C는 물음표입니다. 511 00:25:32,310 --> 00:25:34,290 >> 그리고 우리는 질문을 사용할 수 있습니다 마크 매우 유사 512 00:25:34,290 --> 00:25:38,400 대체 변수 f를 인쇄합니다. 513 00:25:38,400 --> 00:25:44,120 그래서 아마 사용자가 이전에 기록, 당신은 자신의 사용자 ID 번호를 저장 514 00:25:44,120 --> 00:25:51,710 PHP 슈퍼의 $의 _SESSION에 키 ID 글로벌. 515 00:25:51,710 --> 00:25:55,947 그들은 로그인 그래서 아마 후, 당신은, ID가 10에 해당 $ _SESSION을 설정 516 00:25:55,947 --> 00:25:58,280 예로부터 외삽 우리는 단지 두 번째 전에 보았다. 517 00:25:58,280 --> 00:26:01,960 >> 그래서 우리는 실제로 실행할 때 이것은, 현재 쿼리 결과 518 00:26:01,960 --> 00:26:08,440 그것은 10에 연결, 또는 어떤 것 $ _SESSION ID 값이다. 519 00:26:08,440 --> 00:26:10,790 그리고 그것은 우리를 수 좀 더 동적. 520 00:26:10,790 --> 00:26:12,699 우리는 열심히 더 이상 물건을 코딩 아닙니다. 521 00:26:12,699 --> 00:26:14,490 우리는 정보를 저장하고 어딘가에 다음 522 00:26:14,490 --> 00:26:18,924 우리는 다시 그 정보를 사용할 수 있습니다 일종의 우리가 수행 할 작업을 일반화, 523 00:26:18,924 --> 00:26:21,090 그냥 플러그인과 변화 우리의 페이지의 동작 524 00:26:21,090 --> 00:26:26,489 어떤 사용자의 ID 번호에 기초 그들은 로그인 한 후 실제로. 525 00:26:26,489 --> 00:26:28,530 그것은, 그러나, 수도 결과가 설정하는 것이 526 00:26:28,530 --> 00:26:30,840 여러 행으로 구성되어 있습니다. 527 00:26:30,840 --> 00:26:33,990 이 경우, 당신은 arrays--의 배열 528 00:26:33,990 --> 00:26:35,334 연관 배열의 배열. 529 00:26:35,334 --> 00:26:37,000 그리고 당신은 그것을 통해 반복 할 필요가있다. 530 00:26:37,000 --> 00:26:41,950 그리고 우리는 반복하는 방법을 알고 PHP의 배열을 통해, 오른쪽? 531 00:26:41,950 --> 00:26:45,600 그래서 여기에 아마도 가장입니다 우리가 지금까지 본 적이 복잡한 것. 532 00:26:45,600 --> 00:26:49,640 실제로 통합 함께 3 개 국어. 533 00:26:49,640 --> 00:26:52,920 >> 여기에 빨간색이 좀 HTML입니다. 534 00:26:52,920 --> 00:26:56,872 나는 분명히이가 starting-- 해요 내가 가진 일부 HTML의 조각. 535 00:26:56,872 --> 00:26:59,580 나는 새로운 단락이 시작 해요 TV의 펠트의 엄마를 말한다. 536 00:26:59,580 --> 00:27:02,350 그리고 그 직후 나는 테이블을 시작 했어. 537 00:27:02,350 --> 00:27:06,060 그리고 그 후, 바로, 일부 PHP가? 538 00:27:06,060 --> 00:27:08,229 나는 거기에이 PHP 코드를 모두 가지고있다. 539 00:27:08,229 --> 00:27:09,645 나는 분명히 쿼리를 만들려고하고있다. 540 00:27:09,645 --> 00:27:14,180 그리고 쿼리를 만들기 위해, 내가 갈거야 엄마에서 선택 어머니를 사용합니다. 541 00:27:14,180 --> 00:27:15,970 >> 그래서은 SQL이다 getting--된다. 542 00:27:15,970 --> 00:27:17,300 그래서 파란색 SQL이다. 543 00:27:17,300 --> 00:27:19,680 우리가 두 번째 전 보았던 빨간색은 HTML이었다. 544 00:27:19,680 --> 00:27:21,360 그리고 여기에 녹색 PHP입니다. 545 00:27:21,360 --> 00:27:23,400 그래서 쿼리를 만들고있어 내 데이터베이스에, 나는 해요 546 00:27:23,400 --> 00:27:26,040 모두 선택 엄마 표에서 어머니. 547 00:27:26,040 --> 00:27:30,710 단지 특정로 좁혀 없음 행, 나는 그들 모두를 요구하고있다. 548 00:27:30,710 --> 00:27:33,290 >> 결과 인 경우, 나는 확인 같지 않음은 false 같습니다. 549 00:27:33,290 --> 00:27:37,410 이것은 일종의 검사의 내 방법입니다 결과는 널 (null)로 동일하지의 경우, 550 00:27:37,410 --> 00:27:40,260 우리는 예를 들어 C를 참조하십시오 것이다. 551 00:27:40,260 --> 00:27:44,000 기본적으로 이것은 단지 확인 중입니다 실제로 데이터를 다시 가지고 있는지 확인하십시오. 552 00:27:44,000 --> 00:27:47,041 나는 인쇄를 시작하지 않기 때문에 데이터에서 나는 어떤 데이터를 얻을하지 않은 경우. 553 00:27:47,041 --> 00:27:50,690 그런 결과로 각각의 결과에 대한 PHP에서 foreach는 구문, 모두 내가하고 있어요 554 00:27:50,690 --> 00:27:53,399 $ 결과 어머니를 인쇄한다. 555 00:27:53,399 --> 00:27:55,940 그래서 나는 세트를 얻을거야 each--의 어머니의 모든 556 00:27:55,940 --> 00:27:59,980 이는 결합의 배열이다 arrays-- 나는 밖으로 인쇄하고 있습니다 557 00:27:59,980 --> 00:28:03,649 테이블의 고유 한 행으로 각각. 558 00:28:03,649 --> 00:28:05,690 그리고 정말 예쁘다 많은 모든 거기에있다. 559 00:28:05,690 --> 00:28:07,750 조금있다 알고 비트는 여기에 무슨 560 00:28:07,750 --> 00:28:13,210 배열이 마지막 예에서 연관 배열의 배열을 arrays--. 561 00:28:13,210 --> 00:28:17,340 하지만 정말 그냥 끓여 않습니다 쿼리를 만들기 위해 SQL에서 아래로, 562 00:28:17,340 --> 00:28:21,102 우리가 이미 한 후에 일반적으로 선택 테이블에 정보를 넣어, 563 00:28:21,102 --> 00:28:22,310 다음 그냥 철수. 564 00:28:22,310 --> 00:28:25,710 >> 그리고 이것은 우리가 그것을 당겨 것입니다 특히이 경우에 아웃. 565 00:28:25,710 --> 00:28:31,120 우리는 개인의 모든를 추출하는 것 엄마 테이블에서 어머니. 566 00:28:31,120 --> 00:28:35,970 우리는 그들의 전체 세트를 가지고, 그리고 우리 을 통해 반복하고 인쇄 할 567 00:28:35,970 --> 00:28:37,630 각각. 568 00:28:37,630 --> 00:28:40,510 그래서 다시, 이것은 아마도 가장 복잡한 예 569 00:28:40,510 --> 00:28:44,510 우리는 세 가지를 혼합하고 있기 때문에 우리는 보았다 다른 언어 함께, 오른쪽? 570 00:28:44,510 --> 00:28:50,100 >> 다시 말하지만, 우리는 빨간색으로 여기에 HTML을 가지고, 파란색 여기에 몇 가지 SQL과 혼합, 571 00:28:50,100 --> 00:28:52,049 녹색의 일부 PHP와 혼합. 572 00:28:52,049 --> 00:28:53,840 그러나이 모든 재생 멋지게 함께, 그것은이다 573 00:28:53,840 --> 00:28:57,060 개발의 문제 좋은 습관 당신이 얻을 수 있도록 574 00:28:57,060 --> 00:28:58,780 그들에게 당신이 원하는 방식으로 함께 작동합니다. 575 00:28:58,780 --> 00:29:03,790 그리고 유일한 방법은 정말해야 할 일 ,, 연습을 연습을 연습하는 것입니다. 576 00:29:03,790 --> 00:29:06,740 내가 더그 로이드 해요,이 CS50입니다. 577 00:29:06,740 --> 00:29:08,647