Está en la página 1de 27

PrimeraEscueladelaRedTemticaSVO.

Madrid,Noviembre,2728,2006

SQLbsico

CarlosRodrigoBlanco
LAEFFINTA
crb@laeff.inta.es
QuesSQL

Ellenguajedeconsultaestructurado(SQL)esun
lenguajedebasededatosnormalizado,utilizadopor
losdiferentesmotoresdebasesdedatospararealizar
determinadasoperacionessobrelosdatososobrela
estructuradelosmismos.

CarlosRodrigoBlanco SQLbsico,Pgina2
Mysql:ungestordeBD

Ungestordebasededatos.
Sencillo
Gratuito
Rpidoyeficiente.
Paralinux/windows

CarlosRodrigoBlanco SQLbsico,Pgina3
Unabasededatos

Unconjuntodetablas
relacionadasentres:
Unapeadeun
equipodeftbolen
internet.

CarlosRodrigoBlanco SQLbsico,Pgina4
Consultarlabasededatos

SELECT...FROM...WHERE...etc

SELECT(campos)FROM(tablas)WHERE(condiciones)...

CarlosRodrigoBlanco SQLbsico,Pgina5
Consultarlabasededatos
SELECT
[ALL|DISTINCT|DISTINCTROW]
select_expr,...
[FROMtable_references
[WHEREwhere_condition]
[GROUPBY{col_name|expr|position}]
[HAVINGwhere_condition]
[ORDERBY{col_name|expr|position}
[ASC|DESC],...]
[LIMIT{[offset,]row_count|row_countOFFSEToffset}]
[INTOOUTFILE'file_name'export_options]

CarlosRodrigoBlanco SQLbsico,Pgina6
SELECT:ejemplos
SELECTsocio_id,nombre,emailFROMsociosWHEREpais_id=14;

SELECTsocio_id,nombre,emailFROMsociosWHEREnombrelike'Alicia%';

CarlosRodrigoBlanco SQLbsico,Pgina7
SELECT:ejemplos
SELECTcount(*)FROMsocios;

SELECTpais_id,count(*)asnsociosFROMsocios
groupbypais_idorderbynsociosdesclimit10;

CarlosRodrigoBlanco SQLbsico,Pgina8
SELECT:ejemplos
SELECTsocio_id,nombre,email,pais_idFROMsociosWHEREnombrelike'Alicia%';

SELECTs.socio_id,s.nombre,s.email,p.nombreaspais
FROMsocioss,paisesp
WHEREp.pais_id=s.pais_idands.nombrelike'Alicia%';

CarlosRodrigoBlanco SQLbsico,Pgina9
SELECT:ejemplos
SELECTpais_id,count(*)asnsocios SELECTp.nombreaspais,count(*)asnsocios
FROMsocios FROMsocioss,paisesp
groupbypais_id WHEREp.pais_id=s.pais_id
orderbynsociosdesc groupbyp.pais_id
limit10; orderbynsociosdesc
limit10;

CarlosRodrigoBlanco SQLbsico,Pgina10
SELECT:ejemplos

SELECTp.nombreaspais,count(*)asnsocios
FROMsocioss,paisesp
WHEREp.pais_id=s.pais_id
groupbyp.pais_id
HAVINGnsociosbetween10and20
orderbynsociosdesc
limit10;

CarlosRodrigoBlanco SQLbsico,Pgina11
Cambiarlosdatos

UPDATE...SET...WHERE...

UPDATE(tabla)SET(campo=valor)WHERE(condiciones)...

CarlosRodrigoBlanco SQLbsico,Pgina12
Cambiarlosdatos
UPDATEtbl_name
SETcol_name1=expr1[,col_name2=expr2...]
[WHEREwhere_condition]
[ORDERBY...]
[LIMITrow_count]

CarlosRodrigoBlanco SQLbsico,Pgina13
UPDATE:ejemplos

UPDATEsociosSETpais_id=162WHEREsocio_id=1;

CarlosRodrigoBlanco SQLbsico,Pgina14
UPDATE:ejemplos

UPDATEsociosSETemail=LOWER(email);

UPDATEsociosSETpuntos=puntos+2WHEREpuntos<2;

CarlosRodrigoBlanco SQLbsico,Pgina15
InsertarDatos

INSERTINTO...(...,...)VALUES(...,...)

INSERTINTO(tabla)(campo1,...,campoN)VALUES
(valor1,...,valorN)...

INSERTINTO...SET...

INSERTINTO(tabla)SET
campo1=valor1,...,campoN=valorN

CarlosRodrigoBlanco SQLbsico,Pgina16
InsertarDatos
INSERTINTOsocios
(socio_id,email,pais_id,provincia_id,nombre)
VALUES(7000,'pepe@austria.com',14,0,'PepeMartnez');

CarlosRodrigoBlanco SQLbsico,Pgina17
BorrarDatos

DELETEFROM...WHERE...

DELETEFROMtablaWHEREconditions

DELETEFROMsociosWHEREsocio_id=7000;

CarlosRodrigoBlanco SQLbsico,Pgina18
VerlaestructuradelaBasedeDatos

SHOWTABLES

CarlosRodrigoBlanco SQLbsico,Pgina19
VerlaestructuradelaBasedeDatos

DESCtabla

CarlosRodrigoBlanco SQLbsico,Pgina20
Crearunatabla

CREATETABLE...(...)

CREATETABLE[IFNOTEXISTS]tbl_name(

col_name1data_typeoptions,
...
col_nameNdata_typeoptions,
);

CarlosRodrigoBlanco SQLbsico,Pgina21
Crearunatabla


data_type:
INT[(length)][UNSIGNED][ZEROFILL]
DOUBLE[(length,decimals)][UNSIGNED][ZEROFILL]
DATE
TIMESTAMP
VARCHAR(length)
TEXT
BLOB
ENUM(value1,value2,value3,...)

CarlosRodrigoBlanco SQLbsico,Pgina22
Crearunatabla


Options:
[NOTNULL|NULL]
[DEFAULTdefault_value]
[AUTO_INCREMENT]
[UNIQUE[KEY]|[PRIMARY]KEY]
[COMMENT'string']

CarlosRodrigoBlanco SQLbsico,Pgina23
Crearunatabla

CREATETABLEsocios(
socio_idint(7)NOTNULLAUTO_INCREMENT,
nombrechar(255)NOTNULLdefault''
emailchar(69)NOTNULLdefault'',
pais_idint(4)NOTNULLdefault'0',
provincia_idint(4)NOTNULLdefault'0',
);

CarlosRodrigoBlanco SQLbsico,Pgina24
Cambiarunatabla

ALTERTABLE...[...]

ALTERTABLEtablename...

ADD[COLUMN]column_definition
CHANGE[COLUMN]old_col_namecolumn_definition
DROP[COLUMN]col_name
RENAME[TO]new_tbl_name
...
ADD{INDEX|KEY}[index_name][index_type]
(index_col_name,...)
ADDPRIMARYKEY[index_type](index_col_name,...)
ADDUNIQUE[INDEX|KEY][index_name][index_type]
(index_col_name,...)
CarlosRodrigoBlanco SQLbsico,Pgina25
Eliminarunatabla

DROPTABLE...

DROPTABLE[IFEXISTS]tablename...
[IFEXISTS]

CarlosRodrigoBlanco SQLbsico,Pgina26
Mysql:aplicaciones

CarlosRodrigoBlanco SQLbsico,Pgina27

También podría gustarte