MySQL绗�璁�

涓���瀛��ㄨ�绋�

��寤鸿�绋�濡�涓� ���瑰��缁���绗���

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瑙����ㄤ�琚���璁�

你可能感兴趣的:(MySQL绗�璁�)