千家信息网

MySQL内外连接及子查询讲析

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,本文主要给大家介绍MySQL内外连接及子查询讲析,希望可以给大家补充和更新些知识,如有其它问题需要了解的可以持续在行业资讯里面关注我的更新文章的。登录mysql:mysql -u root -p输入密
千家信息网最后更新 2026年11月01日MySQL内外连接及子查询讲析

本文主要给大家介绍MySQL内外连接及子查询讲析,希望可以给大家补充和更新些知识,如有其它问题需要了解的可以持续在行业资讯里面关注我的更新文章的。

登录mysql:
mysql -u root -p
输入密码:

mysqladmin -u root -p[oldpassword] password newpassword
旧密码可选,没有就为空(了解)

使用Navicat_for_MySQL客户端工具连接mysql
如果无法远程连接,请在虚机中进入mysql命令行,输入如下命令:
GRANT ALL PRIVILEGES ON . TO '用户名'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;

显示所有的数据库
show databases;

创建数据库fcy
create database fcy default charset=utf8;

删除数据库
drop database db1

切换到fcy数据库
use fcy;

查看所有的表
show tables;

创建表
create table person_info

(
person_id smallint(5) unsigned auto_increment,
name varchar(50) not null comment '姓名',
country varchar(60) default 'China',
salary decimal(10,2) default 0.00 comment '工资',
primary key (person_id)
)engine=innodb default charset=utf8;

删除表
drop table person_info123

查看表结构
desc person_info;

插入数据
insert into person_info(name, country, salary) values
('xiaoqiang', 'China', 1000.20),
('xiaowang', 'USA', 800.10),
('xiaozhang', 'UK', 300),
('xiaohu', 'Canada', 600.45);

修改表结构--增加字段
alter table person_info add sex VARCHAR(4)

修改表结构--修改字段类型
alter table person_info modify sex INT(4)
alter table person_info change sex sex INT(4)

修改表结构--修改字段名
alter table person_info change sex sex_123 INT(4)

修改表结构--删除字段
alter table person_info drop sex_123

查询
SELECT * from person_info where name = 'xiao' and salary = 20

插入
insert into person_info(name, salary) VALUES('xiao', 10)

删除
DELETE from person_info where salary = 20

修改
UPDATE person_info set salary = 20 where name = 'xiao'

查找
select from person_info where name like '%xiaoqiang%';
select
from person_info where name like 'xiao%';
select * from person_info where name like '%qiang';

排序(默认升序asc, 降序desc)
select from person_info order by name;
select
from person_info order by country desc, salary ASC;

统计有多少条记录
select count(*) as totalcount from person_info;

去重
SELECT count(distinct(country)) from person_info;

求和
select sum(salary) as sumvalue from person_info;

平均
select avg(salary) as sumvalue from person_info;

最大
select max(salary) as sumvalue from person_info;

最小
select min(salary) as sumvalue from person_info;

#表连接(内连接)
select 表1.列1,表2.列2 from 表1,表2 where 表1.列3 = 表2.列3;

#表外连接
select 表1.列1,表2.列2 from 表1 left join 表2 on 表1.列3 = 表2.列3;
select 表1.列1,表2.列2 from 表1 right join 表2 on 表1.列3 = 表2.列3;

#子查询
select * from 表1 where 列1 in[=] (select A_id from 表2 where 列2 xxx);

#表连接练习:
新建表A
create table A(
id smallint(5) unsigned auto_increment,
name varchar(50) not null,
primary key(id)
)engine=innodb default charset=utf8;

新建表B
create table B(
id smallint(5) unsigned auto_increment,
address varchar(50) not null,
A_id smallint(5) unsigned,
primary key(id)
)engine=innodb default charset=utf8;

插入数据
insert into A (name) values ('zhang'), ('li'), ('wang');
insert into B (address, A_id) values ('beijing',1), ('shanghai',3), ('nanjing',10);

内连接练习

select A.name, B.address from A, B where A.id = B.A_id;

左连接练习,左表的字段全部显示

select A.name, B.address from A left join B on A.id = B.A_id;

右连接练习,右表的字段全部显示

select A.name, B.address from A right join B on A.id = B.A_id;

子查询练习

select from A where id in (select A_id from B where address='beijing');
select
from A where id in (select A_id from B where address='beijing' or address='shanghai');

推荐使用内连接,相比其他三种,效率要高。

插入四条数据,一次插入,相比四次插入,效率要高。

看了以上关于MySQL内外连接及子查询讲析,希望能给大家在实际运用中带来一定的帮助。本文由于篇幅有限,难免会有不足和需要补充的地方,如有需要更加专业的解答,可在官网联系我们的24小时售前售后,随时帮您解答问题的。

数据 字段 查询 结构 数据库 密码 命令 效率 问题 更新 解答 输入 最大 最小 专业 升序 可在 地方 姓名 实际 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技园 智能科技公司是互联网公司吗 互联网科技的英文 广州互联网络科技有限公司 上海卓越科技 互联网 互联网科技英文翻译 互联网科技创新企业排名 成都玖崟互联网科技有限公司乐商圈怎么样 云创客互联网科技公司 受益于互联网科技的高速发展 互联网5g黑科技有哪些 青海科技产业互联网发展 世界互联网领先科技成果获奖 美国互联网科技实力 杭州披云加互联网科技有限公司 互联网领先科技宣传片 广州梦谷互联网科技有限公司领导 中国新注册互联网科技 广州三三互联网科技有限公司 上海旺乐尼互联网科技有限公司 广州万易互联网科技有限公司 互联网最新的科技有限公司 互联网与科技金融数据 重庆互联网络科技 没上市的科技互联网公司 亿人帮互联网科技 港股科技和互联网 民营互联网公司国防科技 深圳艾果互联网通讯科技 长沙互联网科技
0