¿Cuál es la mejor manera de aprender SQL y cuánto tiempo lleva?

Quieres aprender SQL. Aquí hay un crashcourse ..

He leído en alguna parte que un analista que no sabe SQL no vale la pena . Y eso me parece cierto en todos los sentidos del mundo. Así que felicidades por tomar la decisión de empezar con él.

Ahora, la mejor manera de aprender SQL será ensuciarse las manos con él. No recomendaré el uso de recetas basadas en web para SQL, ya que no puede usar sus propios datos con esas. También te aconsejaré que aprendas el tipo de SQL de mySQL, que es:

  1. Fuente abierta: El mejor tipo de fuente 🙂
  2. Fácil de instalar en su propio ordenador portátil.
  3. Tiene un gran cliente llamado mySQL Workbench.

Ahora para ponerlo en funcionamiento aquí hay algunos consejos sobre cómo configurar con mySQL.

Puede descargar mySQL para su sistema particular (MACOSX, Linux, Windows) desde:

Descargar MySQL Community Server

Una vez que lo consiga, instale mySQL Workbench para hacer su vida más fácil:

Descargar MySQL Workbench

Conéctese con el servidor mySQL utilizando mySQL Workbench.

Los pasos anteriores pueden tardar un tiempo en hacerlo bien y es posible que tenga que volver un par de veces a Google y Stack Exchange para que funcione.

Y luego intenta instalar algunos datos para que practiques.

Ahora si tienes tus propios datos para trabajar. Entonces bien y bien. Puedes subirlo a varias tablas usando los siguientes comandos:

CREAR TABLA su_datos (col1 entero, col2 varchar (255), col3 doble)

CARGAR DATOS LOCALES DE INFILLO ‘/datapath/data.csv’
EN TABLA tus_datos
CAMPOS TERMINADOS POR ‘,’
ENCERRADA POR ‘”‘
LÍNEAS TERMINADAS POR ‘\ n’
IGNORAR 1 FILA;

De lo contrario, puede usar la base de datos Sakila que puede instalar usando los siguientes tres pasos:

  • Otra documentación de MySQL: busque Sakila y descargue el archivo zip
  • Descomprima el archivo.
  • Vaya a mySQL Workbench y seleccione Archivo >> Ejecutar script SQL >> seleccione la ubicación de sakila-db / sakila-schema.sql
  • Vaya a mySQL Workbench y seleccione Archivo >> Ejecutar script SQL >> seleccione la ubicación de sakila-db / sakila-data.sql

Ahora tienes algunos datos contigo. Ahora hemos aprendido cómo configurar un servidor SQL y debemos comenzar por escribir algunas consultas:

  • Intente comprender el esquema de la base de datos Sakila utilizando el documento de esquema y mySQL Workbench. El documento del esquema está aquí: Base de datos de muestra de Sakila :: 5 Estructura
  • Ahora la sintaxis básica de la mayoría de las consultas de mySQL es:

SELECCIONAR col1,
sum (col2) como col2sum,
avg (col3) como col3avg
FROM nombre_tabla
DONDE col4 = ‘some_value’
GRUPO POR COL1
ORDEN POR COL2sum DESC;

  • La consulta anterior le ayudará con la mayoría de las cosas simples que desea encontrar en una base de datos. Por ejemplo: Digamos que quería averiguar cómo las diferentes películas con clasificación de censura se cronometran de manera diferente, puede usar:

SELECCIONE la clasificación, avg (longitud) como length_avg FROM sakila.film group por orden de clasificación por length_avg desc;

  • Lo principal sobre el aprendizaje de SQL es aprender a formular algunas preguntas sobre lo que le gustaría saber. Por ejemplo: intente averiguar todas las películas que se lanzaron en el año 2006. o. Intente encontrar todas las películas que tengan una clasificación de PG y una duración superior a 50 minutos. Puede hacer esto ejecutando lo siguiente en mySQL Workbench:

seleccione * de sakila.film donde release_year = 2006;
seleccione * de sakila.film donde longitud> 50 y calificación = “PG”;

  • Lo siguiente que querría aprender es cómo hacer uniones. Pero no vaya allí hasta que se sienta muy cómodo con las consultas anteriores. Ahora las uniones son una parte integral y muy importante de una base de datos mySQL y es necesario comprenderlas.

Este es uno de los mejores elementos visuales que tengo para explicarte. Para darle un caso de uso, volvamos a nuestra base de datos de Sakila:

Supongamos que desea averiguar cuántas copias de cada película tenemos en nuestro inventario. Puedes conseguir eso usando:

SELECCIONE film_id, count (film_id) como num_copies DESDE sakila.inventory group by film_id orden por num_copies desc;

Pero tu jefe quería obtener el nombre de la película. Este resultado no nos sirve de nada. Fíjate y ve que la tabla ‘film’ tiene film_id así como el título de la película. Así que está seguro de que puede obtener los datos, pero aún no sabe cómo. Viene se une al rescate. Deberá agregar un título a la tabla de inventario. Puedes hacerlo usando:

SELECCIONE A. *, B.title from sakila.inventory A left join sakila.film B en A.film_id = B.film_id

Esto agregará otra columna a su tabla de inventario. Como se puede observar, hay películas en la tabla de películas que no tenemos en el inventario. Utilizamos una combinación izquierda, ya que queríamos mantener lo que está en la tabla de inventario y unirlo con su contraparte correspondiente en la tabla de la película y no todo en la tabla de la película.

El resultado de la operación anterior es:

Así que ahora tenemos el título como otro campo en los datos. Esto es justo lo que queríamos. Pero antes de seguir adelante, primero debemos entender el concepto de consultas internas:

Consulta interna:

Ahora tienes una consulta que puede darte el resultado anterior. Una cosa que puedes hacer es crear una nueva tabla usando

crear tabla sakila.temp_table como
SELECCIONE A. *, B.title from sakila.inventory A left join sakila.film B en A.film_id = B.film_id;

Y luego use un grupo simple por operación usando:

seleccione el título, contar (título) como num_copies del grupo sakila.temp_table por orden de título por num_copies desc;

Pero esto es como dos pasos demasiados. SQL le proporciona el concepto de consulta interna solo para este tipo de problemas. En su lugar, puede escribir todo esto en una sola consulta usando:

seleccione temp.title, count (temp.title) como num_copies desde
(SELECCIONE A. *, B.título de sakila.inventory A left join sakila.film B en A.film_id = B.film_id) temp
grupo por título
ordenar por num_copies desc;

Y voila el resultado es:

Lo que hicimos fue intercalar nuestra primera consulta entre paréntesis y le dio a esa tabla un alias “temp”. Luego hicimos el grupo por operaciones considerando “temp” tal como consideraríamos cualquier tabla.

  • Si puede comprender esto, ya sabe más de SQL que la mayoría de las personas que he visto usando SQL. Lo siguiente a hacer: la práctica. Trate de formular sus propias preguntas en su propio conjunto de datos e intente encontrar la respuesta. Puede que te sientas frustrado al principio, pero considera a Google como tu amigo aquí.

Espero eso ayude !!!!

Esto variará de persona a persona. Cada uno tiene su propia curva de aprendizaje. Hay varias cosas que lo ayudarán: ¿conoce y comprende las estructuras de la base de datos, conoce algún lenguaje de programación, tiene acceso a una base de datos de prueba para usar?

He enseñado a docenas de personas con diferentes niveles de habilidad y experiencia con SQL, y la mejor herramienta de entrenamiento que he encontrado es ver ejemplos del mundo real y jugar con ellos en una base de datos de prueba, una base de datos de prueba MUY segregada. Si analiza una base de datos existente y revisa el código detrás de varias consultas / vistas / procedimientos / etc, puede familiarizarse con SQL muy rápidamente. Particularmente si ya está familiarizado con los datos en sí.

En general, he encontrado que las personas pueden recibir capacitación hasta el punto de que pueden generar consultas e informes ad hoc simples en unas pocas semanas con cierta confiabilidad. Algunos conceptos que prácticamente no conozco a nadie, sin importar qué tan experimentados sean (intente explicar cómo Oracle interpretará varias combinaciones externas en subcláusulas separadas en algún momento para un ejercicio que solo puede describirse como autoinmolable).

Para obtener información sobre la visita de SQL, visite https://hackr.io/tutorials/learn

W3 Schools es bueno para aprender SQL. Abarca casi todos los conceptos. Sin embargo, no se limite a leer. SQL se aprende mejor practicando.

Acepta diferentes problemas e intenta escribir consultas para el mismo. Si estás atascado, consulta las escuelas W3 y otros recursos. Existe la opción de ejecutar consultas en el sitio con una base de datos lo suficientemente grande como para trabajar en: Tryit Editor v1.5 de SQL. Puede intentar ejecutar diferentes consultas y explorar los resultados que obtiene.

Comprender los conceptos es importante. Tómese su tiempo para entender cada concepto. El solo hecho de saber la sintaxis no te ayudará.
Por ejemplo: si tiene que realizar una combinación interna, debe conocer el concepto de clave externa y su dependencia.

A medida que vaya aprendiendo, continúe ejecutando consultas complejas como consultas anidadas (2 o 3 o incluso 4), uniones complejas (interior, exterior derecho, exterior izquierdo), etc. También se puede obtener un solo resultado de varias maneras. No se limite a un método. Explorar
por ejemplo: puede usar dos consultas anidadas usando IN o simplemente use una operación de unión .

SQL es fácil y divertido de aprender. Puede aprender el SQL básico en una semana solo si pasa de 3 a 4 horas diarias tratando de entender todos los conceptos y practicando simultáneamente.

En cuanto al libro de referencia, Database System Concepts by Korth es un buen libro para aprender bases de datos y conceptos de SQL.

Recursos:
Conceptos del sistema de base de datos Amazon Link- Compre los conceptos de sistemas de base de datos Sexta edición Libro en línea a precios bajos en la India

Yale fuente abierta ppts. de Conceptos del sistema de bases de datos – Conceptos del sistema de bases de datos – 6ª edición

Feliz aprendizaje 🙂

Odiaba SQL … desde el principio como estudiante en la universidad …

Antes de que empieces a juzgarme, ¡tenía mis razones! ¿Puedes creer que me pidieron que aprendiera SQL sin siquiera sentarme frente a una terminal? Como si alguien me pidiera que creyera que existe algo llamado una base de datos y que puede almacenar y consultar datos en ella … y el método para hacerlo usando SQL y no tenía ningún sentido.

Por lo tanto, casi no podía aprender nada de SQL y nada relacionado con las bases de datos en la universidad. Mi amigo Ramkumar Nagarajan puede atestiguarlo ya que fue él quien me ayudó a aprobar el examen, ¡no ayudándome a prepararme para el examen, sino dejándome echar un vistazo a lo que estaba escribiendo durante el examen! (que es toda otra historia)

De todos modos Llegando a la pregunta de: “¿Cuál es la mejor manera de aprender SQL?”

TL; DR: la mejor manera de aprender SQL no es comenzar con SQL, sino comenzar con datos que usted conoce, con los cuales puede comprender las relaciones. Una vez que tenga dichos datos, es muy fácil llegar a qué estructura de base de datos se necesita para conservar sus datos (lea esto como “normalización” y BCNF) y qué consultas necesita escribir para obtener los datos que desea de la base de datos con relaciones adecuadas

Respuesta larga –

Con casi ningún conocimiento práctico de SQL cuando comencé en un proyecto, tuve la oportunidad de crear / trabajar en una aplicación que requería la persistencia y el procesamiento de datos de facturas. Tuvimos que diseñar la base de datos y todo el sistema, por supuesto. Entonces, así es como empecé.

