Está en la página 1de 44

Tablas de base de datos

Una base de datos contiene con mayor frecuencia una o más tablas. Cada tabla está
identificada por un nombre ( p. "Clientes" u "Pedidos" ). Las tablas contienen registros
( filas ) con datos.

En este tutorial utilizaremos la conocida base de datos de muestras de Northwind


( incluido en MS Access y MS SQL Server ).

A continuación se muestra una selección de la tabla "Clientes:

CustomerID CustomerName ContactName Address City PostalCode Country

1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany

2 Ana Trujillo Ana Trujillo Avda. de la México 05021 Mexico


Emparedados y Constitución D.F.
helados 2222

3 Antonio Moreno Antonio Mataderos 2312 México 05023 Mexico


Taquería Moreno D.F.

4 Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK

5 Berglunds snabbköp Christina Berguvsvägen 8 Luleå S-958 22 Sweden


Berglund

La tabla anterior contiene cinco registros ( uno para cada cliente ) y siete columnas
( CustomerID, CustomerName, ContactName, Address, City, PostalCode y Country ).
Declaraciones SQL
La mayoría de las acciones que necesita realizar en una base de datos se realizan con
SQL declaraciones.

La siguiente instrucción SQL selecciona todos los registros en la tabla "Clientes:

EjemploObtenga su propio servidor SQL


SELECT * FROM Customers;

Pruébalo tú mismo »

En este tutorial le enseñaremos todo sobre las diferentes declaraciones SQL.

Tenga en cuenta que...


 Las palabras clave de SQL NO distinguen entre mayúsculas y
minúsculas: select es lo mismo que SELECT

En este tutorial escribiremos todas las palabras clave de SQL en mayúsculas.

¿Semicolón después de declaraciones SQL?


Algunos sistemas de bases de datos requieren un punto y coma al final de cada
instrucción SQL.

Semicolon es la forma estándar de separar cada instrucción SQL en la base de datos


sistemas que permiten ejecutar más de una instrucción SQL en la misma llamada al
servidor.

En este tutorial, usaremos punto y coma al final de cada instrucción SQL.

Algunos de los comandos SQL más importantes


 SELECT- extrae datos de una base de datos
 UPDATE- actualiza los datos en una base de datos
 DELETE- elimina datos de una base de datos
 INSERT INTO- inserta nuevos datos en una base de datos
 CREATE DATABASE- crea una nueva base de datos
 ALTER DATABASE- modifica una base de datos
 CREATE TABLE- crea una nueva tabla
 ALTER TABLE- modifica una tabla
 DROP TABLE- elimina una mesa
 CREATE INDEX- crea un índice ( clave de búsqueda )
 DROP INDEX- elimina un índice

La instrucción SQL SELECT


los SELECT la declaración se usa para seleccionar datos de una base de datos.

Los datos devueltos se almacenan en una tabla de resultados, llamada conjunto de


resultados.

Sintaxis SELECCIONADA
SELECT column1,  column2, ...
FROM table_name;

Aquí, columna1, columna2, ... son los nombres de campo de la tabla que desea
seleccionar datos de. Si tu desea seleccionar todos los campos disponibles en la tabla,
use la siguiente sintaxis:

SELECT * FROM table_name;

Base de datos de demostración


A continuación se muestra una selección de la tabla "Clientes" en la base de datos de
muestras de Northwind:

CustomerI CustomerNam ContactNam Address City PostalCod Country


D e e e
1 Alfreds Maria Anders Obere Str. 57 Berlin 12209 German
Futterkiste y

2 Ana Trujillo Ana Trujillo Avda. de la México 05021 Mexico


Emparedados y Constitución D.F.
helados 2222

3 Antonio Antonio Mataderos México 05023 Mexico


Moreno Moreno 2312 D.F.
Taquería

4 Around the Thomas 120 Hanover Londo WA1 1DP UK


Horn Hardy Sq. n

5 Berglunds Christina Berguvsväge Luleå S-958 22 Sweden


snabbköp Berglund n8

SELECCIONE el ejemplo de columna


La siguiente instrucción SQL selecciona las columnas "Nombre de cliente" y "Ciudad de
la tabla "Clientes:

EjemploObtenga su propio servidor SQL


SELECT CustomerName, City FROM Customers;
Pruébalo tú mismo »

SELECCIONAR * Ejemplo
La siguiente instrucción SQL selecciona todas las columnas de los "Clientes" mesa:
EjemploObtenga su propio servidor SQL
SELECT * FROM Customers;
Pruébalo tú mismo »

Probarse con ejercicios


Ejercicio:
Inserte la instrucción que falta para obtener todas las columnas del Customers mesa.

* DE clientes;

Enviar respuesta »

Iniciar el ejercicio

La declaración SQL SELECT DISTINCT


los SELECT DISTINCT la declaración se usa para devolver solo distinto ( valores
diferentes ).

Dentro de una tabla, una columna a menudo contiene muchos valores duplicados; y a
veces tu solo desea enumerar los diferentes valores ( distintos ).

SELECCIONE la sintaxis DISTINCT


SELECT DISTINCT column1, column2, ...
FROM table_name;

Base de datos de demostración


A continuación se muestra una selección de la tabla "Clientes" en la muestra Northwind
base de datos:
CustomerI CustomerName ContactName Address City P
D

1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12

2 Ana Trujillo Emparedados y Ana Trujillo Avda. de la Constitución México 05


helados 2222 D.F.

3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México 05


D.F.

4 Around the Horn Thomas Hardy 120 Hanover Sq. London W

5 Berglunds snabbköp Christina Berguvsvägen 8 Luleå S-


Berglund

SELECCIONE el ejemplo sin DISTINTO


La siguiente instrucción SQL selecciona todos los valores ( incluidos los duplicados ) de
la columna "País" en la tabla "Clientes:

EjemploObtenga su propio servidor SQL


SELECT Country FROM Customers;

Pruébalo tú mismo »

Ahora, usemos el SELECT DISTINCT declaración y ver el resultado.


SELECCIONE Ejemplos DISTINCT
La siguiente instrucción SQL selecciona solo los valores DISTINCT de la columna "País"
en la tabla "Clientes:

EjemploObtenga su propio servidor SQL


SELECT DISTINCT Country FROM Customers;

Pruébalo tú mismo »

La siguiente instrucción SQL enumera el número de diferentes países clientes


( distintos ):

EjemploObtenga su propio servidor SQL


SELECT COUNT(DISTINCT Country) FROM Customers;

Pruébalo tú mismo »

Nota: ¡El ejemplo anterior no funcionará en Firefox! Porque CONTE


( DISTINCT nombre de columna) no es compatible con las bases de datos de Microsoft
Access. Firefox está utilizando Microsoft Access en nuestros ejemplos.

Aquí está la solución para MS Access:

EjemploObtenga su propio servidor SQL


SELECT Count(*) AS DistinctCountries
FROM (SELECT DISTINCT Country FROM Customers);

Pruébalo tú mismo »

La cláusula SQL WHERE


los WHERE La cláusula se usa para filtrar registros.

Se usa para extraer solo aquellos registros que cumplen con un especificado condición.

DONDE Sintaxis
SELECT column1,  column2, ...
FROM table_name
WHERE condition;
Nota: los WHERE la cláusula no solo se usa en SELECT declaraciones, también se usa
en UPDATE, DELETE, etc.!

Base de datos de demostración


A continuación se muestra una selección de la tabla "Clientes" en la base de datos de
muestras de Northwind:

CustomerI CustomerName ContactName Address City P


D

1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12

2 Ana Trujillo Emparedados y Ana Trujillo Avda. de la Constitución México 05


helados 2222 D.F.

3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México 05


D.F.

4 Around the Horn Thomas Hardy 120 Hanover Sq. London W

5 Berglunds snabbköp Christina Berguvsvägen 8 Luleå S-


Berglund

DONDE Ejemplo de cláusula


La siguiente instrucción SQL selecciona a todos los clientes del país "México", en la
tabla "Clientes:

EjemploObtenga su propio servidor SQL


SELECT * FROM Customers
WHERE Country='Mexico';

Pruébalo tú mismo »

Campos de texto vs. Campos numéricos


SQL requiere comillas simples alrededor de los valores de texto ( la mayoría de los
sistemas de bases de datos También permita comillas dobles ).

Sin embargo, los campos numéricos no deben estar entre comillas:

EjemploObtenga su propio servidor SQL


SELECT * FROM Customers
WHERE CustomerID=1;

Pruébalo tú mismo »

Operadores en la cláusula WHERE


Los siguientes operadores se pueden utilizar en el WHERE cláusula:

Operator Description

= Equal

> Greater than

< Less than


>= Greater than or equal

<= Less than or equal

<> Not equal. Note: In some versions of SQL this operator may be written
=

BETWEEN Between a certain range

LIKE Search for a pattern

IN To specify multiple possible values for a column

Probarse con ejercicios


Ejercicio:
Seleccione todos los registros donde City columna tiene el valor "Berlín".

SELECCIONAR * DE Clientes
= ;

Enviar respuesta »

Iniciar el ejercicio

Probarse con ejercicios


Ejercicio:
Seleccione todos los diferentes valores de la Country columna en el Customers mesa.

País DE clientes;

Enviar respuesta »

Iniciar el ejercicio

SQL Y, o y NO Operadores
❮ AnteriorSiguiente ❯

Los operadores SQL Y, O y NO


los WHERE la cláusula se puede combinar con AND, OR, y NOT operadores.

los AND y OR los operadores se utilizan para filtrar registros basados en más de uno


condición:

 los AND el operador muestra un registro si todas las condiciones están separadas


por AND son VERDADEROS.
 los OR el operador muestra un registro si alguna de las condiciones está separada
por OR es VERDADERO.

los NOT el operador muestra un registro si la condición ( s ) NO ES VERDADERA.

Y sintaxis
SELECT column1,  column2, ...
FROM table_name
WHERE condition1 AND condition2 AND condition3 ...;

O sintaxis
SELECT column1,  column2, ...
FROM table_name
WHERE condition1 OR condition2 OR condition3 ...;
NO sintaxis
SELECT column1,  column2, ...
FROM table_name
WHERE NOT condition;

Base de datos de demostración


La siguiente tabla muestra la tabla completa "Clientes" de la base de datos de
muestras de Northwind:

CustomerID CustomerName ContactName Address City Posta

1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 1220

2 Ana Trujillo Emparedados Ana Trujillo Avda. de la Constitución 2222 México D.F. 0502
y helados

3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 0502

