You are on page 1of 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 FROMsocios groupbypais_id orderbynsociosdesc limit10; SELECTp.nombreaspais,count(*)asnsocios FROMsocioss,paisesp WHEREp.pais_id=s.pais_id groupbyp.pais_id 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...
[IFEXISTS] DROPTABLE[IFEXISTS]tablename...

CarlosRodrigoBlanco

SQLbsico,Pgina26

Mysql:aplicaciones

CarlosRodrigoBlanco

SQLbsico,Pgina27