Después de contribuir a los millares de pedidos la ayuda programada en línea y tengo personalmente muchas teorías e ideas sobre cómo la gente debe aprender la programación y cómo ella debe considerar los problemas que ella se encuentra adentro. Este poste es el primer de muchos que miren en problemas comúnmente pedidos y den extremidades que si está leído debe solucionar algunos de ellos.
Mucha de mi experiencia se centra alrededor de bases de datos del SQL y como tal es una de las áreas donde pienso la gente debe entender las ideas centrales antes de que ella comience a hacer preguntas de otras. Conceptual, hay diez palabras claves principales en todas las variantes de la lengua del SQL que se utilicen para crear alteren y destruyan las tablas y las bases de datos; y a la entrada, modifique y quite los datos de esas tablas.
Usted está solamente listo para progresar con su SQL si usted puede leer este artículo entero y poder identificar las palabras abajo, para escribir más que se escribe, explique lo que significan y utilícelos en su base de datos de la opción sin referencia a otras fuentes. (la mayor parte de mis ejemplos serán ANSI dirigido SQL o mySQL estándar) hay mucho más que se pueden leer en estos asuntos pero abajo es las necesidades peladas necesarias para pasarle.
1. CREE LA TABLA
Antes de que usted pueda comenzar con el trabajo con datos, usted necesita un envase almacenarlo adentro. El envase en una base de datos del SQL se llama una tabla. Ésta es una serie de filas (donde cada artículo de datos se almacena) y columnas que están de los varios dato-tipos que se utilizan para identificar la fila particular y para contener los datos. La declaración del CREAR permite a una tabla ser hecha, especificando cualquier regla sobre qué se pueden contener en la tabla (y cómo él se puede poner en un índice).
Pues éste es un básico dirija; Apenas contornearé un simple creo la declaración y qué los componentes significan;
CREE el your_table_name de la TABLA (una internacional NO NULA, b VARCHAR (20));
Esto creará una tabla llamada el your_table_name con dos columnas, que es un número entero, que no permitirá ningunos valores nulos y b que sea una secuencia que puede contener caracteres hasta una longitud de 20.
Nota; hay otras opciones,
- usted puede tener discusiones que especifiquen para crear la tabla si no existe ya.
- Las tablas pueden ser creadas que son como otras tablas (que copian su definición)
- Las tablas pueden ser creadas usando una declaración selecta y copiando los datos devueltos de ella
- Las tablas temporales son las que no se escriben al disco y no se guardan permanentemente como las tablas sin la palabra clave temporal, y no se diseñan ser permanentes.
- Los apremios y los comentarios se pueden agregar a las columnas y a la tabla en conjunto
- Una llave primaria y otros índices pueden ser agregados; limitando la duplicación de datos y de aumentar su capacidad de búsqueda.
- Las llaves extranjeras pueden ser valores de restricción agregados que se insertarán dependiendo de los valores contenidos dentro de otras tablas.
- Hay muchos diversos datatypes que se pueden utilizar para llevar a cabo los datos para las columnas
- Los valores prefijados se pueden fijar para los datos.
- Si existe una tabla ya entonces usted no puede crearla - y un error puede ocurrir.
- Algunas bases de datos necesitan especificar al dueño como parte del nombre de la tabla (IE dbo.your_table_name del dbo por ejemplo)
2. ALTERAN LA TABLA
Una vez que se ha creado una tabla, puede llegar a ser necesario cambiar cómo los datos se pueden entrar en la tabla o cómo se almacenan los datos. Altere la tabla es el mecanismo a través de el cual estos cambios
ALTERE el your_table_name de la TABLA AGREGAN ColumnName VARCHAR (10) NO FALTA DE INFORMACIÓN;
ALTERE LA GOTA ColumnName del your_table_name de la TABLA;
ALTERE LA LLAVE PRIMARIA de la GOTA del your_table_name de la TABLA;
Si usted está agregando columnas o está agregando cosas a la tabla entonces las mismas reglas se aplican en cuanto a cree. Las mismas opciones de la declaración se pueden dar, como con los mismos tipos y restricciones del índice.
Usted puede quitar columnas refiriéndoles por nombre.
Usted puede quitar índices y restricciones especificando eso en la gota.
Algunas cosas a la nota:
- Usted no puede normalmente tener dos columnas con el mismo conocido (esto es relevante de crear y de alterar)
- Usted puede tener problemas el quitar de ciertas columnas si ellas área referida por otras llaves extranjeras
- Los problemas pueden ocurrir cuando los índices dependen de las columnas previstas para ser caído.
- Los índices no pueden ser agregados necesariamente si los datos contenidos en la tabla no reflejan las restricciones impuestas por el cambio.
3. TABLA DE LA GOTA
Your_table_name de la TABLA de la GOTA;
TABLA de la GOTA SI EXISTE el your_table_name;
El desecho de las tablas es tan fácil como refiriendo a la tabla que usted quiere quitar y decir la tabla de la gota. Cerciórese de que usted tener permisos para caer la tabla o la no pueda ir eso fácilmente. Algunas bases de datos del SQL apoyan SI existe el significado del sintaxis que no dará un error si no existe la tabla y usted intenta quitarlo, pero si entonces existe se quita. Semejantemente si usted está quitando las tablas que tienen dependencias sobre ellos las llaves extranjeras del IE entonces pueden no ir eso rápidamente.
4. PARTE MOVIBLE EN
Normalmente, el punto de todas sus habilidades de la base de datos del SQL es trabajar con datos. Hay muchas declaraciones que permiten la población de datos, pero el más de uso general sería la declaración del parte movible. El hace exactamente qué implica, él inserta filas de datos en la tabla. Hay tres variantes importantes. La primera variación especifica las columnas que los datos serán insertados en, incluyendo su orden y la otra especifica los datos que entrarán esas columnas.
PARTE MOVIBLE EN el your_table_name (first_column_name, another_column_name,…. )
VALORES (first_value, second_value,…. )
Otro método de aislar los datos que se insertarán está refiriendo a los datos contenidos dentro de la base de datos ya. Esto utiliza una declaración selecta normal según lo definido abajo:
PARTE MOVIBLE EN el your_table_name (col_name1, col_name2,…. ) SELECTO…
El método final es utilizar una declaración que fije el valor de cada columna que necesita ser alterado a otros valores usando una asignación de los iguales. No recomendaría el usar de este método.
Cosas a la nota:
- Algunas bases de datos del SQL permiten la inserción de filas múltiples en la ejecución de una declaración.
- La inserción de datos es controlada por las dependencias, cheques y las relaciones y si los datos fallan estos cheques entonces los errores pueden resultar.
- Cerciórese de que los datos estén en el tipo definido por el tipo de la columna.
- No todas las columnas necesitan necesariamente ser pobladas
- Hay muchas funciones que pueden manipular la forma de los datos.
- Los datos necesitan estar en un formato que se pueda convertir al tipo de datos correcto - cosas como el ′ del `23 se puede interpretar diferentemente que 23
- Las comas invertidas dentro de los datos pueden presentar problemas de la inserción y hay las funciones que pueden dirigir esto.
- Valide siempre cualquier dato que venga de las fuentes untrusted (los usuarios del IE)
- Si los campos de la autoincrementación o de la identidad entonces no se especifican omitirán el valor más alto de la tabla y agregarán generalmente uno.
- Observe que las funciones de la conversión pueden también necesitar ser utilizado si seleccionan de las columnas en una base de datos que no son iguales que su destinación.
- Las columnas se pueden seleccionar en una diversa orden que aparecen en la tabla de destinación también - no toda la necesidad de ser especificado.
- Los datos se pueden cambiar de la entrada antes de ser insertada, usando las funciones inherentes en el sql para el propósito.
- Usted puede utilizar generalmente parámetros para insertar valores en las tablas.
5. ACTUALIZACIÓN
First_column del your_table_name de la ACTUALIZACIÓN = value1 DETERMINADOS, second_column = value2,…. DONDE criteriaExists
Las columnas de datos pueden contener la información que es incorrecta o necesita ser modificada. El mecanismo que el SQL le da es la declaración de la actualización. Esto implicará típicamente solamente el modificar de los datos en una tabla, incluso si otras tablas se utilizan para los criterios. Sobre la actualización de la voluntad la tabla llamada your_table_name y asigna el valor en la primera columna igual al “value1” y al second_column al value2 donde hay criterios específicos (elaborados en debajo de donde). Si no hay criterios entonces cada fila es actualizada.
Cosas a la nota:
- Se efectúan los límites se pueden aplicar tan solamente un número de filas dado
- Otras tablas se pueden ensamblar en donde condición
- No es generalmente una buena idea al alias las tablas en la declaración de la actualización.
- El valor no tiene que ser fijo y puede referir a una manipulación de las columnas o de los constantes actuales o diversos.
- No todas las columnas necesitan ser efectuadas por la actualización.
6. CANCELACIÓN
CANCELACIÓN del your_table_name DONDE criteriaExists
La eliminación de filas de las tablas se alcanza usando la declaración de la cancelación. Esto es tan simple como identificando la tabla y los criterios las filas deben encontrarse y entonces especificando que usted quiere suprimir, usando una declaración similar a arriba. Los criterios se explican abajo.
Cosas a la nota:
- Los límites pueden ser aplicados especificando un número de filas máximo que se quitarán
- Las cancelaciones pueden tener problemas el referir de otras filas dentro de la misma tabla y que tales tablas temporales pueden necesitar para ser utilizado.
- Las cancelaciones pueden efectuar normalmente solamente una tabla a la vez (incluso si otra se liga para los propósitos de los criterios)
- La canceladura puede tener problemas si quitan dependencias dominantes extranjeras confiaron sobre con otras tablas.
7. SELECTO
Una declaración selecta normal aparecerá similar al siguiente
SELECTO definition_for_First_column como fc, t1.second_column,…. De tableName como T1 DONDE criteria_exists
Seleccione simplemente los identifys los datos para ser exhibido a través de las columnas. Observe que éste puede aparecer más de una vez en una pregunta si usted tiene una pregunta encajada (sub la pregunta) como parte de una definición de la columna (si vuelve solamente una columna y una fila) o como parte de (usando la pregunta como era una tabla) o en de donde condición (usando ella para probar o para refutar un sistema de criterios)
Cosas a la nota:
- Los errores ocurren a menudo porque no hay una definición de datos entre cada uno (a excepción del último)
- Algunas bases de datos tienen un límite 256 o 1024 de la columna
- La palabra clave DISTINTA después de que sea selecto dará solamente filas únicas (la fila entera debe ser única)
- El GRUPO CERCA en el final de la declaración puede efectuar qué se puede exhibir en el selecto
- Las columnas no tienen que ser de las tablas, ellas pueden ser constantes
- Las columnas pueden también representar matemáticas entre los constantes
- Las columnas se pueden pasar con funciones
- No es buena práctica tener columnas múltiples con el mismo nombre
- Las columnas pueden aliased usando una palabra para darle un nombre después de que un espacio después de que el IE de la definición de la columna (tableName.t1 como field1 o haciendo tablename.t2 xxx) que crearía dos columnas llamara field1 (1r ejemplo) y xxx como el segundo ejemplo
- El tablename no necesita necesariamente ser utilizado para tratar un campo, con tal que el nombre de campo sea único a esa tabla o subconsulta
- No necesita necesariamente a de o donde los criterios dependiendo de la base de datos
8. DE
De table_name
DE (subconsulta)
Esto se ve normalmente donde una declaración requiere la información referente a una tabla o un sistema de datos. En los primeros casos usted puede querer solamente utilizar esto referente a las tablas dadas, en panoramas más avanzados que usted puede seleccionar de una pregunta encajada. Esto está entre el más directo - donde básicamente todo después de que de deba ser una tabla, visión o algo que aparecen como una tabla o la visión (el IE tiene filas y columnas)
Cosas a la nota:
- Puede haber tablas múltiples o subconsultas en de la definición
- Las tablas o las subconsultas pueden ser IE de los nombres dados del table_name pues el T1 significaría que dondequiera que el T1 le fue referido se refirió a esa tabla
- La misma tabla o subconsulta puede ser épocas múltiples incluidas y cada uno se trata independientemente
- Todo enumerada como parte de de cláusula afectará la pregunta (incluso si no se trata específicamente) mientras que está ensamblando entre cada uno de estos conjuntos de datos.
9. DONDE
Usted no quiere ordinariamente ver cada pedazo de datos en una base de datos. Está el punto la restricción se vuelve de qué, basada sobre criterios entero del donde palabra clave.
Esencialmente donde las declaraciones leyeron como sus equivalentes ingleses. Tales que para cada fila - la base de datos pide, hace la aplicación de esta vuelta de la declaración verdad, si tan entonces exhibición la fila - si no no lo haga. Usted puede tener o las declaraciones y utilizar lógica compleja pero cada donde la declaración hierve abajo de esta simplificación.
Ejemplos por ejemplo:
DONDE t1.currency = “AUD”
DONDE t1.field1 > t2.field3
DONDE (t1.field1 t2.field3) = (t2.field2 * t2.field7)
DONDE your_table_name.firstName = “Andrew” o your_table_name.firstName = “Becky”
DONDE your_table_name. Género = “varón” y your_table_name.age entre 18 y 25
Si usted puede leer estas declaraciones parecen tener sentido. El primer volverá solamente los valores que están en dólares australianos y los segundos demostrarán solamente filas donde está mayor un campo dado que otro. Ninguno de estos declaraciones deben evaluar para verdad para volver filas.
Cosas a la nota:
- ¡Hay muchas funciones que se pueden utilizar para evaluar para verdad o falso en tales como donde la condición - muestras >/\! del >= < del <== en () ( ) entre % y mucho más puede ser utilizado - si usted es inseguro y son en donde la condición después mira para arriba lo que él significa, porque la declaración para trabajar los será utilizada siempre de una forma que puede dar un verdad o un falso después de que se evalúen.
- Algunas bases de datos ensamblan las tablas en su donde no lo hacen las condiciones y otras.
- ¡Es posible tener declaraciones que nunca vuelvan el IE verdadero DONDE 1! = 1 será siempre falso como 1 nunca va a no ser igual a 1 (el <> del uso de algunas bases de datos para no los iguales)
- Las preguntas del submarino se pueden volver para comprobar si un valor particular hace o no existe dentro de esa pregunta secundaria
- Los errores pueden ocurrir si usted está intentando comparar los valores que no son del mismo tipo IE “1” son desiguales a 1 en muchas bases de datos pues el primer es el carácter y el segundo es el valor
- Del donde las condiciones se evalúan normalmente usando los soportes del IE de BOMDAS multiplique la divisoria agregan y restan.
- Donde las declaraciones pueden utilizar el capricho que verdad y falso se tratan como números en algunas bases de datos - IE falso puede = 0 y verdad es cualquier otro número
- La lógica condicional se puede utilizar para evaluar las condiciones - iif del IE, si y las declaraciones de caso
Conclusión:
La comprensión de estas declaraciones es importante. Hay muchos matices y delicadezas que no fueron cubiertos por este documento introductorio. Si usted quiere uno o más detalles examinados con más profundidad, éntreme en contacto con por favor y escribiré otro poste que trata sus preocupaciones.
El SQL era algo que odié cuando primero lo aprende, pienso hoy en día que sus posibilidades y uso es impresionante.
Si usted tuvo gusto de este poste por favor comente abajo, compártalo con los amigos o en redes sociales y suscriba a mi alimentación de RSS
el %DIGG%





































Como Sysadmin, el comando de SQL más frecuente que utilizo es CONCESIÓN aunque no sea terminantemente SQL puro. Esto es seguida de cerca por ESTADO del ESCLAVO del CHEQUE y not-so-closely seguido cerca CREE LA BASE DE DATOS, la TABLA del CHEQUE y la TABLA de la REPARACIÓN.
Por supuesto, cuando estoy programando los nueve usted menciona es los que utilizo.
La cosa es, mi trabajo sería mucho más duro sin los comandos que mencioné. (Bien… excepto CREE LA BASE DE DATOS. Es bastante fácil crear una nueva base de datos manualmente.)
Dave,
Convengo, ésos soy muy común también CREO AL USUARIO soy otro que se utiliza muy comúnmente al igual que las declaraciones de reserva. Pues alguien que ha hecho los papeles y las preguntas del edificio (programador) del DBA allí es una diferencia grande entre lo que usted considera importante dependiendo de lo que usted lo hace. Consideraría generalmente la cosa más importante sobre bases de datos debo poder tener acceso a los datos y mientras que tal yo escribió este poste con eso en mente. Pienso que escribiré las palabras claves administrativas superiores y cómo utilizarlas para las que se refieran más a la operación de la base de datos, algo que teniendo acceso a lo que contiene.