@BD2?9A7D5<D4'����
• @BD2?9A7D5<D4– Relational Data BaseERDBF
• ��7D5<D4• ��>7A&�"�!7D5<D4• IBM Edger Frank “Ted” Codd���
– A Relational Model of Data for Large Shared Data Banks (1970)• IBM System R;C3018
– SEQUEL/�� à SQL
– 7D5(�'��&#�� 246=&#� �-,• ���'7D5
– RDB$(�7D5(���$���-���-,– �/6D:A%)��
• 7D5<D4� 246=– �&��-,7D5'� (�7D5<D4� 246=���
– @BD2?9A7D5<D4� 246=ERDBMSF
– 7D5'���. (����&*+�.-,• SQL G Structured Query Language• ������
1@BD2?9A7D5<D4'����NCSJ2018
WjT`jQ"�PQVa<��
• NcJIiXkOj\j– Oj\j8NcJIiX;��2�1ED– ����7<PQVa��;*36/D
– Oj]QG��4DOj\j• WjT`jQ"�PQVa=,Oj\j-
– WjT`jQOj\j– IBM DB/2, Oracle, MS SQL/Server, MySQL, etc.
– WjT`jQ<Oj]QG��4DNcJIiX• Oj\j><'�=SQL7&FED• ��<NcJIiXS^XKLI
• ODBC:9+Mj_i:�#�G�0A<2�%�
• QTiYIgi– WjT`jQ<"�8��2�<_gRQ7&FED– �#<5@<[UXhjN( :92�':/– ��?5=���7<��;*36/D
• ^HJe��;BC+dIeTJa<��A.D!�$
dfjPbZeWjT`jQ<� �) 2NCSJ2018
�%��%������ ����
• WEB�%�%����– &��������������
"$%�!�#�%��%��� 4
HTTP
WEB SERVER(Application Server)
SQL
DataBase Server
Client
NCSJ2018
ODBC
• ODBC : Open Data Base Connectivity– Microsoft���– Windows����
• Windows��&4%,4#� ��• �+0 4".3�&4%,4#!4*4��!-4'���������
– ODBC(/�*4• � ��&4%,4#����(/�*4���• &4%$4#������
024".)1&4%,4#����� 5NCSJ2018
?L>8��47!
• !6�#– >EJ59@ICGL@
• >EJ M 3K;LA
• 9@ICGL@ M �3D:LJA
7IKL<HBJ?L>FL=6���"
21 � � �� ����
1))*))* & �% � *0/*(*(*
1))*))+ '� �� *0/+(+(+
1))*)), �� �% � *0/,(,(,
1))*))- $� �� *0/-(-(-
1))*)). �� �� � *0/.(.(.
>EJ
9@ICGL@
NCSJ2018
+�XR[
• +�XR[B`% – R^QV^PB�*
• SWL] a �7�-B�B,�
• SWL]1F�K_<9<�G6=>3:!KQU[?/0• QU[ b \N^S
– R^QV^PB�)�• R^QV^PA��5I=/HR^Q2�)6=/H4?• _<B"A�7�BQU[K�;=/@/4?2��?@H• ��BQU[K(8H:DB��K�#M^?/0• �#M^C._<>E$�>E�J@/• �#M^B_<K�M^?8H
– R^Q��&'• R^QV^PA��5I=/HR^QK��8H:DB&'��
Z\^OYT[R^QV^PB���( 8NCSJ2018
��(%+�%-$��
• %-$����–%-$� �–�������–�� �����–�����!���
• ��(%+�%-$��–����–����
*,-")&+%-$'-#����� 9NCSJ2018
-���
• �/��#– jCI'V$N�U=DiCI'HMFOS
• <LDIZ^c3�9TS
– jCI'J ;�+EG7TKGRG1
– jCI'I��<S\`WeJ ;EG7TKGRG1• ��J�GBD1DPQ1
– �#%�IZ^cI,(JG1
• �/��#– jCI'kglHD0khlI�#J'kIZ^c2R'lH�MTD1G1Z^cV��:0�:1'V��<S
– 'kglJ ;�+EG7TKGRG1
– 'kglI��<S\`WeJ ;EG7TKGRG1
• ��J�GBD1DPQ1
• �*/��#– jCI'I ;�VPB@&A7V��:D0�:1'VC5S
– jCI'J ;�+EG7TKGRG1
– jCI'I��<S\`WeJ ;EG7TKGRG1• ��J�GBD1DPQ1
• �"/��#– jCI'V�7�U=S8F– &I�J0>T?TI'I&�V�7@�FGS
– ��J0��IH'�V��<S8FE0,(V.68F3E4S
bdfXa]c[fZ_fYI�! ) 10NCSJ2018
"���
• ����– �)6��-/�9�7�.��– =@F3!�9�.�1�,2'�*&8
• ���– �)6��-/�9�7�.��
• ����– ��3�9�3�3"�0��-#�-'�9�7�.– "��+9.8�9$�� �%5/4$��:DB%1'(
EGH;C?F>H=AH<3��� 11NCSJ2018
��$+9�
ACD:@>B=D<?D;9 *). 12
�&( �0( �0534345334 �0�/ 4334 ��0534345335 ���- 5334 !�0534345336 �'��/ 4335 ��0534346334 ���- 5335 ,#�0534346335 �1�� 5336 ��0534346336 %1-2� 4335 ��0534346337 ���/ 5337 ��0534346338 ��"� 4334 ��0
��
�0( �04334 ��05334 !�04335 ��05335 ,#�05336 ��04335 ��05337 ��04334 ��0
�0( �04334 ��05334 !�04335 ��05335 ,#�05336 ��05337 ��0
NCSJ2018
.�#*9�
ACD:@>B=D<?D;9 )(- 13
�%' � �0' �0534345334 �0�/ 4334 ��0534345335 ���, 5334 �0534345336 �&��/ 4335 ��0534346334 ���, 5335 +"�0534346335 �1�� 5336 ��0534346336 $1,2� 4335 ��0534346337 ���/ 5337 ��0534346338 ��!� 4334 ��0
�%' � �0' �0534345334 �0�/ 4334 ��0534346338 ��!� 4334 ��0
.�
NCSJ2018
,#*9�
ACD:@>B=D<?D;9�)(. 14
�%' �� �0' �0�534345334 �0�/ 4334 ��0534345335 ���- 5334 �0534345336 �&��/ 4335 ��0534346334 ���- 5335 +"�0534346335 �1�� 5336 ��0534346336 $1-2� 4335 ��0534346337 ���/ 5337 ��0534346338 � !� 4334 ��0
�%' �� �0'534345334 �0�/ 4334534345335 ���- 5334534345336 �&��/ 4335534346334 ���- 5335534346335 �1�� 5336534346336 $1-2� 4335534346337 ���/ 5337534346338 � !� 4334
�0' �0�4334 ��04335 ��05334 �05335 +"�05336 ��05337 ��0
NCSJ2018
E-RSOV
• E-RSOVB�)– QZMZYNJX81975�A�
• 3�B�A�:G5FEGDBC2�, @DB>5H�, @DB>5H2��?0/?67]<B��>(��'>5G4
– �,I��[Entity\?0/[Relationship\>SOV�:G��– �.�9;1 @��OZMSOVI*-:G
• E-RSOVB��)%– ��[Entity\
• $��,?9=�:G? &9;DB– ��[Attribute\
• ��B��?9= &9;DB– 0/[Relationship\
• ��?��?B0�I#9;DB• ��A�:G��
UWZKTPVOZMRZLB�"!+ 15NCSJ2018
yvwxtz
• IDEF– 1970��9'%1 ICAM(Integrated Computer Aided Manufacturing)WeZU`VhJOQ5 ASD)�ASD +��• IDEF = ICAM Definition
– 1990��9'NIPSKFIPSG���HBF +• NIPSr National Institute of Standards and Technology u&���,"$�s• FIPSr Federal Information Processing Standards u24������s• IDEF = Integration Definition
• IDEF1X– IDEF0 : ��K��Tjam�CR��– IDEF1X : ����G�/HASRaq]T)�CRDLKjam���
• IDEF1TlnqZkdmaq]iq\J3�BNC;O<J��BDMK– lnqZkdmaq]iq\K +J�?��ASF;R
• IDEF1XKERD– ^XoKERDOQM-�=�(G:R– Yo`V`V6K7�T9*Hc_brpsE@G-�CR
• �(I-�T�;I=P9.8Ig[f\mqmT-�G>R
lnqZkdmaq]iq\K�#!0 17NCSJ2018
"2�
• "2�– "2�L�FE��MYbXLDREOM[aWV
• YbXM�7�SKAD• 85�M�=YbXM;'-LNJOR• c��cT�JKRP>LDR
– "2�CHYbXS�,DRBJI<$&KYbXM+%S/>BJ?I@R
• "2�M'&– YbXS�,DR;'M��S")L�.DR– ;'��M8�S")L�.DR– YbXM�7�S�Q:A– YbXM60S��9LDR– YbXL8�DR1�S!#�DR– YbXM��<4<�:� M$�<YbXM� �S�G
^`bU]Z_YbX\bVM�*(3 19NCSJ2018
!0�
• !0�– 6!0�
• 3�faiJP��O�P5�T/��J:GIPMUM;9
• BO �Y#FDI;M;3�Y86!0�K;<
– +m!0� p 1NF ( 1st Normal Form )• ��O�KDIO,V2DMLO5�T/��O�FM;.OBK
• �HO7&N8/�O�?�GI;W$�?M;
– +n!0� p 2NF ( 2nd Normal Form )• +m!0�O �Y#FDF<=J8EQIO6[l��?�[lN�DI��3���J:W.OBK
• [lKO��J�CXFSO?8+n!0�
– +o!0� p 3NF ( 3rd Normal Form )• +n!0�O �Y#FDF<=J86[l��?�)%N3���JPM;.OBK
• ��O3���>U�FM3���Y�WK@8�)%3���?�V*HK;<
• �)%N"RW7&Y-�DI�EWK8+o!0�KMW
– eZ^k\`b!0�• +o!0�>U8[lK7&?m��JM;SOYV4AK8eZ^k\`b!0�KMW
hjl]gcial_dl^O ('1 20NCSJ2018
JT�Tc{y{n
• shi{Pmuzfdgtz
– shi{k{qw• ��Rl{iTW �.I]• �+F ]l{iUmuzfdgtzk{qwA[#F ]
– muzfdgtzk{qw• ��#Tl{i �+I]• shi{k{qwP8�GRD V�� RFR>
• c{Pbzljdh– c{
• �,I]PCS<� !�I]KXT��• 0�T:$SZ\<~MT� !�I]c{`0�c{P>?
– bzljdh|,�}• �,RQT�" ;5�I]KXTl{i�6• c{:$TWBbzljdhPI]EPBOC]• bzljdhPGK:$SU<9NULL*Y���T*B��F ]
• *
:$S�)I]l{iS�GNT*– 9NULL* � ����|'}T:$U2XR>– ���* � �Txe{nT�Hpa{wnS<��T�B=LNU>DR>
– ��* � 3" (SZ\l{iT \@]�B*F^]– �c{|bzljdh}* � ���*P9NULL*B-W�_F^K*– �7c{* � �T/SZ\<�B1�F^]*
vx{gtowl{ir{hT�&%4 21NCSJ2018
DBMS�����
• ����– %1#(1!����– ��!�1)– ��!�1)– ��!�1)
• %1#����– SQL– NDL– DL/I
• ���– � ���– ��"!�– �*$&+0&�– ����
-/1 ,'.%1#(1!����� 22NCSJ2018
��oj�y
• (�oj�y– +��-Y."Y�%4&
– q�px�o LODM[SYq�pfq�p{q�X�QS9;LO_Y
– 9;��• �l�rX?Md��• vh��rY*�
• j���• q�px�o��
• �=oj�y– ��Yw�k�z`}�m�Fb]Oq�px�oY9;
– �RYq�px�oY�=\OZ8$Yq�px�of9;LO_Y– �=oj�yf�LSANJX9;KeSDd2��Tq�px�of#�MdJUGTHd
– w�k�zT,Md�l�rUY?<PIf�cLS�6Md
– ?�q�px�oY��Aoj�yY=�PIf�cLO_YfBt|�CUDE
• �=oj�y– (�oj�yfl�u|�p�X�+MdO^Y9;
– 9 75�XSVYaEW��T9>KeSDdYFY��f!R
– q�pG�@X'3Ked),vgi�f1,Md
���n~s�q�px�oY�0/: 23NCSJ2018
�����[]\
• MTYD@ESY– ]/7.5��4LZJPZG<� +:��– LZJ4��^CQKM7.5XZVOK@<�$714��– � 5!+60��(;:%+60��(;:%4#,;%1":
• �����– ��4MTYD@ESY&��3�(;09!LZJ3��<�*(-2#.84��
• MTYD@ESYGBFRZUYA– ��4UIZG3=@HG+:MTYD@ESY<��+:– ��)0#:MTYD@ESY<?RZ>YA)�(-:– MTYD@ESY< ��)0#'
UWZESNVLZJPZG4���� 24NCSJ2018
�$�2�uwv
• rd['– ;Wfns^[_ms@%"DI<WetcY8�$M�2CXW�Nfns^[_ms?U%"JAL<T=MFW
– %"O8\kdfQGOrtpid[J1�FW
• $� Zp]oal– 3 Nfns^[_ms@�$M��FW��8�M�2@6�CXGfns^[_msN�*@�?U6�CXWfns^[_msTVS�M�2CXGT=M�=
– �?U�2CXWfns^[_msMI�(CXI<WetcM8�M�2Y6�DI<Wfns^[_msOZ[b`JAL<
– �27�N0*NGRM8fns^[_msM�DI9$� :@��CXW
• edgrd[– 3 Nfns^[_ms@�EetcY,D;=��8�#N�*Y1�DLBXP>�<M,JAL<)&KLW
– edgrd[@-+DG��8�?U�*Y6�DGfns^[_ms@�!CXW– yxz{O8�fns^[_ms@edgrd[)�MLHI<L<?0*FW�4@;W
oqt_mhpetcjt`N�/.5 25NCSJ2018
������
• /B+�����– 3-%!-6
• 3-%!-6'4B
• ?&5 "=
• ,#-%8"A0
– /B+����
• �����– 0;A(%):A��– )*.9��– ���
• ��� – ����C?B=3-%D– ����C5$@B13-%D– ���
<>B):2=/B+7B*����� 26NCSJ2018
542�����
• $-"����.112/– #-&*���������– CREATE 0 #-&*���
– ALTER 0 #-&*���– DROP 0 #-&*���
• $-"����.132/– $-"����������– INSERT 0 $-"���– SELECT 0 $-"��,�– DELETE 0 $-"���– UPDATE 0 $-"��
)+- (%*$-"'-!����� 28NCSJ2018
�1DGL
• �M@LEJOTABLEN– AL?;��-964– AL?5K<LB��0��+:9– ��+:.AL?3$#�5��+:/&2&– �4�35CREATE TABLE(��+:9– AL?4��6��6��0%9
• DGLOVIEW– �'7AL?;�8�-��;�,.64– #�;�-9*160)9– �8�- ;�-9*160)9– �4�;"�-9*160)9– DGL4�35CREATE VIEW(��+:9– ���3��50)2&
• ����2DGL6%9
IKL=HCJAL?FL>4���! 29NCSJ2018
������
• ����– CREATE�ALTER– ��-��������
• $-"���– INSERT
• $-"��– SELECT– WHERE�����
• $-"� ����– UPDATE�DELETE
• ,-*&#��– COMMIT�ROLLBACK
)+- (%*$-"'-!����� 30NCSJ2018
*�$*������
• CREATE DATABASE– *�$*����– CREATE DATABASE test;
• test���� � *�$*����
• SHOW DATABASES– show databases;– ���� *�$*���������
• USE database– #�'!+�()!,� *�$*����– USE test;
• #�'! *�$*��test���
&(*�%"' *�$*����� 31NCSJ2018
!,&*���
• CREATE TABEL–��������!,&*�����
)+,�($*", ',��� 32
create table members( ß member������!,&*���id char(5), ß id���%�,*#������char�5� name char(50), ß id���%�,*#������char�50� tel char(13), ß tel���%�,*#������char�13� mail char(50) ß mail���%�,*#������char�50� );
NCSJ2018
$2(/���
• �-+����–$2(/�� 3 �-+�
– DESC 3 �-+������ *1&• DESC tablename;• tablename�����$2(/��-+������
• $2(/���– show tables;
• ������$2(/��������– show table status;
• $2(/�����������
.02!,'/%2#)2"�� �� 33NCSJ2018
3?7<*�"
• ��(%, – ���./9?5&,4?2
• CHAR ���@��$A• 255����
• VARCHAR ���@�$A• 0B65,535��
• TEXT ���• �$65,535��
– ��./9?5&,4?2 • INT ��• FLOAT ����• DOUBLE � �����
– ��>��./9?5&,4?2 • DATE ��
• TIME ��• DATETIME ��)��*!+�-'
• YEAR �
;=?0:6<4?28?1*���# 34NCSJ2018
*5/3 ��
• �&5 ��– *5/3�����&56primary key7$���"– �&5����.%53,�!��NULL��������� �#"
245'1-3+5)05( ���� 35
create table members(id char(5) primay key, ß id���.%53,$������&5��"name char(50),tel char(13),mail char(50));
NCSJ2018
9F?D)��
• ��) �– �>2FD;(��".��)��– ��)��
• PRIMARY KEY �3F(��". NOT NULL&UNIQUE1�+0#$,)• NOT NULL :F81�� '�/*'-'�• UNIQUE �)E5F;)�>2FD;(�!�1��'�
• DEFAULT ���) �
CEF6B<D:F8@F7)���� 36
create table members(id char(5) primary key, ß primary keyG�3FH1 �name char(50) not null, ß ��& %�NULL1 �tel char(13) unique, ß ��& %A=F41 �mail char(50) ß �,��1 � %�'�);
NCSJ2018
6@:>-��
• �!1@��– �-6@:>-�1@0��'.– �&/.7@5$ �&/(�-��0��*%.– �-��$��&/.– �-6@:>,)��&/)#.?2@8$�"*%+#
• �!1@��-����– create table*-��
• create table members(id char(5) primary key,��pref char(2) not null refferrences Prefectures(pid));
=?@3<9>7@5;@4-��� 37NCSJ2018
4@7<$��
• ->53.1– ->53.1,� �)��
• ��$�%�C���'0@/>09<#�+*)• ->53.1AindexB,��?� �)�! &(��"����)&�#")
– ->53.1$���– create table tablename (index indexname(fieldname));
– create index indexname on tablename(fieldname);• create index id_index on members(id);
;=@0:6<5@28@1$���� 38NCSJ2018
1;59%�
• �%1;59%��,�)– SELECT,�(�+��1;59%��– create table tablename select * from origin;
• tablename �$��)1;59�
• origin �"#)1;59%�
• origin!��*�1;59"����$#)• origin!��*�1;59���� �)2;0&�' -4;�*)
8:;.7392;06;/%���� 39NCSJ2018
&0*.���
• ��&0*.�����&0*.!��– LIKE!����&0*.���– create table tablename LIKE origin;
• tablename ������&0*.
• origin �����&0*.
• origin�����&0*.�������• '0%�")0� ��
-/0#,(.'0%+0$�� �� 40NCSJ2018
5C;@&�
• MySQL&�/C8�– MySQL#'�6C3+��!)�%� !)�/C8+�!)�$�#�)• 6:.@7� *"�)�/C8'���&/=B8#�()�$�#�)
– show variables like ‘character%’• � #�)�/C8247&��'���&/=B8#��#�)
– show character set;
– � !)�/C8&�• �:,-@%"�
– my.ini:,-@%"��
• 6C3<C1��#�
• 5C;@��#�
?AC0>9@6C3<C1&���� 41NCSJ2018
�"� ��
• �"� ����"���–�������"��� cp932������
NCSJ2018 �!"��� �"��"����� 42
create table members(id char(5) primary key,name char(50) not null,tel char(13) unique,mail char(50) ) CHARSET=cp932; ß ���"��CP932���
.=4: ��
• MySQL ,0;=+%<+<– MySQL�!�.=4:$���"����/=-$���")<6=2<0��",0;=+%<+<$��"�����"
– /3&:0�!�InnoDB�,0;=+%<+<������#"• �����#�.=4:!�InnoDB����#"�• '8(: �!�InnoDB��"�
9;=*71:/=-5=, � �� 43NCSJ2018
�%�"��
• MySQL���#%��$�$– MySQL��������#%��$�$ ������� (MySQL 5.6)
• InnoDB• MyISAM• MEMORY• CSV• ARCHIVE• BLACKHOLE• MERGE• FEDERATED• EXAMPLE
!#%� �"�%��%����� 44NCSJ2018
�������
• ����������������
–� ����������InnoDB���
������������������ 45
create table members(id char(5) primary key,name char(50) not null,tel char(13) unique,mail char(50) ) ENGINE=InnoDB; ß ����������InnoDB���
NCSJ2018
�������
• ���������� – alter table oldtable RENAME newtable;
• oldtable ���������
• newtable ���������
����������������� 46NCSJ2018
�& $���
• ALTER TABLE : �& $��������– ��&$��������' change– alter table tablename change org_fieldnew_field ()pe;• tablename �����& $���
• org_field ������&$����
• new_field ����&$����
• type ��&$����
– alter table members id mid char(5);
#%&�"�$�&�!&���� � 47NCSJ2018
�!�����
• ��!�������"modify– alter table tablename modify field type;
• tablename �!�����
• field �� ���!��
• type �� ����
– alter table members modify id char(10);
� !�����!��!���� 48NCSJ2018
�!�����
• ��!�����"add– alter table tablename add field type;
• tablename �!����
• field �� ���!��
• type �� ����
– alter table members add dob date;
� !�����!��!����� 49NCSJ2018
�������
• �������� drop– alter table tablename drop field ;
• tablename ������
• field �� ������
– alter table members drop dob;
����������������� 50NCSJ2018
������
• DROP TABLE TABLENAME–��� ��������– TABLENAME ����������
– drop table members;
����������������� 51NCSJ2018
*���
• ��)�*!���+INSERT
– insert into tablenamevalues(value1,value2,…);
• tablename �*$(��
• value1,value2,… �����– #�*(!����������
– inert into members
values(‘00001’,’HATOYAMA’,’03-1234-5678’,
')*�&"( *�%*���� � 52NCSJ2018
�'����
– �'%������� &�'����– insert into tablename (field1,field2)
values(value1,value2);• tablename �'!%���
• field1,field2 �'����� �'%����
• value1,value2 ����
– inert into members(id,name) values(‘00001’,’HATOYAMA’);
$&'�#�%�'�"'������ 53NCSJ2018
(����
• ��� (����– SELECT * FROM TABLENAME;
• TABLENAME (�������("&���
• �("&�� ��������� (������
– SELECT * FROM MEMBERS;• �("&�members��� ��������� (������
%'(�$!& (�#(���� 54NCSJ2018
(2&���
• +#20)"����(2&���– SELECT fieldname FROM TABLENAME;
• fieldname +#20)���3�����4
• TABLENAME (2&"����'2,0���
• '2,0���!�� ����(2&"����
– SELECT ID, NAME FROM MEMBERS;• '2,0�members����!�� ����(2&��ID�NAME��"����
/12$.*0(2&-2%��� 55NCSJ2018
0:.#�
• �*����0:.#�– SELECT * FROM TABLENAME WHERE ��;
• fieldname 3+:81#��;�����<• TABLENAME 0:.*�'��/:48#��• WHERE �� ��(3+:81# �
• /:48"���)!�(0:.�& �"���(%#*�'��
– SELECT * FROM MEMBERS WHERE ID=‘00001’;• /:48�members�"���)!�(�$!#0:.�&
ID�’00001’#%# �*�'��
79:,6280:.5:-#���� 56NCSJ2018
������
• ����!�"�����– select field from table LIMIT number;
• LIMIT !�"�����
• number ��������
– select * from members LIMIT 10;• �"� members��10� �"������
�!"��� �"��"���� 57NCSJ2018
��
• �� �����– select field from table WHERE ��;
• WHERE���,!-& ������ ���• ���������,!-&������
– select * from members where id=‘00001’;• id�00001�,!-& ���
*,-")'+%-$(-#����� 58NCSJ2018
�'���
• ���GCE�� "H�'���– MySQLF�� "HLJ
Y[]PXUZS]RV]QJ���% 59
�'��� �� �!0 �C@1 &(/ ��10 ��/0 ��/1 ��+0 ��/01 �C@ 8<77IL�� "68*,76:;- YQT�I�#DNLJB?N YQTK AM_J)I�DN>�$ KO\W
^ .*-F�N89;*68*,76:;- YQT�I�#DNLJBH@35;=558**2**284**3 2G3J)89;*35;=558**2**284**3 2G3J)FKH@6:*8<77 8<77F?N6:*89;*8<77 8<77FH@
NCSJ2018
� ���
• � �����–*�(#�+#
• % �����
• _ ��,��
– LIKE• � ����������������• select * from table where field LIKE ‘A%’;
– NOT LIKE• � ������������������• select * from table where field NOT LIKE ‘A%’;
')+�&$("+!%+ ����� 60NCSJ2018
������
• AND���� – select * from table where ��1 AND ��2;
• 1���������� ��.#/("���!
• OR���� – select * from table where ��1 OR ��2;
• 1������������0��� ��.#/("���!
,./$+)-'/&*/%����� 61NCSJ2018
��#��
• ��#��– �& $���&$���������– ����� ����
• �& $����#��– �& $� AS ��#��– select * from table1 AS a where a.id=‘00001’;
• ��&$�����#��– ��&$�� AS ��#��– select field1 as a from table where a=‘00002’;
#%&�"�$�&�!&���� 62NCSJ2018
+$1/) �
• +$1/) �–(1'��2select3���+$1/) (1'# ��������!�����!
– select id, title, price*1.05 from price_mst;• price * 1.05 price����"��!��1.05#��!
.01%-*/(1',1& ��� 63NCSJ2018
��
• =2DA;+$&��1����–9D8� EselectF�+�� $%=2DA;,��.��*),��1��"( '!/
–��#0&�/��,�• AVG ��,��• COUNT B5D;�143C:• MAX ��1�-/• MIN ���1�-/• SUM ��1�-/
–��,���• select AVE(price) from goods;
@BD6?<A9D8>D7,���� 64NCSJ2018
����
• ����������)"��������–�������
• ORDER BY field• select * from members ORDER BY name;
–�������• ORDER BY field DESC• select * from members ORDER BY name DESC;
&()�%#'!) $)���� 65NCSJ2018
� ��#
• � ��#��'–������������ – select field from table where field IN (SELECT …);
• IN (SELECT …) ����SELECT�����
– select * from prices where code IN (SELECT code FROM goods WHERE price > 1000);
#%&�"�$�&�!&������ 66NCSJ2018
��� �����
• GROUP BY–�����������������– select * from table GROUP BY field;
– select * from employee GROUP BY DIV;
������������� ���� 67NCSJ2018
-��#,&*�������
• UNION– -��#,&*�����
• -����#,&*�����������–���$,"',!������� ���
– select * from table1 union select * from table2;
)+, (%*$,"',!��� 68NCSJ2018
�& $��
• JOIN'� �(– )���& $����
• �& $���JOIN*ON����– select * from table1 JOIN table2 ON table1.code
= table2.code;
• ����& $������%�&��
#%&�"�$�&�!&����� 69NCSJ2018
�"����
• ���!�"����– UPDATE tablename
SET field=value WHERE ��;• tablename ���� �"� • field ������" �
• value �����
• �� !�"��������
– update membersset name=‘YUKIO’ where id=‘00001’;
�!"��� �"��"���� 70NCSJ2018
�'����
• ����&�'����– UPDATE tablename SET field=value;
• tablename �����'!%
• field ���� �'%�
• value �����
• ����&�'������ �'%���� ��
– update members set name=‘YUKIO’;
$&'�#�%�'�"'����� 71NCSJ2018
�!����
• ��� �!����– delete from tablename where ��;–���� � �!������ �
• ��� �!����– delete from tablename;– ��� �!���� �
� !�����!��!����� 72NCSJ2018
SQL(=FK758EK
NCSJ2018 GIL8E?H<L:BL9+���� 73
• =FK758EK+��– ��6C;=DL>���+��
• N%+=FK758EK,����+ ��� )10&�.6C;=-$,JLH@;5��!0/-''�/
– ��6C;=DL>���+��• START TRANSACTION -$, BEGIN'�"�=FK758EK���!0/
– ��6C;=DL>+�• SET AUTOCOMMIT'�#/
– �� O N
– �� O M– EX) SET AUTOCOMMIT=0; ß ��6C;=DL>2��*�
• �A34H'+�– �A34H O my.cnf– ���
» [mysqld]» init_connect=‘SET AUTOCOMMIT=0’
SQL(=CH758BH
• =CH758BH+��– J%+=CH758BH,� ��+���� )32&�06A;=.#,GIE?;5���!21.''�1
– 6A;=.#,GIE?;5���!21(�J%+=CH758BH���"1
• ����– COMMIT;– ��+��*/$&�32#��4�"-&��*"1– 6A;=��,���4�*" (,'�)�
• GIE?;5– ROLLBACK;– ��+��*/$&�32#��4�"-&��"1– ��!2#<I:,�"-&�321
DFI8B>E<I:@I9+���� 74NCSJ2018
OSY
• OSY;��– @/ �2B��D�?�"16-/– %�;JYPV=; �2DZ5:>8?B
• �!��;�• �!�#;��
• OSY;��– ���9JYPV816�B$,– %�;JYPVD�:�AC3OSY;��)��:<�(.*B
– \[]^;NYGTX:@46<ERYL16+9+08.*B• MySQL7<v5.0�'7ERYL
UWYFTMVKYIQYH;� �& 75NCSJ2018
)-2�����
• )-2���– 3��%2+0��)-2 ������– CREATE VIEW viewname AS SELECT fieldname
FROM tablenameWHERE ��;• viewname ����)-2��• fieldname *!20'• tablename %2+0
– create view v_mbr as select name,telfrom members where age>=22;
• v_mbr ����)-2��• name,tel ����*!20'
• members %2+0• where age>=22 age�22����� �
/12".(0&2$,2#���� 76NCSJ2018
.27�����
• .27��–� �*705�".27$��#��– create view viewname as select
table1.field1,table2.field2,… from table1join table2 using(field) where ��;
• viewname ��#.27���• table1 field8�*705• field1 .27�� �!/%75,��• table2 field2�*705• field2 .27�� �!/%75,��• field ���&7��#/%75,��• where �� �����
467'3-5+7)17(����� 77NCSJ2018
'+0�����
• �#0).����'+0����– create view v_sample
as select member.id,member.name,log.last, from member join log using(id)where log.last >= 20100101;
–������#0). 1 member�log–������(�0.% 1member.id, name– 1 log.last–��������(�0.%1id– ���� 1 log.last >= 20100101
-/0 ,&.$0"*0!����� 78NCSJ2018
.16$���
• .16#%&,6*$��– select * from v_mbr;– select * from v_sample;
– SELECT'���&����$+6/4$����#���"�!�&
– MySQL$���v5.0��!.16#�� �&
356(2-4,6*06)$���� 79NCSJ2018
-05 ��
• -05�#%�– UPDATE
• �"� -05�����!����%
– INSERT• �� *5.3�$���&�-05�!�����%• �� *5.3�$���&�-05�!������
245'1,3+5)/5( ���� 80NCSJ2018
"&+����
• "&+��– ALTER VIEW viewname AS SELECT field FROM table;
• viewname ���"&+���
• field ������#�+) �
• table �+�������+$)�
• "&+���– DROP VIEW viewname;
• viewname ����"&+���
(*+�'!)�+�%+������ 81NCSJ2018
04-57?.A/:
• 04-57?.A/:%'– ��&02A49@4,��,��#)%*#��!#��– 7?.A/:&��,�(�" %$ �$�+
• ����– CREATE PROCEDURE stored_procedure()
BEGIN02A49@4END
– stored_procedure() 04-57?.A/:&��– ��,��+��
• CREATE PROCEDURE stored_procedure(val type)• val ��&���
• type ��&
<>A.;6=3A18A0&��� 82NCSJ2018
�����!�"��
• �����!�"����– CALL stored_procedure;
• stored_procedure ��������!�"��
– CALL stored_procedure(value);• stored_procedure ��������!�"��
• value ���� ���
� "�����"��"����� 83NCSJ2018
-0)13<+>,7
• �$��– SHOW CREATE PROCEDURE stored_procedure;– stored_procedure ���%3<+>,7
• /96.$�– -0)13<+>,7(���%"�#�MySQL$*5=1���#���'&!�%/96.�?�(�� �����%�
– DELIMITER new_delimiter ;• new_delimiter ��/96.
9;>+82:/>.4>-$���� 84NCSJ2018
'+#,."6$&26
• '+#,."6$&26��–�!17%7���� ��–��������� � �����
• ')7+06+��� � �����
• '+#,."6$&26���CREATE FUNCTION stored_function() RETURNS type DETERMINISTICBEGIN����
END
357&2-4*7(/7'����� 85NCSJ2018
����� �����
• ����� �������
������������������ 86
CREATE FUNCTION sample_func() RETURN INT DETERMINISTICBEGINDECLARE x INT;SELECT SUM(qty * price) INTO x FROM stock;RETURN x;END
���SELECT sample_func();
����� �������show CREATE FUNCTION stored_func;
NCSJ2018
%*�-
• %*�-��.–#-'+������������� ���������
• %*�-���– CREATE TRIGGER triggername BEFORE/AFTER statement
ON tablename FOR EACH ROW– BEGIN– ���– END
*,- )&+$-"(-!����� 87NCSJ2018