DML(data manipulationlanguage)是数据操纵语言:它们是SELECT、UPDATE、INSERT、DELETE,就象它的名字一样,这4条命令是用来对数据库里的数据进行操作的语言。

# 删除表数据:
delete from table_name where 条件;    

# 查找某个表在在具体哪个库中
SELECT table_schema FROM information_schema.TABLES WHERE table_name = '表名';

use databasename;  # 使用databasename库

desc tablename;    # 查看表结构

show databases;   # 查看所有库

show tables;      # 查看当前库中所有表

select database();   # 查看当前所在库

select user();   # 查看当前登录的用户
mysql> show index from table_name;   # 查看索引
mysql> show keys from table_name;    # 查看主键索引

DDL(data definition language)是数据定义语言:DDL比DML要多,主要的命令有CREATE、ALTER、DROP等,DDL主要是用在定义或改变表(TABLE)的结构,数据类型,表之间的链接和约束等初始化工作上,他们大多在建立表时使用。

## create
#复制表:
create table table_new select * from table_old wehre 1=1     一比一复制表
create table table_new select * from table_old wehre 1=2     只复制表结构,不复制数据。

## alter
alter table t_test1 change sex sex char(4);   修改t_test1表的sex字段的类型为char(4)

alter table id_name add age int,add address varchar(11);    增加两个字段(age,address)

alter table id_name drop column age,drop column address;    删除两个字段(age,address)

DCL(DataControlLanguage)是数据库控制语言:是用来设置或更改数据库用户或角色权限的语句,包括(grant,deny,revoke等)语句。

# 重置root密码
update mysql.user set password=PASSWORD('123456') where User='root';
flush privileges;   # 刷新

# 创建用户并且授权(可以更具需求给对应的权限,如:select、updata、insert)(根据需求给对应的库)
GRANT ALL PRIVILEGES ON  `m2o_%`.* TO 'm2o'@'%' IDENTIFIED BY 'hoge123@wx&&zs' WITH GRANT OPTION;

GRANT ALL PRIVILEGES ON m2o_survey.* TO 'survery'@'%' IDENTIFIED BY 'dEUoXECEE0nYzhVsCtLy' WITH GRANT OPTION;
#创建只读用户
GRANT SElECT ON `m2o_%`.* TO 'query'@'%' IDENTIFIED BY "hoge123@wx&&zs";

WITH GRANT OPTION :表示此账户拥有创建用户与赋权的权限

# MySQL8.0之前的版本可以像下面这样操作即可
GRANT ALL PRIVILEGES ON  *.* TO 'yzf'@'%' IDENTIFIED BY 'MyNewPass4!' WITH GRANT OPTION;
flush privileges;
GRANT ALL PRIVILEGES ON  *.* TO 'root'@'%' IDENTIFIED BY 'WftFfZyVjF' WITH GRANT OPTION;
flush privileges;
# MySQL8.0版本开始之后需要进行如下2步操作
create user yzf@'%' identified  by 'MyNewPass4!';
grant all privileges on *.* to yzf@'%' with grant option;
flush privileges;


# 撤销权限所有权限(可以更具需求撤销对应的权限,如:select、updata、insert等)
REVOKE ALL PRIVILEGES FROM 用户名;

# ALL PRIVILEGES包含以下权限:
select,
insert,
update,
delete,
create,
drop,
references,
index,
alter,
create temporary tables,
lock tables,
execute,
create view,
show view,
create routine,
alter routine,
event,
trigger