删除操作
定位:删除一行记录,维护数据完整性
清空表命令
delete from student;//表还在,只是删除数据而已
drop table student; //删除数据并且删除表结构
删除一行记录的命令
delete from student where sid = 4;
更新操作
定位:更新一行或多行记录,不推荐全部更新
基本修改命令:
update 表名 set 字段名 = 字段值 where 字段名 = 字段值;
修改一行记录的多个字段
update student set sname = "王五爷" where sid = 3;
修改多行记录的一个字段
update student set ssex = "女" where ssex = "男";
修改多行记录的多个字段
update student set ssex = "男",sid = sid - 1 ;
查询所有的数据
select 字段名1,字段名2,... from 表名;
select sid,sname,sage from student;
简化版:查询所有的数据
select * from student; //注意:和*相比 sid,sname,sage,ssex而言效率较低一点
有条件的查询
1.关系查询
select * from student where sage != 12;
2.逻辑查询
select * from student where sage>12 and ssex = "男";
3.算术运算
select * from student where sid % 2 = 0;
4.在……之间(between and)
select * from student where sage between 10 and 20;
5.在……之内(in)
select * from student where sage in(12,26,18,20,22);
去重问题
select distinct ssex from student;
模糊查询
查询姓张的学员信息
select * from student where sname like '张_' or like '张__';
灵活版本的模糊查询
select * from student where sname like '张%';
%和区别:%可以代替多个字符,但是 只能代替一个
mysql用户的管理之创建用户
create user "yao" identified by "123456";
mysql用户的管理之查询用户
select * from mysql.user;
mysql用户的管理之修改密码
set password for "yao" = password("qwerdf");
mysql用户的管理之删除用户
drop user "yao";
授权问题
授权:root通过mysql的命令给指定的用户授予特定的权利
授予用户yao在mysql的user表上的查询权限
grant select on mysql.user to "yao";
授予用户yao在test的student表上的insert权限
grant insert on test.student to "yao";
把test数据库的student上的所有的权限给用户
grant all on test.student to "yao";
把test数据库的所有的表上的select权限给用户
grant select on test.* to "yao";
把所有的数据库t上的所有的表上的权限给用户
grant all on *.* to "yao";
收权问题
机制:如果按照顺序授权,那么授权过程的权限允许叠加,但是回收权限也要回收所有的层次的权限回来
回收用户yao在test数据库的student表上的插入权限
revoke insert on test.student from "yao";
//刷新权限
flush privileges;
收回所有的权限
revoke all on test.student from "yao";
收回所有表的查询权限
revoke select on test.* from "yao";