1 00:00:00,000 --> 00:00:02,000 [Powered by Google Translate] [SQL] 2 00:00:02,000 --> 00:00:04,000 [CHRISTOPHER BARTOLOMÉ] [HARVARD UNIVERSITY] 3 00:00:04,000 --> 00:00:06,000 [ESTO ES CS50] [CS50 TV] 4 00:00:07,950 --> 00:00:11,620 Así, los programadores utilizan bases de datos como herramienta para almacenar y organizar 5 00:00:11,620 --> 00:00:13,620 nuestros datos persistentes dentro de las tablas. 6 00:00:13,620 --> 00:00:18,960 Esto significa que los datos se almacenan en no volátiles medianas tales como un disco duro, 7 00:00:18,960 --> 00:00:22,940 e incluso cuando el ordenador está apagado, los datos sigue intacta. 8 00:00:22,940 --> 00:00:29,530 Y, como programadores, nuestros programas utilizan bases de datos para escenarios tales como el almacenamiento 9 00:00:29,530 --> 00:00:32,890 usuario de la información de los formularios web, mirando inventario, 10 00:00:32,890 --> 00:00:36,210 o actualización de la información sobre los sitios mostrar. 11 00:00:37,150 --> 00:00:40,070 Pero ¿cómo podemos interactuar con nuestra base de datos, 12 00:00:40,070 --> 00:00:43,150 o ¿qué es lo que utilizamos para leer, almacenar, eliminar, 13 00:00:43,150 --> 00:00:46,070 y actualizar nuestros datos en estas tablas de base de datos? 14 00:00:47,280 --> 00:00:49,700 Bueno, la respuesta es que se utiliza un tipo especial de lenguaje de base de datos 15 00:00:49,700 --> 00:00:53,400 que interactúa directamente con las tablas de base de datos. 16 00:00:53,400 --> 00:00:56,740 Su nombre está estructurado Query Language, 17 00:00:56,740 --> 00:00:58,740 [Structured Query Language] 18 00:00:58,740 --> 00:01:00,740 o lo que me refiero como SQL. 19 00:01:00,740 --> 00:01:05,100 >> Ahora, [Sequel], o SQL, no es un lenguaje de programación, 20 00:01:05,100 --> 00:01:08,580 pero en cambio, es un lenguaje que proporciona un conjunto estándar de comandos 21 00:01:08,580 --> 00:01:13,520 para recuperar y manipular los datos de una variedad de sistemas de gestión de base de datos. 22 00:01:13,520 --> 00:01:17,630 A los efectos del CS50, vamos a ir más de cuatro comandos básicos: 23 00:01:17,630 --> 00:01:21,210 seleccionar, insertar, actualizar y eliminar. 24 00:01:21,210 --> 00:01:26,230 Además, vamos a utilizar una interfaz web base de datos llamada phpMyAdmin, 25 00:01:26,230 --> 00:01:29,890 que instalar en el aparato para escribir nuestras sentencias SQL. 26 00:01:30,830 --> 00:01:33,050 Por lo tanto, para ayudarle a recordar estos comandos, 27 00:01:33,050 --> 00:01:37,080 He traído algunos bizcochos en un armario para ayudar a nuestros escenarios. 28 00:01:39,650 --> 00:01:42,210 Digamos que usted tiene una base de datos de la magdalena, 29 00:01:42,210 --> 00:01:44,490 donde se almacena toda la información acerca de sus pastelitos. 30 00:01:44,490 --> 00:01:48,220 Ahora, las bases de datos puede contener muchas tablas 31 00:01:48,220 --> 00:01:50,950 y las propias tablas pueden contener varias columnas. 32 00:01:50,950 --> 00:01:57,020 Dentro de nuestra base de datos magdalena, tenemos una tabla llamada cupcake_cupboard. 33 00:01:57,020 --> 00:02:00,500 Esta tabla se utiliza para almacenar toda la información acerca de las magdalenas 34 00:02:00,500 --> 00:02:02,990 que son, bueno, en tu armario. 35 00:02:02,990 --> 00:02:07,770 Las columnas que se encuentran dentro de la tabla representan los atributos de una magdalena. 36 00:02:07,770 --> 00:02:14,560 Por ejemplo, las columnas de la cupcake_cupboard son 37 00:02:14,560 --> 00:02:15,920 Torta de ID, CakeType, CakeColor, y CakeIsNice. 38 00:02:15,920 --> 00:02:23,040 Esta columna con tipo booleano se utiliza para determinar si el pastel es agradable o no agradable. 39 00:02:23,040 --> 00:02:26,560 Vamos a empezar con la escritura de una instrucción select. 40 00:02:26,560 --> 00:02:32,160 Sentencias SELECT se utilizan para recuperar datos de una tabla de base de datos en particular. 41 00:02:32,160 --> 00:02:34,890 En este escenario, queremos saberlo todo 42 00:02:34,890 --> 00:02:39,080 sobre todo las magdalenas que existen en nuestro armario. 43 00:02:39,080 --> 00:02:48,670 La sintaxis para hacerlo es "Select" estrella espacio, o *, espacio de espacio de nuestra mesa, 44 00:02:48,670 --> 00:02:52,050 que es cupcake_cupboard. 45 00:02:52,050 --> 00:02:54,640 Vamos a seguir adelante y ejecutar eso. 46 00:02:56,670 --> 00:03:00,140 >> Como podemos ver, estos son todos los cupcakes en nuestro armario. 47 00:03:00,140 --> 00:03:05,110 Es importante tener en cuenta que * o asterisco, es un carácter comodín 48 00:03:05,110 --> 00:03:08,830 que denota la reunión de todas las columnas de alguna tabla. 49 00:03:08,830 --> 00:03:13,650 Normalmente, se puede acceder a una columna o columnas específicas 50 00:03:13,650 --> 00:03:16,950 al reemplazar * con el nombre real de la columna. 51 00:03:16,950 --> 00:03:21,220 Si queremos columnas múltiples, pero no todos, se puede lograr este 52 00:03:21,220 --> 00:03:25,620 escribiendo los nombres de las columnas que delimitan cada columna con una coma. 53 00:03:25,620 --> 00:03:28,620 Por ejemplo, vamos a recuperar sólo el CakeId y CakeType en la tabla cupcake_cupboard. 54 00:03:28,620 --> 00:03:38,370 La sintaxis para hacer esto es: SELECT espacio coma CakeID 55 00:03:38,370 --> 00:03:44,370 CakeType espacio de nuestra mesa, cupcake_cupboard. 56 00:03:44,370 --> 00:03:46,370 Vamos a seguir adelante y ejecutar esto. 57 00:03:49,340 --> 00:03:52,670 Y aquí, ahora sólo tienen las dos columnas que se especifican 58 00:03:52,670 --> 00:03:54,670 para cada cupcake en nuestro armario. 59 00:03:54,670 --> 00:03:57,710 También puede refinar los resultados de la consulta especificando 60 00:03:57,710 --> 00:04:00,910 la cláusula "Where" justo después del nombre de la tabla. 61 00:04:02,000 --> 00:04:05,410 Por ejemplo, parece que hay una magdalena en nuestro armario 62 00:04:05,410 --> 00:04:08,660 es decir, bueno, no tan bonita. 63 00:04:08,660 --> 00:04:13,950 Vamos a averiguar todas las magdalenas en nuestro armario que, bueno, no tan buen aspecto 64 00:04:13,950 --> 00:04:16,110 utilizando la cláusula "Where". 65 00:04:16,110 --> 00:04:26,390 La sintaxis para hacer esto es: SELECT * espacio espacio espacio DESDE cupcake_cupboard 66 00:04:26,390 --> 00:04:34,080 espacio donde el espacio nuestra columna condicional, en este caso CakeIsNice =, 67 00:04:34,080 --> 00:04:36,900 y el valor booleano de false. 68 00:04:36,900 --> 00:04:42,750 Es importante tener en cuenta que si está utilizando cadenas, se debe encerrar entre comillas simples. 69 00:04:42,750 --> 00:04:49,620 Esto es cierto para todas las cadenas de SQL, o, en términos de bases de datos SQL, las variantes de caracteres 70 00:04:49,620 --> 00:04:51,620 conocido como Varchar tipo de datos. 71 00:04:51,620 --> 00:04:57,660 En este caso, estamos usando Verdadero o Falso, que es un valor booleano y no una cadena. 72 00:04:59,120 --> 00:05:00,660 Vamos a seguir adelante y ejecutar este comando. 73 00:05:00,660 --> 00:05:05,340 >> Y mira, es el caso que tenemos 1 chocolate 74 00:05:05,340 --> 00:05:07,920 no tan agradable magdalena en nuestro armario. 75 00:05:09,620 --> 00:05:11,460 A continuación, vamos a escribir una instrucción de inserción. 76 00:05:11,460 --> 00:05:15,560 Instrucciones de inserción se utiliza para insertar o añadir 77 00:05:15,560 --> 00:05:17,770 filas de datos en la tabla de base de datos. 78 00:05:17,770 --> 00:05:23,160 Revisando nuestro escenario, vamos a suponer que nos acaba de hacer una magdalena nuevo. 79 00:05:25,910 --> 00:05:30,080 Puesto que estamos muy organizado comedores de la magdalena, vamos a tener que insertar este magdalena nuevo 80 00:05:30,080 --> 00:05:32,330 en nuestra mesa cupcake_cupboard. 81 00:05:32,330 --> 00:05:40,690 La sintaxis para hacerlo es la siguiente: Inserte el espacio al espacio nuestra mesa, 82 00:05:40,690 --> 00:05:46,830 cupcake_cupboard, espacio (, 83 00:05:46,830 --> 00:05:51,060 y aquí se especifican los nombres de columnas, delimitado por comas, 84 00:05:51,060 --> 00:05:59,790 Coma CakeType CakeColor coma CakeIsNice) de espacio. 85 00:05:59,790 --> 00:06:06,540 Después de esto, escribimos la palabra espacio VALUES (y aquí 86 00:06:06,540 --> 00:06:12,170 entramos en el valor de cada columna, respectivamente, también delimitado por una coma. 87 00:06:12,170 --> 00:06:17,830 Comillas simples, porque todos ellos son valores VARCHAR vamos a rodearlos con comillas simples, 88 00:06:17,830 --> 00:06:26,780 Coma 'coma' MANTEQUILLA DE MANÍ LIGHT BROWN 'True. 89 00:06:26,780 --> 00:06:30,480 Ahora, es importante dar a cada fila un número único para identificarse. 90 00:06:30,480 --> 00:06:33,660 Autoincrementing una columna proporciona esto como 91 00:06:33,660 --> 00:06:37,410  "No hay dos identificadores de los mismos nunca pueden existir en esta mesa". 92 00:06:37,410 --> 00:06:39,480 Vamos a seguir adelante y ejecutar. 93 00:06:39,480 --> 00:06:45,380 Ahí vamos, todo organizado. 94 00:06:49,720 --> 00:06:52,100 >> La siguiente sentencia SQL que vamos a escribir es una instrucción de actualización. 95 00:06:52,100 --> 00:06:55,650 La declaración de actualización puede ser utilizada para modificar los datos dentro de una columna 96 00:06:55,650 --> 00:06:58,440 para cualquier fila existente en la tabla de base de datos. 97 00:06:59,670 --> 00:07:03,420 Anteriormente en este escenario, usando una instrucción de selección, hemos identificado una magdalena 98 00:07:03,420 --> 00:07:08,300 dentro de nuestra mesa cupcake_cupboard, cuyo valor CakeIsNice era falsa. 99 00:07:08,300 --> 00:07:12,050 Vamos a suponer que, si bien nuestro magdalena mantequilla de maní estaba en el horno, 100 00:07:12,050 --> 00:07:15,790 hicimos nuestra magdalena no tan agradable muy agradable. 101 00:07:18,020 --> 00:07:22,240 Al estar tan excepcionalmente organizado, queremos que nuestra magdalena para reflejar este valor 102 00:07:22,240 --> 00:07:24,240 en nuestra mesa cupcake_cupboard. 103 00:07:24,240 --> 00:07:28,710 Por lo tanto, vamos a actualizar nuestra magdalena de chocolate en la base de datos para reflejar esto. 104 00:07:28,710 --> 00:07:39,720 La sintaxis es: espacio ACTUALIZACIÓN nuestra mesa, cupcake_cupboard, espacio espacio SET 105 00:07:39,720 --> 00:07:44,240 la columna que desea cambiar, CakeIsNice =. 106 00:07:44,240 --> 00:07:49,210 Entonces aquí ponemos nuestro espacio verdadero valor nuevo. 107 00:07:49,210 --> 00:07:54,290 Ahora, debido a que no desea actualizar todas las filas con este valor, 108 00:07:54,290 --> 00:07:57,400 queremos proporcionar una cláusula "Where" que nos precisar 109 00:07:57,400 --> 00:07:59,830 a la fila exacta que queremos modificar. 110 00:07:59,830 --> 00:08:03,690 En este caso, se sabe que sólo hay una magdalena 111 00:08:03,690 --> 00:08:06,670 que tiene un valor de False CakeIsNice. 112 00:08:06,670 --> 00:08:11,030 Por otra parte, también se asegurará de que estamos actualizando la fila correcta 113 00:08:11,030 --> 00:08:13,030 mediante el uso de la "Y" cláusula. 114 00:08:14,340 --> 00:08:17,270 Usamos la "Y" cláusula de refinar nuestra consulta adicional. 115 00:08:17,270 --> 00:08:20,380 En este caso, porque sabemos que es la magdalena de chocolate, 116 00:08:20,380 --> 00:08:23,160 vamos a utilizar esta columna CakeType. 117 00:08:23,160 --> 00:08:31,500 Donde el espacio de nuestro espacio condicional columna CakeIsNice espacio = False, 118 00:08:31,500 --> 00:08:38,330 y el espacio CakeType = 'CHOCOLATE'. 119 00:08:38,330 --> 00:08:41,880 Por lo tanto, poner todo junto, esta declaración dice actualización 120 00:08:41,880 --> 00:08:44,670 encontrar todos los cupcakes en nuestro armario magdalena, 121 00:08:44,670 --> 00:08:50,520 y si hay una magdalena, cuya columna CakeIsNice contiene el valor False 122 00:08:50,520 --> 00:08:54,130 y CakeType contiene el chocolate de valor, 123 00:08:54,130 --> 00:08:58,240 queremos actualizar el valor de filas específico CakeIsNice en True. 124 00:08:58,240 --> 00:09:01,140 Por lo tanto, vamos a seguir adelante y ejecutar la sentencia. 125 00:09:03,860 --> 00:09:05,860 Y ahora, estamos organizados. 126 00:09:06,650 --> 00:09:09,220 >> Toda esta charla de magdalenas me ha hecho un poco de hambre. 127 00:09:09,220 --> 00:09:11,360 Creo que debería ayudarme a mí mismo a uno. 128 00:09:11,360 --> 00:09:17,670 Pero si realmente comer esta magdalena, yo debería al menos también eliminar su existencia 129 00:09:17,670 --> 00:09:19,670  desde nuestra mesa cupcake_cupboard. 130 00:09:20,650 --> 00:09:22,590 Para ello, utilizaremos el botón "Eliminar" declaración. 131 00:09:22,590 --> 00:09:27,400 El "Eliminar" estado de cuenta se puede utilizar para eliminar todas o algunas filas de la tabla. 132 00:09:27,400 --> 00:09:29,920 Si desea eliminar alguna fila específica de la mesa, 133 00:09:29,920 --> 00:09:34,360 entonces usted debe proporcionar una cláusula "Where", con lo que especifica una columna 134 00:09:34,360 --> 00:09:37,660 que debe ser único para la fila que desea eliminar. 135 00:09:37,660 --> 00:09:47,370 Esta es la sintaxis: DELETE espacio desde el espacio nuestra mesa, cupcake_cupboard, espacio. 136 00:09:47,370 --> 00:09:51,760 Ahora, en este punto, siempre que esté tan lejos en su sentencia delete 137 00:09:51,760 --> 00:09:54,240 usted quiere ser muy cuidadoso. 138 00:09:54,240 --> 00:09:59,970 Por ejemplo, si desea ejecutar esta consulta como es, sin proporcionar alguna cláusula "Where" 139 00:09:59,970 --> 00:10:04,500 Me gustaría perder todos los datos en esta tabla cupcake_cupboard, 140 00:10:04,500 --> 00:10:09,590 sino porque yo ya sé que mi ID de pastel son únicos, voy a utilizar 141 00:10:09,590 --> 00:10:12,410 la Red Velvet ID pastel para mi "Dónde" cláusula. 142 00:10:14,550 --> 00:10:20,670 Donde el espacio de nuestra columna, CakeID = 1. 143 00:10:20,670 --> 00:10:25,010 Debido a que este es un valor entero que no es necesario que lo rodean en comillas simples. 144 00:10:25,010 --> 00:10:27,020 Por lo tanto, vamos a ejecutar la sentencia. 145 00:10:33,560 --> 00:10:35,990 Bueno, ahora que hemos eliminado la existencia de este magdalena 146 00:10:35,990 --> 00:10:40,360 desde nuestra mesa cupcake_cupboard, sólo tenemos una cosa a la izquierda: 147 00:10:41,680 --> 00:10:43,680 Hacer desaparecer. 148 00:10:43,680 --> 00:10:46,990 Soy Christopher Bartholomew. Esto es CS50.