请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册
  • 便民服务
  • 关注我们
  • 社区新手
【MySQL数据库】
1、group by  分组后连接having条件的时候,条件里面的字段只能是前面select 后面出现的字段,如果接的条件不是前面select后面出现的字段,可以把条件放在group by 前面
2、复制root用户的密码,拿去进行md5解密,解密出来就是123456
3、localhost   这个指的是本地操作权限
4、insert into user(host,user,password)values('localhost','dcs8',password('123456'));  往user表插入一个dcs8用户,插入的密码使用password这个函数进行加密处理,这里使用的是md5加密方法
5、flush privileges;   添加用户之后,要刷新一下权限,才能使用dcs8用户进行登录到MySQL数据库,才能在另外一个窗口使用 mysql -udcs8 -p123456 进行登录数据库,使用dcs8用户登录进入之后只能看到两个基础库,因为没有权限
6、show grants for ‘dcs8’@‘localhost’;查看dcs8用户在本地有哪些操作权限
     usage  表示没有任何权限  *.*  第一个*表示所有的库,第二个*表示所有的表
7、grant select,update,delete,drop on *.* to 'dcs8'@'localhost' identified by '123456';给dcs8用户赋予select  delete update drop 权限,赋予的是在本地的操作权限,赋予权限之后刷新一下新权限才能生效,最后使用dcs8重新登录mysql数据库,就可以查到所有数据
8、revoke all on *.* from 'dcs8'@'localhost';  移除权限
9、delete from user where user='dcs8' ;  删除dcs8用户
10、update user set password=password('654321') where user='root';修改root用户的登录密码
11、grant all privileges on *.* to 'dcs8'@'localhost' identified by '123456';创建一个dcs8用户的同时赋予所有权限
12、select version();  查看数据库版本
       select now();查询数据服务器的当前时间
       select database();查询当前使用的是哪个数据库
       select user();查询当前登录用户


【Navicat】
1、内连接 inner join 对于两个表当中字段的值相同就可以通过内连接进行连接
select * from aa inner join cc on aa.id=cc.s_id;
2、左连接 left join 以left join左边为主,aa表的数据全部显示,cc表显示符合条件的数据,不符合条件的数据显示null
select * from aa left join cc on aa.id=cc.s_id;
select * from cc left join aa on aa.id=cc.s_id; #扩展
3、右连接  right join 以right join右边的表为主,cc表的数据全部显示,aa表显示符合条件的数据,对于不符合条件的数据显示null
select * from aa right join cc on aa.id=cc.s_id;
4、基本连接   对于两个表当中有字段的值相同就可以通过基本连接进行连接
select * from aa,cc where aa.id=cc.s_id;
5、硬连接/机械连接,硬连接要满足的条件是两个表字段数目需求一致
select * from aa union select * from cc
6、临时表方法
求出张三的成绩:
select id from aa,cc where aa.id=cc.s_id;  这个sql语句查出来就是一个临时表,取别名为t
select score from (select * from aa,cc where aa.id=cc.s_id)t where t.name='zhangsan';
7、嵌套=方法
先求张三的id:
select id from aa where name=‘zhangsan’;    求张三的id,=符号后面只能有一个值
select score from cc where s_id=(select id from aa where name='zhangsan');
8、嵌套in方法
select id from aa where name='zhangsan';  in后面是一个集合,集合表示一个或多个值
select score from cc where s_id  in(select id from aa where name='zhangsan');
9、基本连接方法
select score from aa,cc where aa.id=cc.s_id and name='zhangsan'



1.基本链接+嵌套方法:
select id from aa,cc where aa.id=cc.s_id
select s_id from cc where score is not  null(查询分数不为空的id,表示参加考试的id)
(参加了考试的)
select name from aa where id not in (select id from aa,cc where  aa.id=cc.s_id)

2.左链接+临时表
select * from aa left join cc on  aa.id=cc.s_id(作为临时表)
select name from(select * from aa left  join cc on aa.id=cc.s_id)t where t.score  is null;

3.嵌套in方法:比第一条严谨
select s_id from cc where score is not  null(查询分数不为空的id,表示参加考试的id)
(参加了考试的)
select name from aa where id not in (select s_id from cc where score is not  null)

4.右链接
select * from cc right join aa on  aa.id=cc.s_id;
select name from(select * from cc right  join aa on aa.id=cc.s_id)t where t.score  is null;


分享至 : QQ空间
收藏

0 个回复

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