4 Around the Horn Thomas Hardy 120 Hanover Sq. London WA1

5 Berglunds snabbköp Christina Berglund Berguvsvägen 8 Luleå S-958

6 Blauer See Delikatessen Hanna Moos Forsterstr. 57 Mannheim 6830

7 Blondel père et fils Frédérique 24, place Kléber Strasbourg 6700


Citeaux
8 Bólido Comidas Martín Sommer C/ Araquil, 67 Madrid 2802
preparadas

9 Bon app' Laurence Lebihans 12, rue des Bouchers Marseille 1300

10 Bottom-Dollar Marketse Elizabeth Lincoln 23 Tsawassen Blvd. Tsawassen T2F 8

11 B's Beverages Victoria Ashworth Fauntleroy Circus London EC2 5

12 Cactus Comidas para Patricio Simpson Cerrito 333 Buenos Aires 1010
llevar

13 Centro comercial Francisco Chang Sierras de Granada 9993 México D.F. 0502
Moctezuma

14 Chop-suey Chinese Yang Wang Hauptstr. 29 Bern 3012

15 Comércio Mineiro Pedro Afonso Av. dos Lusíadas, 23 São Paulo 0543

16 Consolidated Holdings Elizabeth Brown Berkeley Gardens 12 Brewery London WX1

17 Drachenblut Sven Ottlieb Walserweg 21 Aachen 5206


Delikatessend

18 Du monde entier Janine Labrune 67, rue des Cinquante Otages Nantes 4400
19 Eastern Connection Ann Devon 35 King George London WX3

20 Ernst Handel Roland Mendel Kirchgasse 6 Graz 8010

21 Familia Arquibaldo Aria Cruz Rua Orós, 92 São Paulo 0544

22 FISSA Fabrica Inter. Diego Roel C/ Moralzarzal, 86 Madrid 2803


Salchichas S.A.

23 Folies gourmandes Martine Rancé 184, chaussée de Tournai Lille 5900

24 Folk och fä HB Maria Larsson Åkergatan 24 Bräcke S-844

25 Frankenversand Peter Franken Berliner Platz 43 München 8080

26 France restauration Carine Schmitt 54, rue Royale Nantes 4400

27 Franchi S.p.A. Paolo Accorti Via Monte Bianco 34 Torino 1010

28 Furia Bacalhau e Frutos Lino Rodriguez Jardim das rosas n. 32 Lisboa 1675
do Mar

29 Galería del gastrónomo Eduardo Saavedra Rambla de Cataluña, 23 Barcelona 0802


30 Godos Cocina Típica José Pedro Freyre C/ Romero, 33 Sevilla 4110

31 Gourmet Lanchonetes André Fonseca Av. Brasil, 442 Campinas 0487

32 Great Lakes Food Market Howard Snyder 2732 Baker Blvd. Eugene 9740

33 GROSELLA-Restaurante Manuel Pereira 5ª Ave. Los Palos Grandes Caracas 1081

34 Hanari Carnes Mario Pontes Rua do Paço, 67 Rio de Janeiro 0545

35 HILARIÓN-Abastos Carlos Hernández Carrera 22 con Ave. Carlos San Cristóbal 5022
Soublette #8-35

36 Hungry Coyote Import Yoshi Latimer City Center Plaza 516 Main St. Elgin 9782
Store

37 Hungry Owl All-Night Patricia McKenna 8 Johnstown Road Cork


Grocers

38 Island Trading Helen Bennett Garden House Crowther Way Cowes PO31

39 Königlich Essen Philip Cramer Maubelstr. 90 Brandenburg 1477

40 La corne d'abondance Daniel Tonini 67, avenue de l'Europe Versailles 7800


41 La maison d'Asie Annette Roulet 1 rue Alsace-Lorraine Toulouse 3100

42 Laughing Bacchus Wine Yoshi Tannamuri 1900 Oak St. Vancouver V3F 2
Cellars

43 Lazy K Kountry Store John Steel 12 Orchestra Terrace Walla Walla 9936

44 Lehmanns Marktstand Renate Messner Magazinweg 7 Frankfurt 6052


a.M.

45 Let's Stop N Shop Jaime Yorres 87 Polk St. Suite 5 San Francisco 9411

46 LILA-Supermercado Carlos González Carrera 52 con Ave. Bolívar Barquisimeto 3508


#65-98 Llano Largo

47 LINO-Delicateses Felipe Izquierdo Ave. 5 de Mayo Porlamar I. de 4980


Margarita

48 Lonesome Pine Fran Wilson 89 Chiaroscuro Rd. Portland 9721


Restaurant

49 Magazzini Alimentari Giovanni Rovelli Via Ludovico il Moro 22 Bergamo 2410


Riuniti

50 Maison Dewey Catherine Dewey Rue Joseph-Bens 532 Bruxelles B-118


51 Mère Paillarde Jean Fresnière 43 rue St. Laurent Montréal H1J 1

52 Morgenstern Gesundkost Alexander Feuer Heerstr. 22 Leipzig 0417

53 North/South Simon Crowther South House 300 Queensbridge London SW7

54 Océano Atlántico Ltda. Yvonne Moncada Ing. Gustavo Moncada 8585 Buenos Aires 1010
Piso 20-A

55 Old World Delicatessen Rene Phillips 2743 Bering St. Anchorage 9950

