找回密码
 立即注册

推荐阅读

  • 便民服务
  • 关注我们
  • 社区新手

数据库授权及多表查询20211125

[复制链接]
1. 连接满足的条件:
账号
密码
端口
域名,ip地址
数据库要重启
防火墙要关闭
且对应的账号要拥有远程访问的权限(%百分号权限)-进入mysql数据库查询

2.创建未授权
insert into user (host,user,password)values('localhost','wang',password('123456'));

3. 创建用户后进行授权(方法二)
grant select,update,delete,drop on *.* to 'wang'@'localhost' identified by '123456'

4. 查询指定用户拥有哪些权限
show grants for 'qian'@'localhost';

5. 取消权限;revoke all on *.* from 'qian'@'localhost';

6、删除用户
delete from user where user='qian' and host='localhost';

7、改用户密码
在user表中把root用户的密码改为123456
update user set password=password('123456') where user='root';


A姓名表  C成绩表
查找张三的成绩
select * from a;
1. 多表的条件: 必须要关联的表中有相同的字段
2. 有哪些方法可以把表和表进行关联
基本连接,查询出来的结果只会显示两个表中都有的值。
select * from aa,cc where aa.id=cc-s_id;
select * from aa,cc where id=s_id;

eg:create table aa(id int(1) PRIMARY key,name char(20)); create table cc(s_id int(1) PRIMARY key,score char(20)); insert into aa(id,name)values(1001,'zhangsan'),(1002,'lisi'); insert into cc(s_id,score)values(1001,'99'); select * from aa; select * from cc;

左连接方法 left join on
  • select * from aa left join cc on aa. id=cc.s_id;
  • select * from aa left join cc on id=s_id;   aa 为主表  cc为子表(以主表的数据总行数为主显示,如果子表比主表数据多则无法显示完全)


右连接:右边的表为主表,左表为子表   right join on
  • select * from aa right join cc on aa. id=cc.s_id;
  • select * from aa right join cc on id=s_id;   cc为主表  aa为子表(以主表的数据总行数为主显示,如果子表比主表数据多则无法显示完全)


内连接:inner join on
select * from aa inner join cc on aa.id=cc.s_id

union 连接方法
select * from aa union select * from cc;
此连接是必须多个表字段要相同



分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册