1 MySQL

Embed Size (px)

Citation preview

  • 7/26/2019 1 MySQL

    1/34

    DISEO DE BASE DEDATOS MYSQL

    (BSICO)

    [email protected]@hotmail.om

    MATI. I!" O#TI$ #AM%#E$MATI. I!" O#TI$ #AM%#E$

    mailto:[email protected]:[email protected]:[email protected]
  • 7/26/2019 1 MySQL

    2/34

    T&mario

    I'troui' *i+toria I'+talai'

    Co'&,i' - &+o'&,i' al +&rior Ti/o+ & ato+ &' M-S0l

    Cr&a'o u'a 1a+& & ato+ (BD) Cr&ai' BD Cr&ai' & ta1la Li+tao & la+ ta1la+ & u'a BD E+trutura & u'a ta1la 2orma+ & i'+&rtar r&3i+tro+

    I'+&rtar ato+ &'tro & u'a i'+trui' I'+&rtar u'a 3ra' a'tia & ato+ &+& u' arhio

    #&u/&rai' & i'4ormai' & ta1la+ Or&'ai'

    Elimi'ar r&3i+tro+ Cam1io+ &' lo+ r&3i+tro+ & u'a ta1la

  • 7/26/2019 1 MySQL

    3/34

    T&mario

    Elimi'ar u'a ta1la Moi4iar la &+trutura & u'a ta1la A3r&3ar olum'a+ a u'a ta1la Elimi'ar olum'a+

    Elimi'ar u'a Ba+& & Dato+ ro3rama+ /ara i'+talar u' +&rior 6&1

  • 7/26/2019 1 MySQL

    4/34

    El +i+t&ma & 1a+& & ato+ o/&raio'al M-SQL &+ ho- &' a u'o & lo+m8+ im/orta't&+ &' lo 0u& ha& al i+&9o - /ro3ramai' & 1a+& & ato+& ti/o r&laio'al.

    Cu&'ta o' millo'&+ & a/liaio'&+ - a/ar&& &' &l mu'o i'4orm8tioomo u'a & la+ m8+ utili:aa+ /or u+uario+ &l m&io. El /ro3rama M-SQL

    +& u+a omo +&rior a tra;+ &l ual /u&&' o'&tar+& m&+ & /ro3ramai' 0u& +& aa/ta' a i4&r&'t&+ '&&+ia&+ -

    r&0u&rimi&'to+.

    M-SQL &+ o'oia /or &+arrollar alta &loia &' la 1

  • 7/26/2019 1 MySQL

    5/34

    La hi+toria &l M-SQL (u-a +i3la &' i'3l;+ +& tra+laa a M- Strutur&Qu&r- La'3ua3& o L&'3ua>& & Co'+ulta E+truturao)

    +& r&mit& a /ri'i/io+ & la ;aa & .

    ro3ramaor&+ & IBM lo &+arrollaro' /ara o'tar o' u' i3o &/ro3ramai' 0u& /&rmiti&ra 3&'&rar m

  • 7/26/2019 1 MySQL

    6/34

    Al3u'o+ Co'&/to+

    SQL? Strutur& Qu&r- La'3ua3& (L&'3ua>& & Co'+ulta E+truturao) &+ u'l&'3ua>& & /ro3ramai' /ara tra1a>ar o' 1a+& & ato+ r&laio'al&+ omoM-SQL? Oral&? &t.

    M-SQL &+ u' i't&r/r&taor & SQL? &+ u' +&rior & 1a+& & ato+.

    M-SQL /&rmit& r&ar 1a+& & ato+ - ta1la+? i'+&rtar ato+? moi4iarlo+?&limi'arlo+? or&'arlo+? ha&r o'+ulta+ - r&ali:ar muha+ o/&raio'&+? &t.?

    La +&'+i1ilia a ma-&m/lo i'o6+ i't&r/r&ta i3ualm&'t& la+ +i3ui&'t&+ +&'t&'ia+Fr&at& ata1a+& ami'i+traio'GCr&at& DataBa+& ami'i+traio'G

  • 7/26/2019 1 MySQL

    7/34

    El equipo en el que se ejecuta MySQL y que almacena los datos se denomina

    sewidor MySQL. Para establecer una conexin a este servidor dispone de

    varias opciones de instalacin.

    En primer lu!ar puede instalar el cliente y el servidor MySQL en su equipo de

    escritorio.

    I'+talai'

  • 7/26/2019 1 MySQL

    8/34

    En se!undo lu!ar puede instalar el cliente MySQL en su equipo de sobremesa y el

    servidor MySQL en otro equipo al que se establecer" la conexin.

    Por ultimo su equipo de sobremesa puede ser cualquier ordenador que se

    conecte a otro equipo con un cliente MySQL instalado que a su ve# se

    conectara al servidor MySQL situado en el mismo equipo o en otro como muestra

    la $i!ura %.&.

    I'+talai'

  • 7/26/2019 1 MySQL

    9/34

    ara i'iiar &l motor &l M-SQL? &1&mo+ +&3uir lo+ +i3ui&'t&+ /a+o+F. E'tramo+ al +m1olo & +i+t&ma+. E'tramo+ a la ar/&ta o'& t&'&mo+ 3uarao 'u&+tro M-SQL.

    H. T&l&amo+ la +i3ui&'t& i'+trui'Fmysql h localhost u root -p. "o+ /&ir8 u' /a++6or?

  • 7/26/2019 1 MySQL

    10/34

    Al r&ar u'a ta1la &1&mo+ r&+ol&r 0u; am/o+ (olum'a+) t&'r8 - 0u&ti/o & ato+ alma&'ar8 aa u'o & &llo+? &+ &ir? +u &+trutura. E+to++o' al3u'o+ ti/o+ & ato+ 18+io+F

    arharF +& u+a /ara alma&'ar a&'a+ & arat&r&+. ='a a&'a &+ u'a+&u&'ia & arat&r&+. S& oloa &'tr& omilla+ (+im/l&+)F J*olaJ. El ti/oKarharK &4i'& u'a a&'a & lo'3itu aria1l& &' la ual &t&rmi'amo+&l m8,imo & arat&r&+. u&& 3uarar ha+ta 55 arat&r&+. araalma&'ar a&'a+ & ha+ta H arat&r&+? &4i'imo+ u' am/o & ti/oarhar(H). Si a+i3'amo+ u'a a&'a & arat&r&+ & ma-or lo'3itu0u& la &4i'ia? la a&'a +& orta.

    or &>&m/lo? +i &4i'imo+ u' am/o & ti/o arhar() - l& a+i3'amo+ laa&'a JBu&'a+ tar&+J? +& alma&'ar8 JBu&'a+ tarJ a>u+t8'o+& a lalo'3itu & arat&r&+.

    Ti/o+ & ato+ &' M-S0l

  • 7/26/2019 1 MySQL

    11/34

    i't&3&rF +& u+a /ara 3uarar alor&+ 'um;rio+ &'t&ro+? & a a/ro,. D&4i'imo+ am/o+ & &+t& ti/o ua'o 0u&r&mo+r&/r&+&'tar? /or &>&m/lo? a'tia&+.

    4loatF +& u+a /ara alma&'ar alor&+ 'um;rio+ &imal&+. S& utili:a omo+&/araor &l /u'to (.). or &>&m/lo? &4i'imo+ am/o+ & &+t& ti/o /ara/r&io+.

    A't&+ & r&ar u'a ta1la &1&mo+ /&'+ar &' +u+ am/o+ - o/tar /or &l ti/o& ato a&uao /ara aa u'o & &llo+.

    or &>&m/lo? +i &' u' am/o alma&'ar&mo+ '

  • 7/26/2019 1 MySQL

    12/34

    Lo+ o/&raor&+ r&laio'al&+ i'ula' u' am/o o' u' alor /ara 0u&M-SQL om/ar& aa r&3i+tro (&l am/o &+/&i4iao) o' &l alor ao.

    Lo+ o/&raor&+ r&laio'al&+ +o' lo+ +i3ui&'t&+F' i!ual

    () distinto

    ) mayor

    ( menor

    )' mayor o i!ual

    (' menor o i!ual

    O/&raor&+ #&laio'al&+

  • 7/26/2019 1 MySQL

    13/34

    Cr&a'o u'a Ba+& & Dato+

  • 7/26/2019 1 MySQL

    14/34

    *na base de datos es un conjunto de tablas. *na base de datos tiene un nombre

    con el cual accederemos a ella.

    Para crear una nueva +ase de ,atos usamos la si!uiente Sintaxis-

    create database nombre_BD;

    La +.,. recien creada estar" representada por una carpeta dentro de la carpeta

    data de mysql.

    Para que el servidor nos muestre las bases de datos existentes se lo solicitamos

    enviando la instruccin-

    show databases;

    Cr&ai' & la Ba+& & Dato+

  • 7/26/2019 1 MySQL

    15/34

    ='a 1a+& & ato+ alma&'a +u+ ato+ &' ta1la+. ='a ta1la &+ u'a &+trutura& ato+ 0u& or3a'i:a lo+ ato+ &' olum'a+ - 4ila+G aa olum'a &+ u'am/o (o atri1uto) - aa 4ila? u' r&3i+tro.

    Caa r&3i+tro o'ti&'& u' ato /or aa olum'a & la ta1la. Caa am/o(olum'a) &1& t&'&r u' 'om1r&. El 'om1r& &l am/o ha& r&4&r&'ia a la

    i'4ormai' 0u& alma&'ar8. Caa am/o (olum'a) tam1i;' &1& &4i'ir &lti/o & ato 0u& alma&'ar8.

    r84iam&'t& a8 t&'&mo+ la ta1la u+uario+? 0u& o'ti&'& o+ am/o+llamao+F'om1r& - la&. Lu&3o t&'&mo+ tr&+ r&3i+tro+ alma&'ao+ &' &+tata1la? &l /rim&ro alma&'a &' &l am/o 'om1r& &l alor KMario&r&:K - &' &lam/o la& KMaritoK? - a+ +u&+iam&'t& o' lo+ otro+ o+ r&3i+tro+.

    La+ ta1la+ 4orma' /art& & u'a 1a+& & ato+.

    Cr&ai' & Ta1la+

  • 7/26/2019 1 MySQL

    16/34

    Al r&ar u'a ta1la &1&mo+ r&+ol&r 0u; am/o+ (olum'a+) t&'r8 - 0u&ti/o & ato+ alma&'ar8' aa u'o & &llo+? &+ &ir? +u &+trutura.

    La ta1la &1& +&r &4i'ia o' u' 'om1r& 0u& la i&'ti4i0u& - o' &l uala&&r&mo+ a &lla.

    Si 0ui+i;ramo+ r&ar u'a ta1la llamaa Ku+uario+K? &+ri1imo+Fcreate table usuarios ( nombre varchar(30) clave varchar(!0) );

    Cr&ai' & Ta1la+

  • 7/26/2019 1 MySQL

    17/34

    Li+tao & la+ ta1la+ & u'a BD

    ara &r la+ ta1la+ &,i+t&'t&+ &' u'a 1a+& & ato+ &+ri1imo+Fshow "#B$%&;

  • 7/26/2019 1 MySQL

    18/34

    ara &r la &+trutura & u'a ta1la u+amo+ &l oma'o K&+ri1&K >u'to al'om1r& & la ta1laF

    describe "#B$#;

    parece lo si!uiente-

    2i&l T-/& "ullnombre varc/ar0&12 3ES

    4lave varc/ar0%12 3ES

    E+trutura & u'a ta1la

  • 7/26/2019 1 MySQL

    19/34

    o&mo+ am1iar &l 'om1r& & u'a ta1la o' Kalt&r ta1l&K.

    E'to'&+ u+amo+ Kalt&r ta1l&K +&3uio &l 'om1r& atual? Kr&'am&K - &l'u&o 'om1r&.

    ara am1iar &l 'om1r& & u'a ta1la llamaa Kami3o+K /or Ko'tato+Ku+amo+ &+ta +i'ta,i+Falter table ami'os rename contactos;

    Tam1i;' /o&mo+ am1iar &l 'om1r& a u'a ta1la u+a'o la +i3ui&'t&+i'ta,i+F

    rename table ami'os to contactos;

    La r&'om1rai' +& ha& & i:0ui&ra a &r&ha? o' lo ual? +i0u&r&mo+ i't&ram1iar lo+ 'om1r&+ & o+ ta1la+? &1&mo+ &+ri1ir lo+i3ui&'t&Frename table ami'os to auiliar contactos to ami'os auiliar to contactos;

    #&'om1rar u'a ta1la

  • 7/26/2019 1 MySQL

    20/34

    ara &limi'ar u'a ta1la u+amo+ Kro/ ta1l&K. E+ri1imo+Fdrop table "#B$#;

    E' la +i3ui&'t& +i'ta,i+ &+/&i4iamo+ 0u& &limi'& la ta1la Ku+uario+K +i&,i+t&.

    drop table i$ exists usuarios5

    Elimi'ai' & u'a ta1la

  • 7/26/2019 1 MySQL

    21/34

    =' r&3i+tro &+ u'a 4ila & la ta1la 0u& o'ti&'& lo+ ato+ /ro/iam&'t& iho+.Caa r&3i+tro ti&'& u' ato /or aa olum'a.

    Al i'3r&+ar lo+ ato+ & aa r&3i+tro &1& t&'&r+& &' u&'ta la a'tia - &lor&' & lo+ am/o+.

    =+amo+ Ki'+&rt i'toK. E+/&i4iamo+ lo+ 'om1r&+ & lo+ am/o+ &'tr&/ar;'t&+i+ - +&/arao+ /or oma+ - lu&3o lo+ alor&+ /ara aa am/o?tam1i;' &'tr& /ar;'t&+i+ - +&/arao+ /or oma+.

    E>&m/loF

    Si'ta,i+F insert into "#B$# (nombre clave) values (*ario+ere,*arito);

    NOTA:Es importante in!resar los valores en el mismo orden en que se nombran

    los campos si in!resamos los datos en otro orden no aparece un mensaje de

    error y los datos se !uardan de modo incorrecto.

    2orma+ & i'+&rtar r&3i+tro+

  • 7/26/2019 1 MySQL

    22/34

    ='a & lo+ u+o+ m8+ &,t&'io+ & I't&r'&t &+ la 1

  • 7/26/2019 1 MySQL

    23/34

  • 7/26/2019 1 MySQL

    24/34

    ara la+ o'iio'&+ +& utili:a' o/&raor&+ r&laio'al&+. El +i3'o i3ual() &+u' o/&raor r&laio'al. ara la +i3ui&'t& +&l&i' & r&3i+tro+&+/&i4iamo+ u'a o'ii' 0u& +oliita lo+ u+uario+ u-a la& &+ i3ual aJ1oa>u'iorJF

    select nombre clave rom usuarios where clave/bocaunior;

    Si 'i'3

  • 7/26/2019 1 MySQL

    25/34

    I'+&rtar u'a 3ra' a'tia& ato+ &+& u' arhio

  • 7/26/2019 1 MySQL

    26/34

    ara &limi'ar lo+ r&3i+tro+ & u'a ta1la u+amo+ &l oma'o K&l&t&KFdelete $rom usuarios5

    La &>&ui' &l oma'o i'iao &' la l'&a a't&rior 1orra TODOS lo+r&3i+tro+ & la ta1la.

    Si 0u&r&mo+ &limi'ar u'o o ario+ r&3i+tro+ &1&mo+ i'iar u8l o u8l&+?/ara &llo utili:amo+ &l oma'o K&l&t&K >u'to o' la lau+ula K6h&r&K o' laual &+ta1l&&mo+ la o'ii' 0u& &1&' um/lir lo+ r&3i+tro+ a 1orrar.

    or &>&m/lo? 0u&r&mo+ &limi'ar a0u&l r&3i+tro u-o 'om1r& & u+uario&+ JL&o'aroJF

    delete rom usuarios where nombre/$eonardo;

    NOTA: Si +oliitamo+ &l 1orrao & u' r&3i+tro 0u& 'o &,i+t&? &+&ir? 'i'3

  • 7/26/2019 1 MySQL

    27/34

    A/r&'imo+ 0u& /ara 1orrar too+ lo+ r&3i+tro & u'a ta1la +& u+a K&l&t&K+i' o'ii' K6h&r&K.

    Tam1i;' /o&mo+ &limi'ar too+ lo+ r&3i+tro+ & u'a ta1la o' Ktru'at&ta1l&K.

    or &>&m/lo? 0u&r&mo+ aiar la ta1la Kli1ro+K? u+amo+Ftruncate table libros;

    La +&'t&'ia Ktru'at& ta1l&K aa la ta1la (&limi'a too+ lo+ r&3i+tro+) -u&l& a r&ar la ta1la o' la mi+ma &+trutura.

    Borrao & r&3i+tro+ & u'a ta1la

  • 7/26/2019 1 MySQL

    28/34

    La i4&r&'ia o' Kro/ ta1l&K &+ 0u& &+ta +&'t&'ia 1orra la ta1la.

    Ktru'at& ta1l&K la aa.

    La i4&r&'ia o' K&l&t&K &+ la &loia? &+ m8+ r8/io Ktru'at& ta1l&K0u& K&l&t&K (+& 'ota ua'o la a'tia & r&3i+tro+ &+ mu- 3ra'&) -a0u& ;+t& 1orra lo+ r&3i+tro+ u'o a u'o.

    Otra i4&r&'ia &+ la +i3ui&'t&F ua'o la ta1la ti&'& u' am/oKautoPi'r&m&'tK? +i 1orramo+ too+ lo+ r&3i+tro+ o' K&l&t&K - lu&3o

    i'3r&+amo+ u' r&3i+tro? al ar3ar+& &l alor &' &l am/oautoi'r&m&'ta1l&? o'ti'

  • 7/26/2019 1 MySQL

    29/34

    ara moi4iar u'o o ario+ ato+ & u'o o ario+ r&3i+tro+ utili:amo+Ku/at&K (atuali:ar).

    or &>&m/lo? &' 'u&+tra ta1la Ku+uario+K? 0u&r&mo+ am1iar lo+ alor&+ &toa+ la+ la&+? /or K#&alMariKF

    update usuarios set clave/1eal*adrid;

    =tili:amo+ Ku/at&K >u'to al 'om1r& & la ta1la - K+&tK >u'to o' &lam/o a moi4iar - +u 'u&o alor.

    El am1io a4&tar8 a too+ lo+ r&3i+tro+.

    o&mo+ moi4iar al3u'o+ r&3i+tro+? /ara &llo &1&mo+ &+ta1l&&ro'iio'&+ & +&l&i' o' K6h&r&K.

    Moi4iai' & #&3i+tro+ & u'a Ta1la

    M i4i i # i T 1l

  • 7/26/2019 1 MySQL

    30/34

    or &>&m/lo? 0u&r&mo+ am1iar &l alor orr&+/o'i&'t& a la la& &'u&+tro u+uario llamao JMario&r&:J? 0u&r&mo+ omo 'u&a la& JBoaJ?'&&+itamo+ u'a o'ii' K6h&r&K 0u& a4&t& +olam&'t& a &+t& r&3i+troF

    update usuarios set clave/Boca where nombre/*ario+ere,;

    Si 'o &'u&'tra r&3i+tro+ 0u& um/la' o' la o'ii' &l K6h&r&K?

    'i'3u'to al 'om1r& &lam/o - &l 'u&o alor - +&/arao /or oma? &l otro 'om1r& &l am/oo' +u 'u&o alor.2pdate usuarios set nombre/*arceloDuarte clave/*arce where

    nombre/*arcelo;

    Moi4iai' & #&3i+tro+ & u'a Ta1la

  • 7/26/2019 1 MySQL

    31/34

    ='a la& /rimaria &+ u' am/o (o ario+) 0u& i&'ti4ia +olo r&3i+tro (4ila)&' u'a ta1la.

    ara u' alor &l am/o la& &,i+t& +olam&'t& r&3i+tro. Lo+ alor&+ 'o +&r&/it&' 'i /u&&' +&r 'ulo+.

    !&amo+ u' &>&m/loF+i t&'&mo+ u'a ta1la o' ato+ & /&r+o'a+? &l '

  • 7/26/2019 1 MySQL

    32/34

    ara &4i'ir u' am/o omo la& /rimaria a3r&3amo+ K/rimar- &-K lu&3o& la &4i'ii' & too+ lo+ am/o+ - &'tr& /ar;'t&+i+ oloamo+ &l 'om1r&&l am/o 0u& 0u&r&mo+ omo la&.

    E+ta1l&&mo+ 0u& u' am/o +&a la& /rimaria al mom&'to & r&ai' & la

    ta1laF create table usuarios ( nombre varchar(40) clave varchar(!0) primary5ey(nombre) );

    Al &+ta1l&&r u'a la& /rimaria &+tamo+ i'&,a'o la ta1la? &+

    &ir? r&a'o u' 'i& /ara iha ta1la. ara a3r&3ar u'a la&/rimaria a u'a ta1la &,i+t&'t& u+amo+F =+amo+ Kalt&r ta1l&K o'Ka /rimar- &-K - &'tr& /ar;'t&+i+ &l 'om1r& &l am/o 0u& +&r8la&

    alter table "#B$# add primary 5ey (6#*+7);

    Para eliminar una clave primaria en una tabla, usamos la siguientesintaxis:F

    Cla& rimaria

  • 7/26/2019 1 MySQL

    33/34

    ERE#CICIOS #ACTICOS

    http://var/www/apps/conversion/tmp/scratch_2/Practicas%20Taller.docxhttp://var/www/apps/conversion/tmp/scratch_2/Practicas%20Taller.docxhttp://var/www/apps/conversion/tmp/scratch_2/Practicas%20Taller.docx
  • 7/26/2019 1 MySQL

    34/34

    #ACIAS