• MySQL总结(DDL、DML、TPL、DCL)


    DDL(结构)->DML(数据)->DQL(查询 重点!!!)->DCL(权限)
    ->TPL(事务)

    数据定义语言DDL

    (Data Definition Language)负责数据库对象的定义
    create:创建数据库对象(创建表结构)
    alter:修改表结构
    drop:删除表(彻底删除)
    truncate:清空表数据保留表结构

    create table 表名(
    字段 数据类型及范围,
    字段 数据类型
    );

    create table dept_xu(
    deptno int,
    dname varchar(10),
    location varchar(12)
    );
    
    • 1
    • 2
    • 3
    • 4
    • 5

    alter table 表名 add 字段名 类型;
    //部门表中增加des varchar(20)

    alter table dept_xu add des varchar(20);
    
    • 1

    alter table 表名 modify 字段名 新数据类型;

    alter table dept_xu modify des char(10);
    alter table dept_xu change des abc varchar(20);
    
    • 1
    • 2

    alter table 表名 drop 字段;
    //部门表中删除"描述"字段

    alter table dept_xu drop abc;
    drop table dept_xu;//删除表(彻底删除,删除表对象)
    
    • 1
    • 2

    数据操纵语言:DML(Data Manipulation Language)
    实现对表中数据进行增加、更新、删除操作
    常用语句:[针对数据而言!!]
    insert:增加数据
    update:更新数据
    delete:删除数据

    insert into 表名 values(值1,值2);

    insert into dept_xu values(10,"研发部","南京");
    
    • 1

    insert into 表名(字段1,字段2) values(值1,值2);

    insert into dept_xu(deptno,dname,location) values(30,'销售部','无锡');
    
    • 1

    update 表名 set 字段=新值,字段=新值 where 条件;

    update dept_xu set location='杭州' where deptno=40;
    
    • 1

    delete from 表名 where 条件;

    事务处理语言:TPL

    (Transaction Processing Language)
    结合DML使用,用于进行确认和取消操作
    常用语句:
    commit:确认提交
    rollback:回滚取消
    savepoint:保存点,用于回滚到指定的保存点

    事务的开始和终止
    开始:事务开始于上一个事务的结束或第一条DML操作
    终止:事务终止于显示操作(commit\rollback)

    演示:
    //会话默认是自动提交的,修改提交方式(不自动提交)
    set autocommit=0;

    步骤1:开启会话A,创建表并插入数据不提交
    create table temp(
    id int
    );
    set autocommit=0;
    insert into temp values(1);

    步骤2:开启会话B,查看表结构和数据
    desc temp;
    select * from temp;//Empty 数据未提交其他会话看不到

    步骤3:会话A进行提交,会话B可以查询到数据
    commit;//A
    select * from temp;//1 B

    步骤4:会话A更新数据不提交,会话B看不到数据修改
    update temp set id=2;//A
    select * from temp;//1 B

    步骤5:会话A进行提交,会话B可以看到数据修改
    commit;//A
    select * from temp;//2 B

    步骤6:会话A更新不提交,会话B删除数据不提交
    update temp set id=3;//A

    set autocommit=0;//B
    delete from temp;//B 发生阻塞状态

    步骤7:会话A提交,会话B结束阻塞状态
    commit;//A

    步骤8:会话B关闭,会话A更新不提交进行回滚
    update temp set id=4;
    rollback;
    select * from temp;

    总结:
    1)事务内部数据的改变如果没有提交,只能在当前会话
    中看到数据改变,其他会话中是看不到数据的改变的。
    2)事务会对操作的数据进行加锁,不允许其他事务操作
    3)如果进行commit提交,数据的改变得到了确认,其他
    会话可以看到数据改变;数据上的锁被释放;保留数据的
    临时空间被释放。
    4)如果进行rollback回滚,数据的改变得到了取消;
    数据上的锁被释放;保留数据的临时空间被释放。

    数据控制语言:DCL

    (Data Control Language)实现权限的授予和回收
    常用语句:[权限有关!!]
    create user:创建用户
    grant:授予权限
    revoke:回收权限

    //切换数据库
    use mysql;
    //创建用户admin01 1234
    create user admin01@‘localhost’
    identified by ‘1234’;
    //给用户分配权限:操作哪个库的哪个表的哪些权限
    grant all on jsd.* to admin01@‘localhost’;
    //回收权限
    revoke delete on jsd.* from admin01@‘localhost’;

    DOS命令行方式登录
    //找mysql下面bin
    C:\MySQL\MySQL Server 5.5\bin
    //地址栏输入cmd->回车
    //登录
    mysql -h localhost -u admin01 -p1234
    //回收删除权限,需要重新登录

  • 相关阅读:
    C++ 三大特性之多态(二) 多态的实现原理
    CENTOS安装 graylog4.39
    XAF新手入门 - 类型子系统(Types Info Subsystem)
    链表的归并排序-LeetCode(Python版)
    【LeetCode】136. 只出现一次的数 python
    微服务框架 SpringCloud微服务架构 8 Gateway 网关 8.4 路由的过滤器配置
    2022年0702 第八课 JAVA中的数据结构重中的集合
    如何实现常见框架
    装饰器模式简介
    JUC并发编程(一):Java内存模型(JMM)及三大特性:可见性、有序性、原子性
  • 原文地址:https://blog.csdn.net/weixin_41599636/article/details/126002582