Analicé los datos de la factura y descubrí que tenía una sección de resumen (que describe el ciclo de facturación, el valor en dólares, el número de cuenta) y la sección de detalle / desglose de primer nivel (como, por ejemplo, la cantidad de llamadas internacionales que contribuyó a su factura general). valor en dólares en la factura de un teléfono celular y la cantidad de Internet) y un nivel de línea / desglose completo (como las llamadas realizadas a qué números, la duración de las llamadas, etc.).

Una vez que estuvo disponible, fue fácil tener estos datos a ciegas en una hoja de cálculo y comenzar a aplicar los formularios normales y llegar a las estructuras de tabla necesarias.

A partir de ahí, se trató de resolver sus necesidades comerciales. Creación de secuencias (para claves primarias), índices (para eficiencias de consulta), restricciones (para la consistencia de los datos), roles (para la gestión de permisos del usuario) y concesiones (para la concesión de permisos) y la unión de tablas y la combinación de datos de manera significativa. Todo comenzó a tener sentido y adivinar qué estaba usando para hacer todo esto, SQL y ni siquiera nos dimos cuenta de que era el mismo tipo que odiaba SQL antes de comenzar a amar lo que estaba aprendiendo y haciendo.

Entonces, encuentre un propósito y SQL seguirá … o encuentre un jefe al que le guste SQL y sucederá de todos modos

Nivel 1.

Paso 1.

Descargue la versión gratuita de Microsoft e instálela.

Paso 2.

Descargue la base de datos de adventureworks gratuita de Microsoft e instálela.

Paso 3.

Buscar y practicar combinaciones, practicar CTE y usar la tabla temporal utilizando T-sql (simplemente es un script).

Etapa 4.

Aprende a escribir la estructura lógica, puedes encontrar ejemplos en la web. Cuanto más complejo, más pequeño sea el tamaño y más rápido en rendimiento (producción), mejor será su experiencia.

Nivel 2.

Paso 1.

Comience a aprender sobre crear, eliminar, eliminar tablas, etc., utilizando Query. También puede hacer esto haciendo clic con el botón derecho en los menús, pero eso es fácil de jugar.

Paso 2.

Aprender qué son los procedimientos almacenados. Intente y trate de escribir procedimientos almacenados con estructuras lógicas complejas de consulta.

Habría alcanzado un nivel estándar de 5 estrellas de personal / desarrollador de informes.

A partir de ahí eligió la ruta de un desarrollador o DBA.

Entonces hay más que eso. Espero que esto ayude.

Dominar Oracle SQL

Muy buen libro, cubre todo lo que necesita saber, desde lo básico hasta lo avanzado.
Es para la sintaxis de Oracle SQL, pero eso es bueno, porque Oracle estaba liderando el proceso de enriquecimiento y desarrollo del lenguaje SQL. Puede cambiar fácilmente a otros tipos de SQL después de aprender el núcleo del lenguaje SQL.

Y, por supuesto… ejercicio, ejercicio, ejercicio. Instale cualquiera de las bases de datos ligeras (no Oracle … quizás solo la edición Express) … incluso algunas “micro bases de datos” como SQLite … cree un modelo de esquema de base de datos con un par de tablas con diferentes relaciones entre ellas (uno a uno, uno a muchos , muchos a muchos …), rellene esas tablas con algunos datos, y luego intente escribir diferentes tipos de consultas SQL, que encontró en el libro (este o cualquier otro libro). El error de prueba es la única forma de aprender SQL correctamente, para que pueda ser un “profesional SQL”.

SQL no es como ningún otro lenguaje de programación “típico” … está diseñado específicamente para trabajar con datos estructurados, organizados y almacenados en tablas de bases de datos. Entonces, como tal, tiene sus propias reglas y regulaciones … pero ya no existe una herramienta poderosa para extraer, agregar, calcular, presentar datos en forma relacional.

¿Sabes cómo se ven las hojas de cálculo de Excel? SQL es solo una forma estándar de obtener datos de lo que básicamente son hojas de cálculo Excel. Eso es todo.

También está ya en un 90% en inglés simple, y las partes que usan símbolos son como el bebé regex.

