Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Unidad 3 Actividad 4
Pgina 1
La columna P_Id es del tipo INTEGER y contendr un nmero. Los campos o columnas de nombre, direccin, ciudad son del tipo varchar con una longitud mxima de 255 caracteres. La tabla vacia de Personas luce como sigue: P_Id Apellido Nombre Direccin Ciudad
DROP DATABASE Este enunciado es usado para borrar una base o un ndice. Sintaxis para DROP INDEX para MySQL
DROP INDEX table_name.index_name
ALTER TABLE Este enunciado es usado para agregar, borrar o modificar columnas o campos en una tabla existente. Sintaxis para ALTER TABLE para SQL
ALTER TABLE table_name ADD column_name datatype
Unidad 3 Actividad 4
Pgina 2
Sintaxis para borrar una columna con ALTER TABLE para SQL
ALTER TABLE table_name DROP COLUMN column_name
Unidad 3 Actividad 4
Pgina 3
Enunciado SELECT de SQL Este enunciado es usado para seleccionar datos de una base de datos, el resultado es almacenado en una tabla llamada result-set. Sintaxis para SELECT de SQL
SELECT column_name(s) FROM table_name SELECT * FROM table_name
Ejemplo de SELECT
P_Id 1 2 3 Apellido Hansen Svendson Pettersen Nombre Ola Tove Kari Direccin Timoteivn 10 Borgvn 23 Storgt 20 Ciudad Sandnes Sandnes Stavanger
Unidad 3 Actividad 4
Pgina 4
Ahora queremos seleccionar solamente los valores distintos de la columna llamada Ciudad de la base anterior utilizando la siguiente sintaxis:
SELECT DISTINCT Ciudad FROM Personas
Enunciado INSERT INTO de SQL Este enunciado es usado para insertar o agregar nuevos registros o renglones en una tabla. Sintaxis para INSERT INTO de SQL Hay 2 formas de insertar datos a la tabla. La primera forma no especifica los nombres de las columnas donde el dato ser insertado, solamente sus valores
INSERT INTO table_name VALUES (value1, value2, value3,...)
La segunda forma especfica ambos, es decir, el nombre la columna y los valores a ser insertados
INSERT INTO table_name (column1, column2, column3,...) VALUES (value1, value2, value3,...)
Unidad 3 Actividad 4
Pgina 5
Ahora queremos insertar un Nuevo rengln en la tabla Personas. Usamos la siguiente sintaxis: INSERT INTO Personas VALUES (4,'Nilsen', 'Johan', 'Bakken 2', 'Stavanger')
Ejemplo de INSERT INTO en donde se especifican ambos, es decir, el nombre la columna y los valores a ser insertados; vamos a agregar un nuevo rengln, pero solamente agregaremos el P_Id, Apellido y Nombre.
INSERT INTO Personas (P_Id, Apellido, Nombre) VALUES (5, 'Tjessem', 'Jakob')
Unidad 3 Actividad 4
Pgina 6
Nota: Observamos el comando WHERE en la sintaxis UPDATE. El comando WHERE especifica cual registro o registros debern ser actualizados. S se omite el comando WHERE, todos los registros sern actualizados.
P_Id 1 2 3 4 5 Apellido Hansen Svendson Pettersen Nilsen Tjessem Nombre Ola Tove Kari Johan Jakob Direccin Timoteivn 10 Borgvn 23 Storgt 20 Bakken 2 Ciudad Sandnes Sandnes Stavanger Stavanger
Ahora queremos actualizar el registro 5 de Tjessem Jakob en la tabla anterior con la siguiente sintaxis:
UPDATE Persons SET Address='Nissestien 67', City='Sandnes' WHERE LastName='Tjessem' AND FirstName='Jakob'
Unidad 3 Actividad 4
Pgina 7
Enunciado DELETE de SQL Este enunciado es usado para borrar registros en una tabla. Sintaxis para UPDATE de SQL
DELETE FROM table_name WHERE some_column=some_value
Nota: Observamos el comando WHERE en la sintaxis DELETE. El comando WHERE especifica cual registro o registros debern ser borrados. Si omitimos el comando WHERE, todos los registros sern borrados.
P_Id 1 2 3 4 5 Apellido Hansen Svendson Pettersen Nilsen Tjessem Nombre Ola Tove Kari Johan Jakob Direccin Timoteivn 10 Borgvn 23 Storgt 20 Bakken 2 Nissestien 67 Ciudad Sandnes Sandnes Stavanger Stavanger Sandnes
Ahora queremos borrar el registro de la persona "Tjessem, Jakob" de la tabla PERSONAS con la siguiente sintaxis:
DELETE FROM Personas WHERE Apellido='Tjessem' AND Nombre='Jakob'
Unidad 3 Actividad 4
Pgina 8
Advertencia para DELETE de SQL Seamos cuidadosos cuando borramos registros ya que no podemos deshacer este comando.
Notamos que la columna P_Id es la llave primaria de la tabla Personas. Esto significa que 2 renglones NO pueden tener el mismo P_Id. El P_Id distingue a 2 personas an si ellas tienen el mismo nombre.
Unidad 3 Actividad 4
Pgina 9
La llave primaria es la columna O_Id y la columna P_Id se refiere a las personas en la tabla Personas sin usar sus nombres. Notamos que la relacin entre las tablas es P_Id. La Keyword de SQL JOIN se puede usar de diferentes formas:
JOIN: Devolver filas cuando hay al menos una coincidencia en las dos tablas LEFT JOIN: Devolver todas las filas de la tabla de la izquierda, incluso si no hay
coincidencias en la tabla de la derecha RIGHT JOIN: Devolver todas las filas de la tabla de la derecha, incluso si no hay coincidencias en la tabla de la izquierda FULL JOIN: Devolver filas cuando hay un coincidencia en una de la tablas
Unidad 3 Actividad 4
Pgina 10
La tabla Ordenados
O_Id 1 2 3 4 5 OrderNo 77895 44678 22456 24562 34764 P_Id 3 3 1 1 15
Ahora queremos listar a todas las personas con cualquier orden con la siguiente sintaxis:
SELECT Personas. Apellido, Personas. Nombre, Ordenados.OrderNo FROM Personas INNER JOIN Ordenados ON Personas.P_Id=Ordenados.P_Id ORDER BY Personas. Apellido
Unidad 3 Actividad 4
Pgina 11
Nota: El operador UNION selecciona solamente distintos valores por default. Para permitir
valores duplicados, usar UNION ALL.
Ejemplo de UNION SQL Tabla de Empleados_Mxico E_ID 01 02 03 04 E_Nombre Urbieta, Arturo Castro, Leticia Prez, Pedro Snchez, Osvaldo
Tabla de Empleados_Monterrey E_ID 01 02 03 04 E_Nombre Gonzlez, Alan Talancn, Alejandro Sanabria, Susana Prez, Pedro
Ahora queremos listar a todos los empleados de Mxico y Monterrey con la siguiente sintaxis y empleando la instruccin SELECT. SELECT E_Nombre FROM Empleados_Mxico UNION SELECT E_Nombre FROM Empleados_Monterrey
Unidad 3 Actividad 4
Pgina 12
Nota: Los nombres de las columnas resultantes de la UNION son siempre iguales a los nombres de las columnas de la primera instruccin SELECT en la UNION.
SELECT E_Nombre FROM Empleados_Mxico UNION ALL SELECT E_Nombre FROM Empleados_Monterrey
Quedando el siguiente resultado: E_Nombre Urbieta, Arturo Castro, Leticia Prez, Pedro Snchez, Osvaldo Gonzlez, Alan Talancn, Alejandro Sanabria, Susana Prez, Pedro
Unidad 3 Actividad 4
Pgina 13
Bases de datos / Actividad 4 Unidad 3 / Arturo Urbieta Reyes BDD_U2_A4_ARUR_EN SQL Server Data Types
Character strings: Data type char(n) varchar(n) varchar(max) Description Fixed-length character string. Maximum 8,000 characters Variable-length character string. Maximum 8,000 characters Variable-length character string. Maximum 1,073,741,824 characters Variable-length character string. Maximum 2GB of text data Storage n
Text
Unicode strings: Data type nchar(n) nvarchar(n) nvarchar(max) Ntext Description Fixed-length Unicode data. Maximum 4,000 characters Variable-length Unicode data. Maximum 4,000 characters Variable-length Unicode data. Maximum 536,870,912 characters Variable-length Unicode data. Maximum 2GB of text data Storage
Binary types: Data type Bit binary(n) varbinary(n) varbinary(max) Image Description Allows 0, 1, or NULL Fixed-length binary data. Maximum 8,000 bytes Variable-length binary data. Maximum 8,000 bytes Variable-length binary data. Maximum 2GB Variable-length binary data. Maximum 2GB Storage
Unidad 3 Actividad 4
Pgina 14
Allows whole numbers between -2,147,483,648 and 2,147,483,647 4 bytes Allows whole numbers between -9,223,372,036,854,775,808 and 9,223,372,036,854,775,807 Fixed precision and scale numbers. Allows numbers from -10^38 +1 to 10^38 1. The p parameter indicates the maximum total number of digits that can be stored (both to the left and to the right of the decimal point). p must be a value from 1 to 38. Default is 18. The s parameter indicates the maximum number of digits stored to the right of the decimal point. s must be a value from 0 to p. Default value is 0 8 bytes
decimal(p,s)
5-17 bytes
numeric(p,s)
Fixed precision and scale numbers. Allows numbers from -10^38 +1 to 10^38 1. The p parameter indicates the maximum total number of digits that can be stored (both to the left and to the right of the decimal point). p must be a value from 1 to 38. Default is 18. The s parameter indicates the maximum number of digits stored to the right of the decimal point. s must be a value from 0 to p. Default value is 0
5-17 bytes
Smallmoney Money
Monetary data from -214,748.3648 to 214,748.3647 Monetary data from -922,337,203,685,477.5808 to 922,337,203,685,477.5807
4 bytes 8 bytes
float(n)
Floating precision number data from -1.79E + 308 to 1.79E + 308. 4 or 8 bytes The n parameter indicates whether the field should hold 4 or 8 bytes. float(24) holds a 4-byte field and float(53) holds an 8-byte field. Default value of n is 53. Floating precision number data from -3.40E + 38 to 3.40E + 38 4 bytes
Real
Date types:
Unidad 3 Actividad 4
Pgina 15
datetime2
Smalldatetime
Date Time
Datetimeoffset
timestamp
Stores a unique number that gets updated every time a row gets created or modified. The timestamp value is based upon an internal clock and does not correspond to real time. Each table may have only one timestamp variable
Other data types: Data type sql_variant Description Stores up to 8,000 bytes of data of various data types, except text, ntext, and timestamp Stores a globally unique identifier (GUID) Stores XML formatted data. Maximum 2GB Stores a reference to a cursor used for database operations Stores a result-set for later processing
Unidad 3 Actividad 4
Pgina 16