zoukankan      html  css  js  c++  java
  • SQL语句处理一些修改、新增、删除、修改属性操作(MySql)

     
    分区
     
    Fēnqū

    动词

    划分
     
    plot, compartmentalize, canton
     
    part, distribute, assign
     
    cut off, lay between, stand between
     

    Oracle部分

    方法一

    直接(手动)去修改数据库名称,数据库表名称,数据库列名称、列属性

    方法二

    使用SQL语句去修改

    -- 修改表名
    ALTER TABLE tableName RENAME newTableName;  
    -- 新增列名
    ALTER TABLE tableName ADD COLUMN columnName VARCHAR(10);
    -- 删除表列 
    ALTER TABLE tableName DROP COLUMN columnName; 
    -- 修改列名,列长度大小
    ALTER TABLE tableName CHANGE COLUMN oldColumnName newColumnName VARCHAR(200);
    -- 区分大小写,修改列大小、编码格式(修改属性)
    ALTER TABLE tableName MODIFY columnName VARCHAR(50) collate gbk_bin; 
    -- table新增字段colunmName,设定长度,设定编码,设定排序规则,设定是否为空,设定注释
    ALTER TABLE table ADD COLUMN columnName VARCHAR(200) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '备注';
    ALTER TABLE table ADD COLUMN dateTypeColumnName DATETIME NULL COMMENT '时间类型字段';

    MySQL部分

    -- 修改T表中C列的长度为2000(确保之前数据没有2000)
    ALTER TABLE tableName MODIFY COLUMN columnName VARCHAR(2000);
    
    -- 修改表中字段在表结构中的位置(修改oldColumn的位置到column后面),关键字:CHANGE AFTER
    ALTER TABLE tableName CHANGE oldColumn newColumn newColumnType AFTER column ;
    
    -- 两张表字段一样,需要把两张表合并成为一张新表:关键字:UNION ALL
    SELECT ab.* FROM (SELECT a.* FROM tableA AS a UNION ALL SELECT b.* FROM tableB AS b) AS ab
    
    --四舍五入方式,数据库中colA,获取到默认是一个整数,关键字:ROUND(X)
    SELECT ROUND(t.colA) FROM tableName AS t;
    
    --四舍五入方式百分数方式,数据库中有两个字段 colA、colB,例如下面求百分比,并保留两位小数,关键字:ROUND(X,D)
    SELECT ROUND(t.colA / colB * 100, 2) FROM tableName AS t;
    
    -- 删除原有主键,创建新的联合主键
    ALTER TABLE tableName DROP PRIMARY KEY,ADD PRIMARY KEY (columnName1, columnName2);
    

      

    -- 手动创建一个分区
    ALTER TABLE tableName PARTITION by RANGE COLUMNS (columnName) 
    (	
    	PARTITION `p202008` VALUES LESS THAN ('2020-09-01'), 
    	PARTITION `p202009` VALUES LESS THAN ('2020-10-01'), 
    	PARTITION `p202010` VALUES LESS THAN (MAXVALUE) 
    	ENGINE = InnoDB
    );
    

      

    -- 移除所有分区
    ALTER TABLE tableName REMOVE PARTITIONING;
    
    -- 删除分区(删除分区会删除数据)
    ALTER TABLE tableName DROP PARTITION partName;
    

      

    -- 备份当前表到一张新表
    CREATE TABLE newTableName AS SELECT * FROM oldTableName;
    

      

    您的资助是我最大的动力!
    金额随意,欢迎来赏!

    如果,您认为阅读这篇博客让您有些收获,不妨点击一下右下角的推荐按钮。
    如果,您希望更容易地发现我的新博客,不妨点击一下绿色通道的关注我

    如果,想给予我更多的鼓励,求打

    欢迎大家关注我的个人博客 Lycos | 小站 !由于最近没时间处理,原域名http://www.liuyuchuan.com暂时停止使用

  • 相关阅读:
    实现跨域的几种方法
    2015-07-15
    unity3d中给GameObject绑定脚本的代码
    unity3d的碰撞检测及trigger
    区块链 (未完)
    mono部分源码解析
    量化策略分析的研究内容
    mono搭建脚本整理
    unity3d简介
    Hook技术之API拦截(API Hook)
  • 原文地址:https://www.cnblogs.com/yuchuan/p/mysql_1.html
Copyright © 2011-2022 走看看