Lo que estoy tratando de decir es que incluso si algunas consultas son complejas, ingresar a SQL es muy fácil. Solo elige un proyecto y comienza a usarlo.

Puedes intentar leer las reglas, pero es probable que sin aplicarlas, te olvides muy rápido.

Solo úsalo y busca en Google el resto.

Ni siquiera necesitas un fondo de codificación.

Inicie su servidor de sql preferido (el mío es postgres por cierto) y comience a escribir consultas en la consola como migraciones, cree usuarios, bases de datos, tablas. Alterar estas tablas agregar índices. Si tiene una ventana acoplable en su computadora, simplemente inicie un contenedor con alguna imagen.

O si tiene un buen conocimiento sobre algún lenguaje de programación, escriba un pequeño back-end que maneje un conjunto de datos e intente crear consultas muy específicas para sus datos, incluidas tablas unidas, límites, y si desea hacerlo de la manera más difícil, intente generar el json Dentro de la base de datos.

Aprender SQL no es nada diferente de aprender cualquier lenguaje de programación. Necesitarás practicarlo.

Lenguaje de consulta estructurado SQL.

SQL está tan bien estructurado que no le llevará mucho tiempo aprenderlo.

Cada una de sus palabras clave realiza un trabajo simple y usted tiene que dominar todas esas palabras clave y sus funciones .

Esa es la forma más fácil de aprender SQL.

Busque tutoriales en línea como Tutorial de SQL o Tutorial de SQL y PRÁCTICO junto con el aprendizaje Los tutoriales.

Después de aprender lo básico, elija un tipo de base de datos SQL entre los siguientes: SQLSERVER, MySQL, postgresql, SQLite o cualquier otra cosa que desee. Cada uno de estos tiene algunas palabras clave o funcionalidad diferentes, pero realiza el mismo tipo de operación.

Feliz aprendizaje

El problema es, ¿cuál es su definición de “aprender”?

Se puede obtener una base sólida en una o dos semanas, tal vez un mes. Mira esto:

Tutorial SQL

El problema es que no existe el SQL estándar. Hay MySQL, Oracle SQL, MS SQL y similares. Su fortaleza como programador de SQL será conocer la implementación particular de SQL relevante para la tarea.

Mi consejo es obtener la exposición general al SQL básico, y luego detenerse allí o estudiar en profundidad el dialecto de SQL que le resulte más relevante, y aprovechar al máximo sus características, según lo exija la naturaleza del proyecto.

Estos 2 cursos te ayudarán a aprender SQL.

  1. Fundamentos de SQL
  2. Resolver desafíos de código SQL

Para la práctica puedes probar SQL Tryit Editor v1.5

SQL es capaz de una complejidad masiva, pero los conceptos básicos son relativamente fáciles de aprender para cualquier persona que hable inglés. SQL puede considerarse una forma estructurada de inglés. Sin embargo, necesitas alguna orientación. Mi libro más vendido, SQL for Dummies es un buen lugar para comenzar. Actualmente estoy desarrollando un curso en línea titulado, Obtenga lo que desea de bases de datos con SQL. Para obtener información sobre el curso, solicite mi Manual de Inyección de Inyección de SQL gratis aquí: All Things SQL.

Este es el formato de consulta SQL general que utilizará para aproximadamente el 80% de sus búsquedas:

SELECCIONAR field2 COMO “Apellido”,
field1 COMO “Nombre”,
field3 COMO “Información”
DE myContactTable
DONDE [Apellido] ME GUSTA (‘A%’)
ORDEN POR [Apellido], [Nombre];

Para agregar un registro a una tabla simple que contenga los campos anteriores que usaría:

INSERT INTO myContactTable (field1, field2, field3)
VALORES (“John”, “Smith”, “(222) 555–1234”);

La mejor manera de aprender SQL o MySQL es aprender algo sobre si se mostrarán los datos. La mayoría de las personas se desaniman mientras que el término del aprendizaje debido a la producción es tan poco claro.

