MySQL中的交叉连接、内连接、外连接

MySQL中的交叉连接、内连接、外连接,第1张

学生student表:

课程course表:

交叉连接:

结果为两张表的笛卡尔积:

内连接(inner join ,inner 可以省略)

显示内连接和隐示内连接获得的查询结果是一样的,都是A表和B表的交集(例:A.id = B.id),但是只能查到有关系的信息,如果A表的一条数据的与B表关联的字段没有对应的信息(如:A.id = null),即:这条数据在B表中没有对应的信息,则无法获得。

外连接(outer join,outer可以省略)

左外连接获得的查询结果是左边的表A的全部信息和A,B两张表的交集,左边A表的全部包含A表中在B表中没有对应关系的信息。

右外连接获得的查询结果是右边的表B的全部信息和A,B两张表的交集,右边B表的全部包含B表中在A表中没有对应关系的信息。

使用“mysql -uroot -proot”命令可以连接到本地的mysql服务。

使用“use mysql”命令,选择要使用的数据库,修改远程连接的基本信息,保存在mysql数据库中,因此使用mysql数据库。

使用“GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘root’ WITH GRANT OPTION”命令可以更改远程连接的设置。

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION1

使用“flush privileges”命令刷新刚才修改的权限,使其生效。

使用“select host,user from user”查看修改是否成功。

1、开启远程访问: 

use mysql 

update user set host = “%” where user = “root” 

flush privileges

2、 添加用户 

use mysql 

insert into user(host, user, password) values(“%”, “root”, password(“yourpassword”))

grant all privileges on . to ‘root’@’%’ with grant option #赋予任何主机访问数据库权限 

flush privileges

3、关闭远程访问: 

use mysql 

update user set host = “localhost” where user = “root” and host= “%” 

flush privileges

4、查看用户权限: 

use information_schema 

select * from user_privileges

5、查看当前mysql用户: 

use mysql 

select user, host from user

6、更新用户: 

update mysql.user set password=password(‘新密码’) where User=”phplamp” and Host=”localhost” 

flush privileges

7、删除用户: 

DELETE FROM user WHERE User=”phplamp” and Host=”localhost” 

flush privileges

设置主键的思路:业务字段做主键、自增字典做主键、手动赋值字段做主键。

多表查询:分散在多个不同的表里的数据查询出来的 *** 作。

外键:从表中用来引用主表中数据的那个公共字段。

连接有2种类型的连接:内连接(inner join)和外连接(outer join)

内连接:查询结果只返回符合连接条件的记录。

外连接:查询结果返回某一个表中的所有记录,以及另一个表中满足连接条件的记录。

其中左连接:left join,返回左表中的所有记录,以及右表中符合连接条件的记录。

右连接:right join,返回右表中的所有记录,以及左表中符合连接条件的记录。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5900626.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-07
下一篇 2023-03-07

发表评论

登录后才能评论

评论列表(0条)

保存