目录
DML 数据操作语言【操作表记录】
1、添加数据
-- 格式
insert into 表名(字段1,字段2...)values(值1,值2...);
-- eg.
--标准添加(指定所有字段,给定所有的值)
insert into stu(id,name,age,sex,classid) values(1,'zhangsan',20,'m','lamp138');
--指定部分字段添加值
insert into stu(name,classid) value('lisi','lamp138');
-- 不指定字段添加值
insert into stu value(null,'wangwu',21,'w','lamp138');
-- 批量添加值
insert into stu values (null,'zhaoliu',25,'w','lamp94'),
(null,'uu01',26,'m','lamp94'),
(null,'uu02',28,'w','lamp92'),
(null,'qq02',24,'m','lamp92'),
(null,'uu03',32,'m','lamp138'),
(null,'qq03',23,'w','lamp94'),
(null,'aa',19,'m','lamp138');
注意:数据库中所有的字符串类型,必须使用单引号,不能使用双引号!(日期类型也使用单引号)
2、修改数据
-- 格式
update 表名 set 列名1=列值1,列名2=列值2,...[where 条件];
-- eg.
-- 将id为11的age改为35,sex改为m值
update stu set age=35,sex='m' where id=11;
-- 将id值为12和14的数据值sex改为m,classid改为lamp92
update stu set sex='m',classid='lamp92' where id=12 or id=14
--等价于下面
update stu set sex='m',classid='lamp92' where id in(12,14);
3、删除数据
-- 格式
delete from 表名 [where 条件];
--eg.
-- 删除stu表中id值为100的数据
delete from stu where id=100;
-- 删除stu表中id值为20到30的数据
delete from stu where id>=20 and id<=30;
-- 删除stu表中id值为20到30的数据(等级于上面写法)
delete from stu where id between 20 and 30;
-- 删除stu表中id值大于200的数据
delete from stu where id>200;
--truncate 清空该表
-- 先删除该表(drop)再创建表(create)
truncate table 表名;
DCL 数据控制语言【定义访问权限和安全级别】
权限管理
mysql中的root用户是数据库中权限最高的用户,用在项目中
非常不安全
。 给不同的用户
、
项目,创建不同的mysql用户,适当的授权,这样就一定程度上保证了数据库的安全。
1、创建用户
-- 格式
create user 用户名@IP地址 identified by '密码';
-- 用户只能在指定的IP地址上登录
create user 用户名@% identified by '密码';
-- 用户可以在任意IP地址上登录
2、给用户权限
-- 格式
grant 权限1,权限2,... on 数据库.* to 用户名@IP地址;
--eg.
grant create,alter,select on mydb1.* to user1@localhost;
-- 给user1用户分派在mydb1数据库上的create,alter,select权限
grant all on 数据库.* to 用户名@IP地址;
-- 给用户分派指定数据库上的所有权限
3、撤销用户权限
-- 格式
revoke 权限1,权限2,... on 数据库.* to 用户名@IP地址;
--eg.
revoke create,alter,select on mydb1.* to user1@localhost;
-- 撤销user1用户在mydb1数据库上的create,alter,select权限
4、查看权限
show grant for 用户名@IP地址;
5、删除用户
drop user 用户名@IP地址;
注意:一个项目创建一个用户!
一个项目对应的数据库只有一个!
这个用户只能对这个数据库有权限,其他数据他操作不了!