Así que sean archivos de texto, Php, VB o incluso shell de Linux. Incluso puedes ir por GUI como HeidiSQL. Evita la aburrida línea de comandos. Nunca aprenderás. A la gente máxima no le gusta la línea de comandos, aunque no hay razón para odiarla.

Obtenga un sistema en el que su salida se vea en formato normal, como un archivo de texto, una página web o un software. Apréndelo primero si no es solo un editor de sql.

Lo aprendí en 2 semanas con HeidiSQL y Navicat.

Amé a ambos, aunque el juicio de Navicat expiró pronto. Nunca pensé que después de no entender C ++, Java y VB; Me gustaría un descanso en PHP, sistema MySQL.

Me di cuenta de que hasta y a menos que obtuviera una versión GUI podía entender. También me di cuenta de que la mayoría de las personas enfrentan este problema, pero no son conscientes de que este es el problema.

No es que tengan menos lógica, sino porque disminuye su entusiasmo.

Todo lo mejor.

Aquí hay un ejemplo de un sitio web que he creado en PHP / MySQL.

CicerTranDB

Buena pregunta.

Bueno, espero que estés tan interesado en aprender sobre SQL. Si quieres empezar desde el chatarra, prueba teamtreehouse.com

Proporcionan alimentación de cuchara sobre todos y cada uno de los conceptos en SQL y también, terreno de juego de SQL para practicar algunos de los ejemplos.

No solo SQL, sino también Java, HTML + CSS, Python, Ruby on rails, Php, c / c ++ … y algunos conceptos de codificación más.

Todo lo mejor.

No debería tomar mucho tiempo (días) y creo que la mejor manera es tener un proyecto en el que estés trabajando mientras lo aprendes, preferiblemente un proyecto que signifique algo para ti.

Algunos recursos:

  • Introducción a las bases de datos
  • El tutorial de SQL para el análisis de datos
  • ¿Cómo aprendo SQL? ¿Cuáles son algunos buenos recursos en línea, como sitios web, blogs o videos?

El tiempo que se tarda en aprender SQL depende de su conocimiento actual de programación de computadoras y exactamente cuánto desea aprender. Si ya tiene una carrera en programación de computadoras o si tiene experiencia en esta área, aprender el SQL básico puede tomar de dos a tres semanas. Ya sea que sea un principiante o un programador experimentado, aprender SQL es rápido y fácil con la capacitación adecuada. Puedes elegir tomar un curso de SQL en una universidad local o en un centro de capacitación en computación.

SQL es un lenguaje de programación de propósito especial diseñado para administrar datos en una base de datos relacional, y es utilizado por una gran cantidad de aplicaciones y organizaciones. Mire este video para aprender los conceptos básicos de SQL en 1 hora.

Nunca realmente “sabes” SQL.

Las bases de datos son extraordinariamente complejas. En su lugar, elige un proyecto, comienza a agregar funciones y busca en Google las características de SQL a medida que avanza.

Estoy usando SQL en este momento. Lo he estado usando durante 10 años. SQL no es realmente complicado en relación con la programación en general, pero es una cosa que haces.

Puedes hacer un tutorial si quieres. Google eso. La mejor manera es hacer proyectos que lo necesiten. Así es como aprendes cualquier cosa en el software. A menos que esté tomando clases en la escuela, las reglas de la experiencia práctica.

El problema es que realmente necesitas saber solo el 5% de SQL para hacer el 95% de las cosas que te interesan. Por lo tanto, aprender cosas de SQL al azar es generalmente un desperdicio, aunque no siempre.

Yo diría que aprender SQL es más fácil que aprender un nuevo tipo de lenguaje, pero más difícil que regex o html.

En la Escuela SQL (www.sqlschool.com) brindamos capacitación práctica en tiempo real en SQL Server con laboratorio práctico, acceso a servidores 24×7 y proyectos en tiempo real (hasta 2 proyectos). Nos aseguramos de ofrecer los mejores ejemplos en un tono altamente interactivo y en línea.

Puede visitar el entrenamiento de SQL Server T-SQL LIVE y el video para ver videos de demostración gratuita.