lunes, 17 de diciembre de 2012

Sentencias básicas MySQL

-->
Conectarse a mysql:
mysql [-h IP] -u usuario -p [nombrebasedatos] [--local-infile]

Mostrar variables del sistema-- show variables;

Utilizar una base de datos----- use nbasedatos;

Mostar todas las bases de datos---- show databases;

Crear una base de datos----- create database nombre;

Borrar una base de datos---- drop database nombre;

Mostrar tablas de una base de datos--- show tables;

Crear tablas----- create table nombre(
campo1 tipodato(X) restricciones,
campo2 tipodato restricciones
);
Definicion de claves foraneas ----------- foreign key (campo) references tablaref(campo)
on delete cascade --- cuando borras borra los registros de la tabla padre de la tabla hija
on delete set null --- Cuando borres o actualices el registro de una tabla padre:
          • establece NULL la o las columnas de clave foranea en la tabla hija.
          • Solo valido si las columnas de clave foranea no se han definido como not null.
On delete no action – Su borra o actualiza un valor de clave primaria no sera permitido si en la tabla referenciada hay un valor de clave foranea relacionado.

Modificar tablas -- alter table add/modify/drop resto de sentencias;
LTER TABLE PRUEBAS ADD(
OMBRE VARCHAR (5)
lter table PRUEBA modify
ODEC varchar (2) PRIMARY KEY AUTO_INCREMENT;
Renombrar base de datos -------- rename table prueba to prueba2;

Copiar tablas (solo estructura)-- create table nuevatabla like tablavieja;

Copiar tablas (con registros) – create table nombretabla select * from tablavieja;

Cambiar registro de una tabla-- update tabla set id=55 where id=1;

Añadir registros-- insert into ntabla values('valor', 1, NULL)
insert into ntabla(campo1,campo2) values ('valor1','valor2');



Insertar registro desde fichero de texto plano--
load data local infile 'ruta fichero' into table ntabla;

los valores se separan por tabulaciones y los registros null por /N

Borrar tabla--- drop table nombre;


Borrar registros de una tabla---- delete from table;

Mostrar registros de una tabla---- select * from table;

Ver usuarios creados--------- select * from user.mysql;

Crear usuarios locales-------- create user 'nombre'@'localhost' IDENTIFIED BY 'pass';

Crear usuarios globales------ create user 'nombre'@'%' IDENTIFIED BY 'pass';

Borrar usuarios--------------- drop user 'nombre'@'localhost';
para borrarlos se necesita quitarle todos los permisos antes ( revoke all on *.* to usuario; )

Ver privilegios--------------- show grants for usuario;

Dar privilegios-------------- grant privilegio on objeto from usuario identified by 'pass';
con esta sentecia si no existe el usuario te lo crea por ello la parte de la contraseña.
Para dar permisos de asignacion de permisos le añadimos with grant option;

grant select matricula on Ejercicio1.coches to 'usuario'@'localhost';



INDEX--- Indices

Los compos llaves son indices por defecto.
Los campos que hacen referencia a los campos calve no son indices pero se pueden definir como tales.

INDEX [identificador] (campo1,...)

Para comprobar si el index se ha definido en la tabla: show create table tabla;
y entonces en la descripción al lado del campo index tiene que salir “key”.



MODIFICAR TAMAÑO DE CAMPO
si un campo de lonngitud (5) tiene un registro de 5 caracteres o digitos, al cambiar de longitud (3) este sera acortado a tamaño 3.

DEFAULT
no modifica datos existentes
si se crea un campo nuevo con default se aplica a todo.

Principales tipos de datos

Números enteros pequeños---------- tinyint
Números con coma ------------------- float(ent,dec)
Cadena de caracteres----------------- Varchar
Binarios (V – F) ---------------------- Bool
Fecha ----------------------------------Date

unsigned --- no permite signo
autoincrement – autoincrementable (codigos)

PRIMARY KEY
si añades un campo como primary key se anula el anterior

ENUM (tipo de dato)
Solo acepta los valores que se especifican
nombrecampo ENUM('opcion1','opcion2',..)
alter table departamento modify
sede varchar (21) default 'Mates';

10 comentarios: