目录
一、DML(Data Manipulation Language):数据操作语言
二、DCL(Data Control Language):数据控制语言
三、DQL(Data Query Language):数据查询语言
一、DML(Data Manipulation Language):数据操作语言
1、插入数据
(1)默认给所有列插入数据:
INSERT INTO 表名 VALUES(值1, 值2);
注意:所有字符串数据必须使用单引用!
(2)给指定的列插入数据:
INSERT INTO 表名(列名1,列名2, …) VALUES(值1, 值2);
注意:未插入的列允许为空
2、修改数据
UPDATE 表名 SET 列名1=值1, … 列名n=值n [WHERE 条件];
强调:判断列为空的方法:is null
3、删除数据
(1)删除 一条记录:
DELETE FROM 表名 [WHERE 条件];
(2)删除所有记录:
TRUNCATE TABLE 表名;
虽然TRUNCATE和DELETE都可以删除表的所有记录,但有原理不同。DELETE的效率没有TRUNCATE高!
TRUNCATE其实属性DDL语句,因为它是先DROP TABLE,再CREATE TABLE。而且TRUNCATE删除的记录是无法回滚的,但DELETE删除的记录是可以回滚的(回滚是事务的知识!)。
二、DCL(Data Control Language):数据控制语言
1、创建用户
CREATE USER ‘用户名’@地址 IDENTIFIED BY '密码';
具体操作:
(1)创建新用户
(2)打开cmd窗口,登录user1进入mysql:
(3)退出mysql,通过未创建的用户名user3进入mysql:
2、给用户授权
GRANT 权限1, … , 权限n ON 数据库.* TO ‘用户名’@地址;
◾GRANT CREATE,ALTER,DROP,INSERT,UPDATE,DELETE,SELECT ON mydb1.* TO user1@localhost;
◾GRANT ALL ON mydb1.* TO user2@localhost;
授权前创建数据库(不能创建):
给用户user1授予在mydb1数据库 创建的功能:
没有相关操作授权时:
授权:
3、撤销授权
REVOKE 权限1, … , 权限n ON 数据库.* FROM ‘用户名’@地址;
4、查看用户权限
SHOW GRANTS FOR ‘用户名’@地址;
5、删除用户
DROP USER ‘用户名’@地址;
6、修改用户密码
use mysql;
alter user '用户名'@localhost identified by '新密码';
三、DQL(Data Query Language):数据查询语言
数据库执行DQL语句不会对数据进行改变,而是让数据库发送结果集给客户端。
语法:
select 列名 --> 要查询的列名称
from 表名 --> 要查询的表名称
where 条件 --> 行条件
group by 分组列 --> 对结果分组
having 分组条件 --> 分组后的行条件
order by 排序列 --> 对结果分组
limit 起始行, 行数 --> 结果限定