涓���瀛��ㄨ�绋�
��寤鸿�绋�濡�涓� ���瑰��缁���绗���
delimiter && //琛ㄧず浠�&&涓虹���绗���
create procedure test(a int)
begin
select * from student where sno=a;
end &&
浣跨�ㄧ���跺���� call test(x);� x涓�int绫诲�� 琛ㄧず甯���瀛��ㄨ�绋�
begin
declare a int;� //褰���瑕�瀹�涔����扮���跺����begin���㈠��涔� 骞朵�����璇��ュ�椤绘������;缁�灏� �����ラ��
set a=5;
select * from student where sno=a;
浜�����瀹�涔��芥��
��寤鸿��瀹�涔��芥�拌�绋�濡�涓� 瑙�����瀛��ㄨ�绋�宸�涓�澶�
delimiter &&
create function test5(i int,o int,p int)
returns int
begin� // declare d int; 涔���浠ュ��begin涔���澹版��涓�涓�����
set p=i*o; //������set��寤哄�芥�颁�
return p;
end &&
杩�涓���甯���骞朵���begin���㈡���芥�颁����芥��
浣跨�ㄧ���跺����� select test5(i,o,p) 璧���3涓�int�冲�� �ц�缁�����涓��芥�颁�����
涓���瑙�����
��寤鸿Е���� 棣���涔���delimiter涓�涓� �跺��
delimiter &
create trigger test after insert on student for each row� //杩�����浠ユ��after �� before涓ょ�瑙�����
update student_h set row=row+1;� //褰����芥�颁����跺����begin��瑁硅捣��
end &
�����版��搴�����璐���
涓�绉�绫诲��锛�create login login_name�� //�诲�璐��� ���诲�sql server2008��璐��� ��浠ユ�ユ��澶�涓�user 濡�涓�
create user user_name���������� // �版��搴��ㄦ�� �跺�浜�璐��烽���㈢��锛���浠ョ��绉颁负��灏� grant on 琛ㄥ�� to <�ㄦ�峰��,璐��峰��> with grant option琛ㄧず璇ヤ富浣���浠ュ���朵�涓讳���浜�����瀹�������
� deny� execute on test1 to studnet cascade ����grant 灞�浜�������涓�绉�� cascade=with grant option
� revoke ����deny 琛ㄧず�跺������
��绫绘��浣�姹��伙�
�版��搴���浣�锛�
�板�锛�create database test;�
���わ�drop database if exists test1;�
淇��癸�alter database test1 default character set gb2312;
琛ㄦ��浣�锛�
涓�����琛ㄧ���涔�绫绘���筹�
�ョ��锛�
desc table_name;� Or� show columns from table_name;
�板�锛�
create table test(
a int not null default 0 primary key auto_increment CHECK (a>0),
b char(10) not null,
c datetime锛�
CONSTRAINT chk_Person CHECK (b浠�涔�浠�涔��� AND c 浠�涔�浠�涔���)//杩�绉���涓轰��藉��绾���
//� CHECK (a>0)��浠ュ���ㄨ���
);� //褰�绾���浣��ㄤ�涓ゅ��浠ヤ��跺��瑕����ㄦ������
�存��(��)锛�
alter table test� � //�板�琛�
add column d char(1) not null default 'a' after b;�
//after��浠ユ�㈡��first琛ㄧず璁句负绗�涓�琛�(����杩�涓ょ�)
alter table test� �
alter column c char(10); //淇��硅�
[alter column b set default 'hello';]� // 涔���浠ヤ慨�归�璁ゅ��
alter table test1
� � drop column b;� //���よ�
alter table test�
� � change column b e varchar(2) null default '��';� //���舵�瑰������绫诲��(灏�����b�逛负e)
alter table test
modify column b char(5) first;� //��淇��规�版��绫诲�� ��浠ヤ娇��first����after淇��瑰����椤哄�
alter table test
rename to test_backup //淇���table��瀛�
���藉��琛�锛�
rename table test_backup to test;
澶��惰〃锛�
create table test_copy like test; //缁���瀹��ㄥ���
create table test_copy select * from test;� //灏�test浣�涓虹�����澶��惰��� 涓�浼�澶��剁害����绱㈠�绛�
create table test_copy as select * from test; //��涓� ��浠ョ�ㄦ���峰�as���㈢��涓�瑗垮��瑁硅捣��
���よ〃:
drop table [if exists] test;� //琛ㄩ����澶�����浠ョ��cascade绛��� 渚�濡�锛� on delete cascade 琛ㄧず
�ㄧ�惰〃涓�update/delete璁板��讹���姝�update/delete��瀛�琛ㄧ���归��璁板�
浜������版�����筹�
���ワ�
insert into test values(1,'娼���瀹�','2017-03-18 16:52:00');
insert into test(a,b) values(1,'娼���瀹�');� //濡����版�������ユ��浜��� �d�瑕��ㄨ〃�����ㄥ�����锋��璧锋��
insert into test set ����=��,����=��; //��瀵规�宠��ョ����杈��ヤ�涓婚����绌� not null���ㄨ��间�浼���warning
replace into test values(1,'寮�棣ㄥ��','2017-03-18 16:52:00');�
//褰�瑕��挎��淇℃�����跺����浠ョ��replace�存�归�や富��浠ュ���淇℃��
���わ�
delete from test where ����=��;� //
delete [*] from test ���� turncate test //��琛ㄧず���ゆ����琛�� 杩���涓�绉�浠�澶�涓�琛ㄥ���ょ��涔�
淇��癸�
update test set j=1.22,g='濂�' where f=1;� //淇��瑰������跺���ㄩ����
�ㄤ�ignore�抽��璇��ㄦ�存�颁腑����璇�涔�涓�浼�涓���
�ヨ��锛�
select * from test;
select a,b from test;
{--绠���Case�芥��
case:
CASE sex
WHEN '1' THEN '��'
WHEN '2' THEN '濂�'
ELSE '�朵�' END
--Case��绱㈠�芥��
CASE WHEN sex = '1' THEN '��'
WHEN sex = '2' THEN '濂�'
ELSE '�朵�' END}
select a,case b
when ...� //��浠ヤ娇�ㄤ�杩扮��case�芥�� 姝や负楂�绾ф�ヨ��
select a,b from test where a like '��_%';� //%琛ㄧず�归��浠绘��瀛�绗�0�颁换��娆℃�� 涓���绾�_琛ㄧず�归��涓�涓�浠绘��瀛�绗� 褰����兼��_���跺�� ��瑕�杞�涔�瀛�绗�#�婚�や���绾�_���规��浣���
regexp:
select * from test where a regexp '��';� //绛���浜�where a like '%��%' 琛ㄧず������瀛�����
select distinct * from test where g regexp '涓���|��浜�'; 琛ㄦ�ヨ�㈠甫��涓�������浜���璁板�
group by a� //琛ㄧず��杩�a涓���姣�涓��兼�ュ��缁�
having 瀛��ヤ�瀵瑰��缁���杩�婊� 姣�濡�count(*)<=3 �d���杩�group by��缁�涔�����灏卞����灏�浜�绛�浜�3��
select a,b from test order by c limit 4,3(limit 3 offset 4); //limit琛ㄧず���朵�绗�5琛�寮�濮���3琛��版��
��MySQL涓� 娌℃��top n���ㄦ� ��瑕���limit瀵规�版��杩�琛����� 姣�濡�浠�0寮�濮�� limit 0,10
瑙��炬��浣�锛�
��寤猴�
create view view_name as select column_name(s) from table_name where condition [with check option] // with check option �ㄤ���瀹��ㄥ���存�拌��句���淇��归�介��瑕�婊¤冻select涓�����瀹������舵�′欢��
淇��癸�� alter view...� //����寤轰���
� � � � // 瑙��剧����浣�澶у��板��琛ㄤ��� �ㄦ���ユ�版�����跺�� 褰���check option����椤规�� �d��ㄦ���ョ���跺��蹇�椤绘弧瓒�condition���′欢姣�濡�锛�
���ワ� create view v as select * from test where age > 20 with check option;
mysql> insert into v1(ssex) values(11); //濡����ㄥ��寤虹���跺���� with check option
ERROR 1369 (HY000): CHECK OPTION failed 'test1.v1' //�d��ㄦ���ユ�版��涓�婊¤冻��寤虹��condition���跺��灏变��ラ��� 骞朵�涓昏〃涔�涓�浼���寤�
// 濡���娌℃����option� �d��版��浼����ュ�颁富琛ㄤ� 浣���瑙��句�浼�����杩�涓��¤�璁板� �����版�����舵�存��
���わ�
drop view v1;
�存�帮�
update v1 set a='浣�濂�';
绱㈠���浣�锛�
��寤猴�
1�� create index index_name on test.test(a,b) [using btree];� //��test�版��搴���test琛ㄥ��a��b����寤虹储寮�
2�� create table test(
a int not null primary key, //primary key涔���涓�涓�绱㈠� ��瀵规����澹版����绌虹��绱㈠�
b char(2),
name char(50),
index index_name(b),� //�ㄥ��寤鸿〃���跺����浠ュ���跺��寤虹储寮� ��浠ュ��寤哄�涓�绱㈠�
constraint foreign key(name) references customers(name));
//澶���涔���涓�绉�绱㈠� key��甯告��index����涔�璇�
3�� alter table test add [constraint fk_name] foreign key(sno) references student(sno);
//涓��㈣�涓��℃��澧���澶���绾��� 琚����х����蹇�椤绘��涓婚������unique绱㈠�
alter table test add index index_name(a,b); //
�ョ��锛�
show index from 琛ㄥ��;
���わ�
alter table test drop index index_name,drop paimary key;
//��娉��存�ョ��� drop index 绱㈠���绉�; �f������SQL MYSQL涓�����
瀛��ㄨ�绋���浣�锛�
涓���瀛��ㄨ�绋�锛�
��寤猴�
delimiter &&
create procedure sp_name(in/out/inout cid int,in csex char(1))
//� in/out/inout 琛ㄧず涓�绉����帮�in琛ㄧず杈��ュ���帮�out琛ㄧず杈��哄���帮�inout琛ㄧず杈��ヨ��哄���般��
begin
update customers set cust_sex=csex where cust_id=cid;
end &&
delimiter ;
浜�浠舵��浣�锛�
涓���浜�浠惰�搴�锛�
�ョ��:
show variables like 'event_scheduler';
select @@event_scheduler;� //涓ょ��瑰��藉��浠ユ�ョ��� 缁���涓�1����on琛ㄧず寮���
寮���锛�
set global event_scheduler=1;
set global event_scheduler=ture;� //缁�娴�璇� 杩�涓���value涓���浠ヤ负true;
浜���浜�浠舵��浣�锛�
��寤猴�
1�� delimiter &&
create event if not exists et
on schedule every 1 month //娉ㄦ��杩����� schedule 娌℃�� ��r��锛�锛�
// year quarter month day hour minute week second 绛�绛�
starts curdate() +interval 1 month
ends '2018-03-30'
do
begin
if year(curdate())<2018 then
insert into t1()
values(1,'浣�濂�'); //杩�涓�浜�浠剁�����芥�� 姣�涓�����琛�t1���ヤ��℃�版��
� end if; 璇ヤ�浠朵�涓�涓���寮�濮� 骞朵�缁���浜�2018骞�3��30�枫��
end &&�
2�� delimiter &&
create event t3
on schedule every 10 second
starts curdate() +interval 1 minute
ends '2017-03-21 21:50:00'� //��浠ョ簿纭��扮���
do
begin
insert into test(number) values(number+1);
end
&&
淇��癸�
alter event et....� //��娉�����寤轰���
alter event et disable; // 浜�浠跺�抽��
alter event et enable; //浜�浠跺��娆″���
alter event et rename to et1锛�� //浜�浠舵�瑰��
���や�浠�:
drop event if exists et;
瑙����ㄦ��浣�锛�
涓�����寤鸿Е����(����):
create triggerigger_name trigger_time trigger_event on tbl_name for each row trigger_stmt
//trigger_time ��涓や釜��椤瑰������ before �� after 琛ㄧず瑙����ㄨ�瑙������跺��
// trigger_event��瀹�婵�娲昏Е���ㄧ��璇��ョ��绉�绫伙�insert delete update
// trigger_body ��浣跨��begin..end 澶���璇��ョ���
create trigger t after insert on t1 for each row set @str='one customer added!';
���わ�
drop trigger [if exists] trugger_name;
浜���insert瑙�����(璇�瑙�)锛�
//涔���浠ヨ�load data瑙��� ��琛ㄧず�板��版��
create trigger insert_trigger after insert on customers for each row set @str=new.id;
//寰�t2���ユ�版�����跺��寰�瀵瑰���t1琛ㄤ腑澧���浜烘��
delimiter &&
create trigger tr1 after insert
on t2 for each row
begin
declare a int;
set a=(select count from t1 where sno=new.sno);
update t1 set count=a+1 where sno=new.sno;
end &&�
涓���delete��update
//update��delete瑙����ㄥ��娉�浜�insert澶у��灏�寮� ��trigger_time��trigger_event涓�����涓���
骞朵��ㄨ���old��new涓存�惰〃��涓���
//old涓�淇�瀛�宸插���ょ���版��璁板�� new淇�瀛��冲��存�扮���版��锛�����insert��update
褰�娑�����韬�琛ㄧ���存�扮���跺�� ���戒娇��before update瑙����� �� after瑙����ㄤ�琚���璁