Actividad - 2.5 - Comandos - SQL
Actividad - 2.5 - Comandos - SQL
Actividad - 2.5 - Comandos - SQL
EJEMPLO
DROP TABLE borra una o más tablas. Debe tener el permiso DROP para cada tabla.
Todos los datos de la definición de tabla son borrados, así que tenga cuidado con
este comando! Use IF EXISTS para evitar un error para tablas que no existan. Un NOTE
se genera para cada tabla no existente cuando se usa IF EXISTS. Consulte Sección
13.5.4.22, “Sintaxis de SHOW WARNINGS”. RESTRICT y CASCADE se permiten para
hacer la portabilidad más fácil. De momento, no hacen nada. Nota: DROP TABLE
hace un commit automáticamente con la transacción activa,a no ser que use la
palabra TEMPORARY. La palabra TEMPORARY tiene el siguiente efecto: • El
comando sólo borra tablas TEMPORARY. • El comando no acaba una transacción
en marcha. • No se chequean derechos de acceso. (Una tabla TEMPORARY es
visible sólo para el cliente que la ha creado, así que no es necesario.) Usar
TEMPORARY es una buena forma de asegurar que no borra accidentalmente una
tabla no TEMPORAR
AQUÍ
EJEMPLO
Permite ‘INSERTAR datos uno por uno. Comenzaremos con Leonard Hofstadter.
Trataremos el número de contacto como un tipo de datos numéricos y no
incluiremos el número entre comillas simples.
Para evitar tales problemas, el valor debe estar entre comillas simples como se
muestra a continuación:
1
2
Update
UPDATE table_name
WHERE condition
Volvemos a mirar los datos de la tabla "publisher2" y vemos que los datos han sido
actualizados correctamente;
Delete
Sintaxis:
USING table-references
[WHERE where_definition]
EMEPLO:
Select
Sintaxis
En su forma más simple, la sintaxis para la instrucción SELECT en
MySQL es:
SELECT campos
FROM tablas
[WHERE condiciones];
create_definition:
column_definition
| [CONSTRAINT [symbol]] PRIMARY KEY [index_type]
(index_col_name,...)
| KEY [index_name] [index_type]
(index_col_name,...)
| INDEX [index_name] [index_type]
(index_col_name,...)
| [CONSTRAINT [symbol]] UNIQUE [INDEX]
[index_name] [index_type]
(index_col_name,...)
| [FULLTEXT|SPATIAL] [INDEX] [index_name]
(index_col_name,...)
| [CONSTRAINT [symbol]] FOREIGN KEY
[index_name] (index_col_name,...)
[reference_definition]
| CHECK (expr)
column_definition:
col_name type [NOT NULL | NULL] [DEFAULT
default_value]
[AUTO_INCREMENT] [UNIQUE [KEY] | [PRIMARY]
KEY]
[COMMENT 'string'] [reference_definition]
type:
TINYINT[(length)] [UNSIGNED] [ZEROFILL]
| SMALLINT[(length)] [UNSIGNED] [ZEROFILL]
| MEDIUMINT[(length)] [UNSIGNED] [ZEROFILL]
| INT[(length)] [UNSIGNED] [ZEROFILL]
| INTEGER[(length)] [UNSIGNED] [ZEROFILL]
| BIGINT[(length)] [UNSIGNED] [ZEROFILL]
| REAL[(length,decimals)] [UNSIGNED] [ZEROFILL]
| DOUBLE[(length,decimals)] [UNSIGNED] [ZEROFILL]
| FLOAT[(length,decimals)] [UNSIGNED] [ZEROFILL]
| DECIMAL(length,decimals) [UNSIGNED] [ZEROFILL]
| NUMERIC(length,decimals) [UNSIGNED] [ZEROFILL]
| DATE
| TIME
| TIMESTAMP
| DATETIME
| CHAR(length) [BINARY | ASCII | UNICODE]
| VARCHAR(length) [BINARY]
| TINYBLOB
| BLOB
| MEDIUMBLOB
| LONGBLOB
| TINYTEXT [BINARY]
| TEXT [BINARY]
| MEDIUMTEXT [BINARY]
| LONGTEXT [BINARY]
| ENUM(value1,value2,value3,...)
| SET(value1,value2,value3,...)
| spatial_type
index_col_name:
col_name [(length)] [ASC | DESC]
reference_definition:
REFERENCES tbl_name [(index_col_name,...)]
[MATCH FULL | MATCH PARTIAL | MATCH
SIMPLE]
[ON DELETE reference_option]
[ON UPDATE reference_option]
reference_option:
RESTRICT | CASCADE | SET NULL | NO ACTION
table_option:
{ENGINE|TYPE} = engine_name
| AUTO_INCREMENT = value
| AVG_ROW_LENGTH = value
| [DEFAULT] CHARACTER SET charset_name [COLLATE
collation_name]
| CHECKSUM = {0 | 1}
| COMMENT = 'string'
| MAX_ROWS = value
| MIN_ROWS = value
| PACK_KEYS = {0 | 1 | DEFAULT}
| PASSWORD = 'string'
| DELAY_KEY_WRITE = {0 | 1}
| ROW_FORMAT =
{DEFAULT|DYNAMIC|FIXED|COMPRESSED|REDUNDANT|COMPACT}
| RAID_TYPE = { 1 | STRIPED | RAID0 }
RAID_CHUNKS = value
RAID_CHUNKSIZE = value
| UNION = (tbl_name[,tbl_name]...)
| INSERT_METHOD = { NO | FIRST | LAST }
| DATA DIRECTORY = 'absolute path to directory'
| INDEX DIRECTORY = 'absolute path to directory'
select_statement:
[IGNORE | REPLACE] [AS] SELECT ... (Some legal select
statement)
Alter
Sintaxis
ALTER {DATABASE | SCHEMA} [db_name] alter_specification [, alter_specification] ...
alter_specification: [DEFAULT] CHARACTER SET charset_name | [DEFAULT] COLLATE
collation_name
EJEMPLO
sintaxis básica utilizada para agregar una columna a una tabla ya existente se
muestra a continuación
table_name es el comando que le dice al servidor MySQL que
modifique la tabla llamada table_name.
column_name data_type es el comando que le dice al servidor
MySQL que agregue una nueva columna llamada ‘column_name’ con el tipo de
datos’ data_type ‘.
Supongamos que Myflix ha introducido facturación y pagos en línea. Con ese fin, se
nos ha pedido que agreguemos un campo para el número de tarjeta de crédito en
nuestra tabla de miembros. Podemos usar el comando ALTER para hacer
eso. Primero veamos la estructura de la tabla de miembros antes de hacer cualquier
enmienda. El script que se muestra a continuación nos ayuda a hacer eso.
número de
socio int (11) NO PRI NULO autoincremento
nombres varchar
completos (350) NO NULO
varchar
género (6) SÍ NULO
fecha de
nacimiento fecha SÍ NULO
dirección varchar
física (255) SÍ NULO
direccion varchar
postal (255) SÍ NULO
número de varchar
contacto (75) SÍ NULO
correo varchar
electrónico (255) SÍ NULO
Podemos usar el script que se muestra a continuación para agregar un nuevo campo
a la tabla de miembros.
Ejecutar el script anterior en MySQL contra Myflixdb agrega una nueva columna
llamada número de tarjeta de crédito a la tabla de miembros con VARCHAR como el
tipo de datos. Ejecutar el script show columns nos da los siguientes resultados.
Drop
Sintaxis
DROP {DATABASE | SCHEMA} [IF EXISTS] db_name
SET AUTOCOMMIT=0
Después de desconectar el modo autocommit asignando
cero a la variable AUTOCOMMIT, se debe usar COMMIT para
almecenar los cambios en disco o ROLLBACK si se quieren
ignorar los cambios hechos desde el principio de la
transacción.
START TRANSACTION;
SELECT @A:=SUM(salary) FROM table1 WHERE type=1;
UPDATE table2 SET summmary=@A WHERE type=1;
COMMIT;
Se puede usar BEGIN y BEGIN WORK en lugar de START
TRANSACTION para iniciar una transacción. START
TRANSACTION fue añadido en MySQL 4.0.11; es la sintaxis SQL-
99 y es el modo recomendado para empezar una transacción.
BEGIN y BEGIN WORK están disponibles desde MySQL 3.23.17 y
3.23.19, respectivamente.
SET AUTOCOMMIT=0
Después de desconectar el modo autocommit asignando cero a
la variable AUTOCOMMIT, se debe usar COMMIT para almecenar
los cambios en disco o ROLLBACK si se quieren ignorar los cambios
hechos desde el principio de la transacción.
Si se quiere desactivar el modo autocommit para una serire de
sentencias, se puede usar una sentencia START TRANSACTION:
START TRANSACTION;
SELECT @A:=SUM(salary) FROM table1 WHERE type=1;
UPDATE table2 SET summmary=@A WHERE type=1;
COMMIT;
Se puede usar BEGIN y BEGIN WORK en lugar de START
TRANSACTION para iniciar una transacción. START TRANSACTION
fue añadido en MySQL 4.0.11; es la sintaxis SQL-99 y es el modo
recomendado para empezar una transacción. BEGIN y BEGIN
WORK están disponibles desde MySQL 3.23.17 y 3.23.19,
respectivamente.
SET AUTOCOMMIT=0
Después de desconectar el modo autocommit asignando cero a
la variable AUTOCOMMIT, se debe usar COMMIT para almecenar
los cambios en disco o ROLLBACK si se quieren ignorar los cambios
hechos desde el principio de la transacción.
START TRANSACTION;
SELECT @A:=SUM(salary) FROM table1 WHERE type=1;
UPDATE table2 SET summmary=@A WHERE type=1;
COMMIT;
Se puede usar BEGIN y BEGIN WORK en lugar de START
TRANSACTION para iniciar una transacción. START TRANSACTION
fue añadido en MySQL 4.0.11; es la sintaxis SQL-99 y es el modo
recomendado para empezar una transacción. BEGIN y BEGIN
WORK están disponibles desde MySQL 3.23.17 y 3.23.19,
respectivamente.