• MySQL语法


    6. rename table

    语法:rename table「old_tabletonew_table

    功能:将表重命名

    等价:alter tableold_table」renamenew_table

    说明:

        ① rename是原子操作,这意味着在rename运行期间,其它会话无法访问这些表中的任何一个

        ② rename允许同时重命名多张表,例如

             rename tabletbl1tonew_tbl1」, 

                                  「tbl2tonew_tbl2」,

                                  tbl3tonew_tbl3」;

             过程为从左到右依次进行重命名

        ③ 在重命名多张表的过程中,如果遇到了问题,rename会将已经重命名的表进行反向重命名,以恢复到rename之前的状态

    方法技巧:

        ◇ 交换两张表

        rename table「old_table」to「tmp_table」, 

                             「new_table」to「old_table」,

                             「tmp_table」to「new_table」;


        ◇ 重命名数据库

        MySQL没有提供重命名数据库的命令,但可以通过将当前数据库中的所有表按如下方式进行重命名来实现:

        rename table「current_db.tbl_nameto「other_db.tbl_name

        前提是,两数据库位于同一文件系统上



    5. 锁定读

    当你在一个事物中,先查询数据,然后插入或修改数据时,普通的select语句不能提供足够的保护,因为其它的事物可能在这两个操作之间的间隙,修改或删除了你刚查询得到的行。InnoDB支持两种类型的锁定读,它们提供了额外的保护:

    ① select ... lock in share mode

    在读到的行上设置共享锁(读锁)。其它的事物可以读取这些行,但是不能修改它们,直至你的事物提交为止。如果这些行中的任意一个已经被其它未提交的事物所修改,那么你的查询将会阻塞,直至该事物提交,然后你就能读取最新的值


    ② select ... for update

    在查询用到的相关行上设置排他锁(写锁)。锁定这些行,及关联的索引,就如同你对这些行发起了update操作。其它的事物,不能更新这些行,不能对这些行使用select ... lock in share mode,在某些事物隔离级别下甚至不能读这些行。一致性读自动忽略加在读视图中的记录上的所有锁


    说明:

    ◇ lock in share mode和for update设置的锁,在事物提交或回滚后,将自动被释放

    ◇ select ... for update只有在自动提交被禁用时,才能发挥作用,从而对相关行进行锁定。因此,要么通过start transaction手动开始一个事物,要么设置系统变量autocommit为0。如果自动提交开启,匹配的行,将不会被锁定



    4. 特殊字符

    减号「-」在MySQL中为特殊字符,需要在其两端添加「`」



    3. 查看列信息

    命令:show columns from 「Database」.「TableName」like 「ColumnName

    功能:查看列信息

    示例:




    2. 查看表信息

    命令:show create table 「TableName」

    功能:查看表的创建信息 



    1. truncate

    命令:truncate 「name」

    功能:截断表,删除所有记录,自增id重置为0

    说明:效果与delete from table_name相同,但由于不写日志,故更快。关于外键对truncate和truncate对触发器的影响等内容,需查看MySQL Document

  • 相关阅读:
    147-SpirngBoot指定编译那个文件的xml文件?
    146-springboot打war包设置
    145-sprinboot导入的内嵌jsp依赖是什么?
    mybatis中映射文件和实体类的关联性
    Quartz使用-入门使用(java定时任务实现)
    java SSLContext
    方法参数传递
    JSP写的图书管理系统
    JAVA---数组
    SpringBoot 2.x 后WebMvcConfigurationAdapter 过时
  • 原文地址:https://www.cnblogs.com/chaikefusibushiji/p/7475589.html
Copyright © 2020-2023  润新知