DDL DML DQL DCL等MySql语言的一些整理

**
DDL:Date Definition Language数据定义语言
create alter(update) drop truncate(删除并重新创建当前表)
创建数据库:create database mydb;
删除数据库:drop database mydb;
切换数据库:use mydb;
创建表:create table person(       
id int(4) primary key auto_increment,    
name varchar(20),  );
显示当前数据库中的表:show tables;
修改表:alter table person rename (to) student;
    alter table student add hobby varchar(20);
    alter table student change hobby address varchar(20);
    alter table student modify address int;
    alter table student drop address ; 
删除表:drop table student;
查看生成表的sql语句:show create table student;
查看表结构:desc student;
DML:Data Manipulation Language 数据操纵语言
insert update delete
插入:insert into student values(01,tom); (插入所有的字段)
   insert into student(id,name) values(01,‘tom’); (插入指定的字段)
更新:update student set name = ‘tom’ where id = 01;
删除:delete from tom where id = 01
注意
开发中很少使用delete,删除有物理删除和逻辑删除,其中逻辑删除可以通过给表添加一个字段(dell),若值为1,代表删除;若值为0,代表没有删除。此时,对数据的删除操作就变成了update操作了。
truncate和delete的区别
truncate是删除表,再重新创建这个表。属于DDL,delete是一条一条删除表中的数据,属于DML。
DQL: Data Query Language 数据查询语言
select … from student where 条件 group by 分组字段 having 条件 order by 排序字段
执行顺序:from->where->group by->having->order by->select
注意
group by 通常和聚合函数(avg(),count(),MAX,MIN,IFNULL,GROUP_CONCAT…)一起使用 ,经常先使用group by关键字进行分组,然后再进行集合运算。group by与having 一起使用,可以限制输出的结果,只有满足条件表达式的结果才会显示。
having和where的区别
两者起作用的地方不一样,where作用于表或视图,是表和视图的查询条件。having作用于分组后的记录,用于选择满足条件的组。
通配符
DDL DML DQL DCL等MySql语言的一些整理
DCL:Data Control Language 数据控制语言
identified by: 给用户设置密码
create user 用户名@地址 identified by 密码;
删除用户
drop user 用户名@地址
GRANT:授予访问权限
grant 权限1, 权限2, 权限3…权限n on 数据库名.表名 to 用户名@地址;
REVOKE:撤销访问权限
revoke 权限1, 权限2…权限n on 数据库名.表名 from 用户名@地址;
查看访问权限
show grants for 用户名@地址
COMMIT:提交事务处理
ROLLBACK:事务处理回退
SAVEPOINT:设置保存点
LOCK:对数据库的特定部分进行锁定