56 Ottilies Käseladen Henriette Mehrheimerstr. 369 Köln 5073


Pfalzheim

57 Paris spécialités Marie Bertrand 265, boulevard Charonne Paris 7501

58 Pericles Comidas clásicas Guillermo Calle Dr. Jorge Cash 321 México D.F. 0503
Fernández

59 Piccolo und mehr Georg Pipps Geislweg 14 Salzburg 5020

60 Princesa Isabel Vinhoss Isabel de Castro Estrada da saúde n. 58 Lisboa 1756

61 Que Delícia Bernardo Batista Rua da Panificadora, 12 Rio de Janeiro 0238


62 Queen Cozinha Lúcia Carvalho Alameda dos Canàrios, 891 São Paulo 0548

63 QUICK-Stop Horst Kloss Taucherstraße 10 Cunewalde 0130

64 Rancho grande Sergio Gutiérrez Av. del Libertador 900 Buenos Aires 1010

65 Rattlesnake Canyon Paula Wilson 2817 Milton Dr. Albuquerque 8711


Grocery

66 Reggiani Caseifici Maurizio Moroni Strada Provinciale 124 Reggio Emilia 4210

67 Ricardo Adocicados Janete Limeira Av. Copacabana, 267 Rio de Janeiro 0238

68 Richter Supermarkt Michael Holz Grenzacherweg 237 Genève 1203

69 Romero y tomillo Alejandra Camino Gran Vía, 1 Madrid 2800

70 Santé Gourmet Jonas Bergulfsen Erling Skakkes gate 78 Stavern 4110

71 Save-a-lot Markets Jose Pavarotti 187 Suffolk Ln. Boise 8372

72 Seven Seas Imports Hari Kumar 90 Wadhurst Rd. London OX15

73 Simons bistro Jytte Petersen Vinbæltet 34 København 1734


74 Spécialités du monde Dominique Perrier 25, rue Lauriston Paris 7501

75 Split Rail Beer & Ale Art P.O. Box 555 Lander 8252
Braunschweiger

76 Suprêmes délices Pascale Cartrain Boulevard Tirou, 255 Charleroi B-600

77 The Big Cheese Liz Nixon 89 Jefferson Way Suite 2 Portland 9720

78 The Cracker Box Liu Wong 55 Grizzly Peak Rd. Butte 5980

79 Toms Spezialitäten Karin Josephs Luisenstr. 48 Münster 4408

80 Tortuga Restaurante Miguel Angel Avda. Azteca 123 México D.F. 0503
Paolino

81 Tradição Hipermercados Anabela Av. Inês de Castro, 414 São Paulo 0563
Domingues

82 Trail's Head Gourmet Helvetius Nagy 722 DaVinci Blvd. Kirkland 9803
Provisioners

83 Vaffeljernet Palle Ibsen Smagsløget 45 Århus 8200

84 Victuailles en stock Mary Saveley 2, rue du Commerce Lyon 6900


85 Vins et alcools Chevalier Paul Henriot 59 rue de l'Abbaye Reims 5110

86 Die Wandernde Kuh Rita Müller Adenauerallee 900 Stuttgart 7056

87 Wartian Herkku Pirkko Koskitalo Torikatu 38 Oulu 9011

88 Wellington Importadora Paula Parente Rua do Mercado, 12 Resende 0873

89 White Clover Markets Karl Jablonski 305 - 14th Ave. S. Suite 3B Seattle 9812

90 Wilman Kala Matti Karttunen Keskuskatu 45 Helsinki 2124

91 Wolski Zbyszek ul. Filtrowa 68 Walla 01-01

Y ejemplo
La siguiente instrucción SQL selecciona todos los campos de "Clientes" donde el país es
"Alemania" Y la ciudad es "Berlín":

EjemploObtenga su propio servidor SQL


SELECT * FROM Customers
WHERE Country='Germany' AND City='Berlin';

Pruébalo tú mismo »
O ejemplo
La siguiente instrucción SQL selecciona todos los campos de "Clientes" donde la ciudad
es "Berlín" O "München":

EjemploObtenga su propio servidor SQL


SELECT * FROM Customers
WHERE City='Berlin' OR City='München';

Pruébalo tú mismo »

La siguiente instrucción SQL selecciona todos los campos de "Clientes" donde el país es
"Alemania" O "España":

EjemploObtenga su propio servidor SQL


SELECT * FROM Customers
WHERE Country='Germany' OR Country='Spain';

Pruébalo tú mismo »

NO ejemplo
La siguiente instrucción SQL selecciona todos los campos de "Clientes" donde el país
NO es "Alemania":

EjemploObtenga su propio servidor SQL


SELECT * FROM Customers
WHERE NOT Country='Germany';

Pruébalo tú mismo »

Combinando Y, O y NO
También puedes combinar el AND, OR y NOT operadores.

La siguiente instrucción SQL selecciona todos los campos de "Clientes" donde el país es
"Alemania" Y la ciudad debe ser "Berlín" O "München" ( use paréntesis para formar
expresiones complejas ):
EjemploObtenga su propio servidor SQL
SELECT * FROM Customers
WHERE Country='Germany' AND (City='Berlin' OR City='München');

Pruébalo tú mismo »

La siguiente instrucción SQL selecciona todos los campos de "Clientes" donde está el
país NO "Alemania" y NO "EE. UU":

