MYSQL数据库操作

一 创建用户、授权

--创建用户,设置密码
create user 'mydb'@'localhost' identified by '123456';

--授予用户mydb通过外网IP对数据库“db”的全部权限
grant all privileges on 'db'.* to 'mydb'@'%' identified by '123456';  

--刷新权限,这样权限才会生效
flush privileges; 

--授予用户“mydb”通过外网IP对于该数据库“db”中表的创建、修改、删除权限,以及表数据的增删查改权限
grant create,alter,drop,select,insert,update,delete on db.* to mydb@'%';	 

此处的"localhost",是指该用户只能在本地登录。如果想远程登录的话,将"localhost"改为"%",表示在任何一台电脑上都可以登录。也可以指定ip,仅限某台机器可以远程登录。

用户名可以采用db或者业务相关命名

虽然可以授予其他用户全部权限,但是只有root用户才有创建用户的权限

一 数据库操作 DML

  • where语句
  • and --or --not
  • order by ----asc--desc
  • where ---in---
  • where---between---and---
  • distinct--
  • xx as 别名,xx as 别名,
  • limit m,n
  • 聚合函数:
  • sum,count,avg,max,min

  1. count(*)会运行两次,查询的时候会把null值计算进去;
  2. count(列名)查询一次,自动去掉null值
  3. having 与group by 一起使用
  4. order by 后面可以再排序
  5. order by 属性1 ASC,属性2 DESC 先按属性1排序再按属性2排序

三 

创建视图creat view students AS select * from stu join sc on stu.sno=sc.sno

创建视图时不要使用order by 排序无效果;

求出数据表中的前 两名或者前三名

select * from table as A where (select count(*) from table as B where B.id=A.id and B.score>A.score)<2

SELECT * FROM t_sc AS s1 WHERE (SELECT COUNT(*) FROM t_sc AS s2 WHERE s2.cno =s 1.cno AND s2.score>=s1.score )<=3 ORDER BY cno,score DESC

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值