MySql 基础

增加

insert 表 values(值,值,值)

insert 表(列,列,列) values('值','值','值')

insert 表(列,列,列) values('值','值','值'),('值','值','值'),('值','值','值')

insert 表 set 列=值,列=值,列=值

删除

delete from 表

delete from 表 where 条件

truncate 表                          --清空表

修改

update 表 set 列名='更新值'

update 表 set 列名='更新值' where 条件

查询

select * from 表

select 字段,字段 from 表                 --只查询哪些字段

select * from 库.表                      --其他数据库

select 字段 as 别名,字段 as 别名 from 表 as 别名                 --别名

########################################### 加在查询后面
order by 字段 desc                        --字段升序,加 desc 降序

limit 开始位置0,条数                      --显示条数,一个数值代表前几个条数

条件

select * from 表 where 条件

字段 not between 2 and 3                    --范围

字段 not in('值','值')                      --集合

字段 regexp '正则表达式'                    --正则表达式

=       !=       >       >=       and       or       is not null


########################################### 模糊匹配
select * from 表 where 字段 not like '%值_'
%:0个或1个或多个任意字符
_:1个任意字符

分组

select * from 表 group by 字段

select 字段,group_concat(字段) from 表 group by 字段       --显示某字段详情

select 字段,count(*) from 表                               --显示分组数   更多max(字段),min(字段),avg(字段),sum(字段)

having count(*)>2                                          --筛选

多表查询

"可以同时查询两个过更多"
select * from 表
join 表
on 表.字段=表.字段
join 表
on 表.字段=表.字段

# leif join 代表左表为主表

子查询

"子查询就是在 where 后用()查询到的结果进行比较"
select * from 外键表 where 外键值 in(select 主键值 from 主键表 where 条件)

select * from 外键表 where exists(select 主键值 from 主键表 where 条件)

函数

now()                   --当前日期时间, 可以用于插入数据

存储过程

'''
方式    in 输入    out 输出    inout 输入输出
'''
create procedure 名称(方式 变量 类型)
begin
    //代码
end;

call 过程(参数)             --调用存储过程

select 变量                 --查询变量

set 变量 = 值               --变量赋值

declare 变量 int default 默认值;         --变量定义


+++++++++++++++++++++++++++++++++++++++++++ 错误处理
'出现错误后依然可以执行接下来的代码, set 后的变量当代码错误时被赋值'
declare continue handler for sqlstate '错误代码' set @变量=值;

########################################### 操作
show procedure status                   --查看存储过程, 可以加上 where db='数据库名'

show create procedure 存储过程          --查看存储过程

drop procedure 存储过程                 --删除存储过程

流程扩展

if 条件 then
    //代码
elseif 多条件 then
     //代码
else
     //代码
end if;


while 条件 do
    //代码
end while;

视图

create view 名称
as
查询语句

drop view 视图                        --删除

触发器

create trigger 名称 after insert
on 表 for each row
begin
    //代码
    insert wages(student_id,money) values(new.id,10);
end;

定义
create trigger 名称 先后执行 事件类型

+++++++++++++++++++++++++++++++++++++++++++ 代码区
先后执行
after    --事件之后
before   --事件之前

事件类型
insert    delete    update

新数据
new.字段

老数据
old.字段

########################################### 操作
drop trigger 触发器           --删除

事务

start transaction              --开启事务

commit                         --提交

rollback                       --回滚

定时器

create event 名称 on schedule every 时间 单位 多选
do
begin
    //代码
end;

--时间单位
second              --秒

minute              --分

day                 --天

month               --月

--多选
starts '2013-01-13 00:00:00'                    --开始时间

starts timestamp (current_date(),'00:00:30')    --在此时间执行, 如1分钟执行一次 00:00:30 代表每1分钟在世界时间的30秒时执行


########################################### 操作
alter event 定时器 disable             --关闭

alter event 定时器 enable              --启动

drop event 定时器                      --删除

show events                            --当前所有定时器

show create event 定时器               --查看定时器

演示

'''
    存储过程配合事务
    代码部分只要有错误就回滚事务
'''
create procedure 名称()
begin
    declare t_error integer default 0;
    declare continue handler for sqlexception set t_error=1;
    start transaction;

    //代码

    if t_error = 1 then
        rollback ;
    else
        commit ;
    end if;
end;

评论

  1. 5月前
    2021-12-23 15:44:29

    存储过程一直都不会用

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