EjemploObtenga su propio servidor SQL


SELECT * FROM Customers
WHERE NOT Country='Germany' AND NOT Country='USA';

Pruébalo tú mismo »

Probarse con ejercicios


Ejercicio:
Seleccione todos los registros donde City la columna tiene el valor 'Berlín' y
el PostalCode columna tiene el valor 12209.

* DE clientes
Ciudad = 'Berlín'
= 12209;

Enviar respuesta »

Iniciar el ejercicio

La orden del SQL por palabra clave


los ORDER BY la palabra clave se usa para ordenar el conjunto de resultados en
ascendente o orden descendente.

los ORDER BY palabra clave clasifica los registros en orden ascendente de forma


predeterminada. Para ordenar los registros en orden descendente, use el DESC palabra
clave.

ORDEN POR Sintaxis


SELECT column1,  column2, ...
FROM table_name
ORDER BY column1, column2, ...  ASC|DESC;

Base de datos de demostración


A continuación se muestra una selección de la tabla "Clientes" en la base de datos de
muestras de Northwind:

CustomerI CustomerName ContactName Address City P


D

1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12

2 Ana Trujillo Emparedados y Ana Trujillo Avda. de la Constitución México 05


helados 2222 D.F.

3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México 05


D.F.

4 Around the Horn Thomas Hardy 120 Hanover Sq. London W

5 Berglunds snabbköp Christina Berguvsvägen 8 Luleå S-


Berglund

ORDENAR POR Ejemplo


La siguiente instrucción SQL selecciona a todos los clientes de la tabla "Clientes,
ordenado por la columna "País:

EjemploObtenga su propio servidor SQL


SELECT * FROM Customers
ORDER BY Country;

Pruébalo tú mismo »

ORDEN POR DESC Ejemplo


La siguiente instrucción SQL selecciona a todos los clientes de la tabla "Clientes,
ordenado DESCENDIDO por la columna "País:

EjemploObtenga su propio servidor SQL


SELECT * FROM Customers
ORDER BY Country DESC;

Pruébalo tú mismo »

ORDENAR POR varias columnas Ejemplo


La siguiente instrucción SQL selecciona a todos los clientes de la tabla "Clientes,
ordenados por la columna "País" y "Nombre del cliente. Esto significa que ordena por
país, pero si algunas filas tienen el mismo país, las ordena Nombre del cliente:

EjemploObtenga su propio servidor SQL


SELECT * FROM Customers
ORDER BY Country, CustomerName;

Pruébalo tú mismo »

ORDENAR POR Varias columnas Ejemplo 2


La siguiente instrucción SQL selecciona a todos los clientes de la tabla "Clientes,
ordenado ascendente por el "País" y descendente por la columna "Nombre del cliente:

EjemploObtenga su propio servidor SQL


SELECT * FROM Customers
ORDER BY Country ASC, CustomerName DESC;

Pruébalo tú mismo »

Probarse con ejercicios


Ejercicio:
Seleccionar todos los registros de la Customers tabla, ordene el resultado alfabéticamente por
la columna City.

SELECCIONAR * DE Clientes
;

Enviar respuesta »

Iniciar el ejercicio

La instrucción SQL INSERT INTO


los INSERT INTO la declaración se usa para insertar nuevos registros en una tabla.

INSERTAR EN Sintaxis
Es posible escribir el INSERT INTO declaración de dos maneras:

1). Especifique tanto los nombres de columna como los valores que se insertarán:

INSERT INTO table_name (column1,  column2,  column3, ...)


VALUES (value1,  value2, value3, ...);

2). Si está agregando valores para todas las columnas de la tabla, no necesita
especifique los nombres de columna en la consulta SQL. Sin embargo, asegúrese de
que el orden de la los valores están en el mismo orden que las columnas de la tabla.
Aquí, el INSERT INTO sintaxis sería lo siguiente:
INSERT INTO table_name
VALUES (value1,  value2, value3, ...);

Base de datos de demostración


A continuación se muestra una selección de la tabla "Clientes" en Northwind base de
datos de muestra:

CustomerID CustomerName ContactName Address City Posta

89 White Clover Markets Karl Jablonski 305 - 14th Ave. S. Suite 3B Seattle 9812

90 Wilman Kala Matti Karttunen Keskuskatu 45 Helsinki 2124

91 Wolski Zbyszek ul. Filtrowa 68 Walla 01-01

INSERTAR EN Ejemplo
La siguiente instrucción SQL inserta un nuevo registro en la tabla "Clientes:

EjemploObtenga su propio servidor SQL


INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode,
Country)
VALUES ('Cardinal', 'Tom B. Erichsen', 'Skagen
21', 'Stavanger', '4006', 'Norway');

Pruébalo tú mismo »
La selección de la tabla "Clientes" ahora se verá así:

CustomerID CustomerName ContactName Address City Post

89 White Clover Markets Karl Jablonski 305 - 14th Ave. S. Suite 3B Seattle 9812

90 Wilman Kala Matti Karttunen Keskuskatu 45 Helsinki 2124

91 Wolski Zbyszek ul. Filtrowa 68 Walla 01-0

92 Cardinal Tom B. Erichsen Skagen 21 Stavanger 4006

¿Notó que no insertamos ningún número en el ID del cliente ¿campo?


La columna CustomerID es un incremento automático campo y será generado
automáticamente cuando se inserta un nuevo registro en la tabla.

Insertar datos solo en columnas especificadas


También es posible insertar solo datos en columnas específicas.

La siguiente instrucción SQL insertará un nuevo registro, pero solo insertará datos en el
"Nombre del cliente", "Columnas "Ciudad" y "País" ( CustomerID actualizarse
automáticamente ):

EjemploObtenga su propio servidor SQL


INSERT INTO Customers (CustomerName, City, Country)
VALUES ('Cardinal', 'Stavanger', 'Norway');

Pruébalo tú mismo »

La selección de la tabla "Clientes" ahora se verá así:


CustomerID CustomerName ContactName Address City Post

89 White Clover Markets Karl Jablonski 305 - 14th Ave. S. Suite 3B Seattle 9812

90 Wilman Kala Matti Karttunen Keskuskatu 45 Helsinki 2124

91 Wolski Zbyszek ul. Filtrowa 68 Walla 01-0

92 Cardinal null null  Stavanger null

Probarse con ejercicios


Ejercicio:
Insertar un nuevo registro en el Customers mesa.

Clientes
Nombre del cliente,
Habla a,
Ciudad,
Código Postal,
País

'Hekkan Burger',
'Gateveien 15',
'Sandnes',
'4306',
'Noruega' ;
Enviar respuesta »

Iniciar el ejercicio

¿Qué es un valor NULL?


Un campo con un valor NULL es un campo sin valor.

Si un campo en una tabla es opcional, es posible insertar un nuevo registro o actualice


un registro sin agregar un valor a este campo. Entonces, el campo será guardado con
un valor NULL.

Nota: Un valor NULL es diferente de un valor cero o un campo que contiene espacios.
Un campo con un valor NULL es uno que se ha dejado en blanco durante la creación de
registros!

¿Cómo probar los valores NULL?


No es posible probar valores NULL con operadores de comparación, como =, < o < >.

Tendremos que usar el IS NULL y IS NOT NULL operadores en su lugar.

IS NULL Syntax
SELECT column_names
FROM table_name
WHERE column_name IS NULL;

NO ES NULL Syntax
SELECT column_names
FROM table_name
WHERE column_name IS NOT NULL;

Base de datos de demostración


A continuación se muestra una selección de la tabla "Clientes" en la muestra Northwind
base de datos:
CustomerI CustomerName ContactName Address City P
D

1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12

2 Ana Trujillo Emparedados y Ana Trujillo Avda. de la Constitución México 05


helados 2222 D.F.

3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México 05


D.F.

4 Around the Horn Thomas Hardy 120 Hanover Sq. London W

5 Berglunds snabbköp Christina Berguvsvägen 8 Luleå S-


Berglund

El operador IS NULL
los IS NULL el operador se usa para probar valores vacíos ( Valores NULL ).

El siguiente SQL enumera todos los clientes con un valor NULL en el campo "Dirección:

EjemploObtenga su propio servidor SQL


SELECT CustomerName, ContactName, Address
FROM Customers
WHERE Address IS NULL;

Pruébalo tú mismo »
Consejo: Utilice siempre IS NULL para buscar valores NULL.

El operador NO ES NULL
los IS NOT NULL el operador se utiliza para probar valores no vacíos ( NOT NULL
valores ).

El siguiente SQL enumera todos los clientes con un valor en el campo "Dirección:

EjemploObtenga su propio servidor SQL


SELECT CustomerName, ContactName, Address
FROM Customers
WHERE Address IS NOT NULL;

Pruébalo tú mismo »

Probarse con ejercicios


Ejercicio:
Seleccionar todos los registros de la Customers donde la PostalCode la columna está vacía.

SELECCIONAR * DE Clientes
DONDE ;

Enviar respuesta »

Iniciar el Ejercicio

La declaración de ACTUALIZACIÓN SQL


los UPDATE la declaración se usa para modificar los registros existentes en una tabla.

Sintaxis ACTUALIZADA
UPDATE table_name
SET column1  =  value1, column2  =  value2, ...
WHERE condition;
Nota: Tenga cuidado al actualizar registros en una tabla! Observar el WHERE cláusula en
el UPDATE declaración. los WHERE La cláusula especifica qué registro ( s ) debe
actualizarse. Si omites el WHERE cláusula, todos los registros en la tabla se actualizarán!

Base de datos de demostración


A continuación se muestra una selección de la tabla "Clientes" en la muestra Northwind
base de datos:

CustomerI CustomerName ContactName Address City P


D

1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12

2 Ana Trujillo Emparedados y Ana Trujillo Avda. de la Constitución México 05


helados 2222 D.F.

3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México 05


D.F.

4 Around the Horn Thomas Hardy 120 Hanover Sq. London W

5 Berglunds snabbköp Christina Berguvsvägen 8 Luleå S-


Berglund

Tabla ACTUALIZAR
La siguiente instrucción SQL actualiza el primer cliente ( CustomerID = 1 ) con una
nueva persona de contacto y Una nueva ciudad.

EjemploObtenga su propio servidor SQL


UPDATE Customers
SET ContactName = 'Alfred Schmidt', City= 'Frankfurt'
WHERE CustomerID = 1;

Pruébalo tú mismo »

La selección de la tabla "Clientes" ahora se verá así:

CustomerID CustomerName ContactName Address City P

