mysql最基本使用命令(外键,联合查询,事件)
1. 创建一个表
create table class(id int not null primary key, name char(16));
# 插入数据
insert into class(id,name) values(1,"张三");
insert into class(id,name) values(2,"lisi");
2.创建一个表,带外键
create table student(id int(11) not null, name char(16) not null, class_id int(11) not null, primary key(id), key fk_class_key(class_id), constraint fk_class_key foreign key (class_id) references class (id));
解析:
KEY fk_class_key (class_id):为 class_id 字段创建了一个索引,命名为 fk_class_key。这有助于提高基于 class_id 的查询性能。
CONSTRAINT fk_class_key FOREIGN KEY (class_id) REFERENCES class (id):定义了一个名为 fk_class_key 的外键约束,指定 student 表的 class_id 字段引用 class 表的 id 字段。这意味着 class_id 字段的值必须是 class 表中已存在的 id 字段的值。
# 插入数据
insert into student(id,name,class_id) values(202401,"zhangsan",1);
insert into student(id,name,class_id) values(202402,"lisi",2);
3.是否为空的判断
is null
is not null
4.联合查询
① inner join 内连接 (求两个表相同的部分,并集)
select * from A inner join B on A.a = B.b;
select A.*,B.* from A,B where A.a = B.b;
② left join 左连接(差集,以做为主)
select * from A left join B on A.a = B.b;
③ right join 右连接
select * from A right join B on A.a = B.b;
5.事件
begin; 命令 ; rollback; 回滚,不执行操作
begin; 命令 ; commit; 执行操作
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话