Máis información sobre DDL, DML e JOIN
O Language Structured Query é un dos bloques fundamentais da arquitectura moderna de bases de datos. SQL define os métodos empregados para crear e manipular bases de datos relacionales en todas as plataformas principais. A primeira vista, a linguaxe pode parecer intimidante e complexa, pero non é tan difícil.
Esta introdución aos fundamentos detrás de SQL leva unha breve ollada a algúns dos principais comandos utilizados para crear e modificar bases de datos.
Sobre SQL
A pronunciación correcta de SQL é un problema polémico dentro da comunidade de bases de datos. No seu estándar SQL, o American National Standards Institute declarou que a pronuncia oficial é "es queue el". Non obstante, moitos profesionais da base de datos tomaron a pronunciación "sequel". A elección é túa.
SQL vén en moitos sabores. As bases de datos Oracle usan o seu PL / SQL propietario. Microsoft SQL Server fai uso de transact-SQL. Todas as variacións están baseadas no estándar industrial ANSI SQL. Esta introdución usa comandos SQL compatibles con ANSI que funcionan en calquera sistema de base de datos relacional moderno.
DDL e DML
Os comandos SQL poden dividirse en dous sub-idiomas principais. O Idioma de definición de datos (DDL) contén os comandos utilizados para crear e destruír bases de datos e obxectos de base de datos. Despois de definir a estrutura da base de datos con DDL, os administradores de bases de datos e os usuarios poden usar o Idioma de Manipulación de Datos (DML) para inserir, recuperar e modificar os datos contidos nel.
Comandos de linguaxe de definición de datos
O linguaxe de definición de datos úsase para crear e destruír bases de datos e obxectos de base de datos. Estes comandos son usados principalmente polos administradores da base de datos durante as fases de configuración e eliminación dun proxecto de base de datos. Aquí tes unha ollada á estrutura e ao uso de catro comandos DDL básicos:
CREAR. Instalar un sistema de xestión de bases de datos nunha computadora permítelle crear e xestionar moitas bases de datos independentes. Por exemplo, pode querer manter unha base de datos de contactos do cliente para o seu departamento de vendas e unha base de datos de persoal para o seu departamento de RRHH. O comando CREATE úsase para establecer cada unha destas bases de datos na súa plataforma. Por exemplo, o comando:
crea unha base de datos baleira chamada "empregados" no seu DBMS. Despois de crear a base de datos, o seguinte paso é crear táboas que conteñan datos. Outra variante do comando CREATE pode usarse para este fin. O comando:
CREATE TABLE personal_info (first_name char (20) non é nulo, last_name char (20) non é nulo, employee_id int non é nulo)establece unha táboa titulada "persoal_info" na base de datos actual. No exemplo, a táboa contén tres atributos: first_name, last_name e employee_id xunto con algunha información adicional.
USO. O comando USE permítelle especificar a base de datos que quere traballar no seu DBMS. Por exemplo, se está a traballar na base de datos de vendas e desexa emitir algúns comandos que afectarán á base de datos dos empregados, introdúzaos co seguinte comando SQL:
Empregados da USEÉ importante ter sempre en conta a base de datos que está a traballar antes de emitir comandos SQL que manipulan datos.
ALTER. Unha vez que creou unha táboa nunha base de datos, pode querer modificar a súa definición. O comando ALTER permítelle facer cambios na estrutura dunha táboa sen eliminarla e recreala. Bótalle un ollo ao seguinte comando:
ALTER TABLE personal_info Engada o diñeiro salarial nuloEste exemplo engade un novo atributo á táboa persoal_info: o salario dun empregado. O argumento "diñeiro" especifica que o salario dun empregado almacénase utilizando un formato de dólares e centavos. Finalmente, a palabra "nula" di que a base de datos é correcto para que este campo non conteña ningún valor para ningún empregado dado.
DROP. O comando final do Idioma de definición de datos, DROP, permítenos eliminar obxectos da base de datos enteiros desde o noso DBMS. Por exemplo, se queremos eliminar permanentemente a táboa persoal_info que creamos, usaremos o seguinte comando:
DROP TABLE personal_infoDo mesmo xeito, o comando a seguir sería usado para eliminar toda a base de datos do empregado:
Funcionarios DROP DATABASEUse este comando con coidado. O comando DROP elimina estruturas de datos enteiras da súa base de datos. Se queres eliminar rexistros individuais, usa o comando DELETE do Idioma de manipulación de datos.
Comandos de linguaxe de manipulación de datos
O Idioma de Manipulación de Datos (DML) úsase para recuperar, inserir e modificar información da base de datos. Estes comandos son utilizados por todos os usuarios da base de datos durante a operación de rutina da base de datos.
INSERTAR. O comando INSERT en SQL úsase para engadir rexistros a unha táboa existente. Volvendo ao exemplo persoal_info da sección anterior, imaxina que o noso departamento de recursos humanos necesita engadir un novo empregado á súa base de datos. Podería usar un comando similar a este:
Teña en conta que hai catro valores especificados para o rexistro. Estes corresponden aos atributos da táboa na orde en que foron definidos: first_name, last_name, employee_id e salary.
SELECCIONAR. O comando SELECT é o comando máis usado en SQL. Permite aos usuarios da base de datos recuperar a información específica que desexan a partir dunha base de datos operativa. Bótalle un ollo a algúns exemplos, de novo empregando a táboa persoal_info da base de datos de empregados.
O comando mostrado a continuación recupera toda a información contida na táboa persoal_info. Teña en conta que o asterisco úsase como comodín en SQL. Isto literalmente significa "Seleccionar todo dende a táboa persoal_info".
Alternativamente, os usuarios poden querer limitar os atributos que se recuperan da base de datos. Por exemplo, o departamento de recursos humanos pode esixir unha lista dos apelidos de todos os empregados da empresa. O seguinte comando SQL recuperaría só esa información:
SELECCIONA último nome de persoal_infoA cláusula WHERE pode usarse para limitar os rexistros que se recuperan para aqueles que cumpren criterios específicos. O CEO podería estar interesado en revisar os rexistros de persoal de todos os empregados altamente remunerados. O seguinte comando recupera todos os datos contidos en persoal_info para rexistros que teñan un valor salarial superior a $ 50,000:
SELECCIONAR * FROM personal_info DONDE o salario> $ 50000ACTUALIZACIÓN. O comando UPDATE pode usarse para modificar a información contida nunha táboa, a granel ou individualmente. Asume que a compañía dá a todos os empregados un aumento do custo de vida do 3 por cento no seu salario anualmente. O seguinte comando SQL podería usarse para aplicar rapidamente a todos os empregados almacenados na base de datos:
ACTUALIZACIÓN persoal_info SET salario = salario * 1.03Cando o novo funcionario Bart Simpson demostra un rendemento por encima do chamado de deber, a dirección desexa recoñecer as súas realizacións estelares cun aumento de $ 5,000. A cláusula WHERE podería usarse para destacar Bart para este aumento:
ACTUALIZACIÓN persoal_info SET salario = salario + $ 5000 ONDE employee_id = 12345Eliminar. Finalmente, repasemos o comando DELETE. Verá que a sintaxe deste comando é similar á dos outros comandos DML. Desafortunadamente, o noso último informe de ganancias corporativas non cumpriu as expectativas e a pobre Bart foi despedida. O comando DELETE con unha cláusula WHERE pode usarse para eliminar o seu rexistro da táboa persoal_info:
DELETE FROM persoal_info DONDE employee_id = 12345Unirse
Agora que xa aprendeu o básico de SQL, é hora de pasar a un dos conceptos máis potentes que a linguaxe ten para ofrecer: a declaración JOIN. Unha declaración JOIN permítelle combinar datos en varias táboas para procesar de forma eficiente grandes cantidades de datos. Estas declaracións son onde reside o verdadeiro poder dunha base de datos.
Para explorar o uso dunha operación JOIN básica para combinar datos de dúas táboas, continúa co exemplo usando a táboa PERSONAL_INFO e engade unha táboa adicional á mestura. Supoña que ten unha táboa denominada DISCIPLINARY_ACTION que foi creada coa seguinte declaración:
Esta táboa contén os resultados das accións disciplinarias dos empregados da empresa. Notarás que non contén información sobre o empregado que non sexa o número de empregado. É fácil imaxinar moitos escenarios nos que podes querer combinar información das tabelas DISCIPLINARY_ACTION e PERSONAL_INFO.
Asume que foi encargado de crear un informe que enumere as accións disciplinarias tomadas contra todos os empregados cun salario superior a 40.000 dólares. O uso dunha operación JOIN, neste caso, é sinxela. Podemos recuperar esta información empregando o seguinte comando:
O código especifica as dúas táboas que queremos unir á cláusula FROM e, a continuación, inclúe unha declaración na cláusula WHERE para limitar os resultados a rexistros que coincidían cos ID dos empregados e cumpriron os nosos criterios cun salario superior a 40.000 dólares.