1 Alfreds Futterkiste Alfred Schmidt Obere Str. 57 Frankfurt 12

2 Ana Trujillo Emparedados y Ana Trujillo Avda. de la Constitución México 05


helados 2222 D.F.

3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México 05


D.F.

4 Around the Horn Thomas Hardy 120 Hanover Sq. London W

5 Berglunds snabbköp Christina Berguvsvägen 8 Luleå S-


Berglund

ACTUALIZAR múltiples registros


Es el WHERE cláusula que determina cuántos registros se actualizarán.

La siguiente instrucción SQL actualice ContactName a "Juan" para todos los registros
donde el país es "México":

EjemploObtenga su propio servidor SQL


UPDATE Customers
SET ContactName='Juan'
WHERE Country='Mexico';

Pruébalo tú mismo »

La selección de la tabla "Clientes" ahora se verá así:

CustomerID CustomerName ContactName Address City P

1 Alfreds Futterkiste Alfred Schmidt Obere Str. 57 Frankfurt 12

2 Ana Trujillo Emparedados y Juan Avda. de la Constitución México 05


helados 2222 D.F.

3 Antonio Moreno Taquería Juan Mataderos 2312 México 05


D.F.

4 Around the Horn Thomas Hardy 120 Hanover Sq. London W

5 Berglunds snabbköp Christina Berguvsvägen 8 Luleå S-


Berglund

Actualizar advertencia!
Tenga cuidado al actualizar los registros. Si omites el WHERE cláusula, TODOS los
registros será actualizado!

EjemploObtenga su propio servidor SQL


UPDATE Customers
SET ContactName='Juan';

Pruébalo tú mismo »

La selección de la tabla "Clientes" ahora se verá así:

CustomerID CustomerName ContactName Address City PostalCode Country

1 Alfreds Futterkiste Juan Obere Str. 57 Frankfurt 12209 Germany

2 Ana Trujillo Juan Avda. de la México 05021 Mexico


Emparedados y Constitución D.F.
helados 2222

3 Antonio Moreno Juan Mataderos 2312 México 05023 Mexico


Taquería D.F.

4 Around the Horn Juan 120 Hanover Sq. London WA1 1DP UK

5 Berglunds snabbköp Juan Berguvsvägen 8 Luleå S-958 22 Sweden

Probarse con ejercicios


Ejercicio:
Actualizar el City columna de todos los registros en el Customers mesa.

Clientes
Ciudad = 'Oslo';

Enviar respuesta »

Iniciar el ejercicio

La declaración de SQL DELETE


los DELETE la declaración se usa para eliminar registros existentes en una tabla.

Síntaxis DELETE
DELETE FROM table_name WHERE condition;

Nota: Tenga cuidado al eliminar registros en una tabla! Observar el WHERE cláusula en


el DELETE declaración. los WHERE la cláusula especifica qué registro ( s ) debe
eliminarse. Si omites el WHERE cláusula, todos los registros en la tabla serán eliminados!

Base de datos de demostración


A continuación se muestra una selección de la tabla "Clientes" en la muestra Northwind
base de datos:

CustomerI CustomerName ContactName Address City PostalCode Country


D

1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany

2 Ana Trujillo Ana Trujillo Avda. de la México 05021 Mexico


Emparedados y Constitución D.F.
helados 2222
3 Antonio Moreno Antonio Mataderos 2312 México 05023 Mexico
Taquería Moreno D.F.

4 Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK

5 Berglunds snabbköp Christina Berguvsvägen 8 Luleå S-958 22 Sweden


Berglund

Ejemplo de SQL DELETE


La siguiente instrucción SQL elimina del cliente "Alfreds Futterkiste" de la tabla
"Clientes:

EjemploObtenga su propio servidor SQL


DELETE FROM Customers WHERE CustomerName='Alfreds Futterkiste';

Pruébalo tú mismo »

La tabla "Clientes" ahora se verá así:

CustomerID CustomerName ContactName Address City PostalCod Country


e

2 Ana Trujillo Ana Trujillo Avda. de la México 05021 Mexico


Emparedados y Constitución 2222 D.F.
helados

3 Antonio Moreno Antonio Mataderos 2312 México 05023 Mexico


Taquería Moreno D.F.
4 Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK

5 Berglunds snabbköp Christina Berguvsvägen 8 Luleå S-958 22 Sweden


Berglund

Eliminar todos los registros


Es posible eliminar todas las filas de una tabla sin eliminar la tabla. esta significa que la
estructura de la tabla, los atributos y los índices estarán intactos:

DELETE FROM table_name;

La siguiente instrucción SQL elimina todas las filas en la tabla "Clientes, sin eliminar la
tabla:

EjemploObtenga su propio servidor SQL


DELETE FROM Customers;

Pruébalo tú mismo »

Probarse con ejercicios


Ejercicio:
Eliminar todos los registros de la Customers mesa donde Country el valor es 'Noruega'.

Clientes
País = 'Noruega';

Enviar respuesta »

Iniciar el ejercicio
La cláusula superior SQL SELECT
los SELECT TOP la cláusula se usa para especificar el número de registros a devolver.

los SELECT TOP la cláusula es útil en mesas grandes con miles de registros. Devolver
una gran cantidad de registros puede afectar el rendimiento.

Nota: No todos los sistemas de bases de datos son compatibles con SELECT


TOP cláusula. MySQL apoya el LIMIT cláusula para seleccionar un número limitado de
registros, mientras que Oracle usa y . FETCH FIRST n ROWS ONLYROWNUM

Servidor SQL / sintaxis de MS Access:

SELECT TOP number|percent column_name(s)
FROM table_name
WHERE condition;

Sintaxis MySQL:

SELECT column_name(s)
FROM table_name
WHERE condition
LIMIT number;

Sintaxis de Oracle 12:

SELECT column_name(s)
FROM table_name
ORDER BY column_name(s)
FETCH FIRST number ROWS ONLY;

Sintaxis de oráculo más antigua:

SELECT column_name(s)
FROM table_name
WHERE ROWNUM <= number;

Sintaxis de oráculo más antigua ( con ORDER BY ):

SELECT *
FROM (SELECT column_name(s)  FROM table_name ORDER BY column_name(s))
WHERE ROWNUM <= number;
Base de datos de demostración
A continuación se muestra una selección de la tabla "Clientes" en la base de datos de
muestras de Northwind:

CustomerI CustomerName ContactName Address City PostalCode Country


D

1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany

2 Ana Trujillo Ana Trujillo Avda. de la México 05021 Mexico


Emparedados y Constitución D.F.
helados 2222

3 Antonio Moreno Antonio Mataderos 2312 México 05023 Mexico


Taquería Moreno D.F.

4 Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK

5 Berglunds Christina Berguvsvägen 8 Luleå S-958 22 Sweden


snabbköp Berglund

SQL TOP, LIMIT y FETCH FIRST Ejemplos


La siguiente instrucción SQL selecciona los primeros tres registros de la tabla "Clientes
( para SQL Server / MS Access ):
EjemploObtenga su propio servidor SQL
SELECT TOP 3 * FROM Customers;

Pruébalo tú mismo »

La siguiente instrucción SQL muestra el ejemplo equivalente para MySQL:

EjemploObtenga su propio servidor SQL


SELECT * FROM Customers
LIMIT 3;

Pruébalo tú mismo »

La siguiente instrucción SQL muestra el ejemplo equivalente para Oráculo:

EjemploObtenga su propio servidor SQL


SELECT * FROM Customers
FETCH FIRST 3 ROWS ONLY;

Ejemplo de PERCENTE SUPERIOR SQL


La siguiente instrucción SQL selecciona el primer 50% de los registros de "Tabla
"Clientes" ( para SQL Server / MS Access ):

EjemploObtenga su propio servidor SQL


SELECT TOP 50 PERCENT * FROM Customers;

Pruébalo tú mismo »

La siguiente instrucción SQL muestra el ejemplo equivalente para Oráculo:

EjemploObtenga su propio servidor SQL


SELECT * FROM Customers
FETCH FIRST 50 PERCENT ROWS ONLY;

AGREGAR UNA CLÁUSULA DONDE


La siguiente instrucción SQL selecciona los primeros tres registros de la tabla "Clientes,
donde el país es "Alemania" ( para SQL Server / MS Access ):
EjemploObtenga su propio servidor SQL
SELECT TOP 3 * FROM Customers
WHERE Country='Germany';

Pruébalo tú mismo »

La siguiente instrucción SQL muestra el ejemplo equivalente para MySQL:

EjemploObtenga su propio servidor SQL


SELECT * FROM Customers
WHERE Country='Germany'
LIMIT 3;

Pruébalo tú mismo »

La siguiente instrucción SQL muestra el ejemplo equivalente para Oráculo:

EjemploObtenga su propio servidor SQL


SELECT * FROM Customers
WHERE Country='Germany'
FETCH FIRST 3 ROWS ONLY;

Las funciones SQL MIN ( ) y MAX ( )


los MIN() La función devuelve el valor más pequeño de la columna seleccionada.

los MAX() La función devuelve el valor más grande de la columna seleccionada.

Sintaxis MIN ( )
SELECT MIN(column_name)
FROM table_name
WHERE condition;

Sintaxis MAX ( )
SELECT MAX(column_name)
FROM table_name
WHERE condition;

Base de datos de demostración


A continuación se muestra una selección de la tabla "Productos" en la base de datos de
muestras de Northwind:

ProductID ProductName SupplierID CategoryID Unit

1 Chais 1 1 10 boxes x 20 bag

2 Chang 1 1 24 - 12 oz bottles

3 Aniseed Syrup 1 2 12 - 550 ml bottle

4 Chef Anton's Cajun Seasoning 2 2 48 - 6 oz jars

5 Chef Anton's Gumbo Mix 2 2 36 boxes

MIN ( ) Ejemplo
La siguiente instrucción SQL encuentra el precio del producto más barato:

EjemploObtenga su propio servidor SQL


SELECT MIN(Price) AS SmallestPrice
FROM Products;

Pruébalo tú mismo »

MAX ( ) Ejemplo
La siguiente instrucción SQL encuentra el precio del producto más caro:

EjemploObtenga su propio servidor SQL


SELECT MAX(Price) AS LargestPrice
FROM Products;

Pruébalo tú mismo »

Probarse con ejercicios


Ejercicio:
Usa el MIN función para seleccionar el registro con el valor más pequeño del Price columna.

SELECCIONAR
DE productos;

Enviar respuesta »

Iniciar el ejercicio

También podría gustarte