zoukankan      html  css  js  c++  java
  • mysql 创建用户

    从mysql5.0转到mysql5.5只是因为分区表。

    root用户登录后,

    创建数据库,Create DATABASE IF NOT EXISTS sub_orcldefault charset utf8 COLLATE utf8_general_ci;

    创建用户:GRANT ALL PRIVILEGES ON sub_orcl.* TO mobile@'%';

    然后: msyql -umobile -pmobile ,登录失败,一顿谷歌度娘之后仍无结果。郁闷的认为mysql5.5不支持'%';无意中键入mysql -umobile 竟然能登录。。。

    最后才发现创建用户时没指定密码,各种汗颜,好吧,都是粗心惹的祸。

    重新创建用户 grant all privileges on sub_orcl.* to mobile@'%' identified by 'mobile';

    想要使用分区表,首先查看当前版本是否支持分区表:

    SHOW VARIABLES LIKE '%partition%';

    查看编码
    show variables like 'character%';
    SHOW VARIABLES LIKE 'collation%';

    查看版本
    SELECT VERSION();

    发现使用的5.0版本。MySQL 5.1 及更高版本支持分区表(partitioned table)。火速下载个5.5。

    mysql对于分区表的索引有限制,要求必须包含于主键字段内。

    CREATE TABLE test
    (
    id INT(38) NOT NULL primary key  AUTO_INCREMENT,
    ptnum INT(8),
    NAI VARCHAR(256) NOT NULL
    )
    PARTITION BY RANGE (ptnum)(
    PARTITION par1 VALUES LESS THAN(20120101),
    PARTITION pmax VALUES LESS THAN MAXVALUE
    )
    ;

    这个注定要悲剧了。转而使用复合主键:

    CREATE TABLE test
    (
    id INT(38) NOT NULL primary key  AUTO_INCREMENT,
    ptnum INT(8),
    NAI VARCHAR(256) NOT NULL,

    PRIMARY KEY (id,ptnum)
    )
    PARTITION BY RANGE (ptnum)(
    PARTITION par1 VALUES LESS THAN(20120101),
    PARTITION pmax VALUES LESS THAN MAXVALUE
    )
    ;

    这样就ok啦。

    分区表的其他一些操作:

    --add
    alter table tablename add partition (partition partitionName values less than (20121212));
    --del
    aleter table tablename drop partition partitionName;
    --meger
    ALTER TABLE tablename 
    REORGANIZE PARTITION p201001,p201002,p201003,
    p201004,p201005,p201006,
    p201007,p201008,p201009 INTO
    (
    PARTITION p2010Q1 VALUES LESS THAN (201004),
    PARTITION p2010Q2 VALUES LESS THAN (201007),
    PARTITION p2010Q3 VALUES LESS THAN (201010)
    );
    --split
    ALTER TABLE tablename REORGANIZE PARTITION p2010Q1 INTO (
    PARTITION s2009 VALUES LESS THAN (201001),
    PARTITION s2010 VALUES LESS THAN (201004)
    );

    使用expalin partitions 来查看查询语句是否使用分区过滤了数据:
    EXPLAIN PARTITIONS SELECT * FROM test WHERE ptnum<20121212;

    mysql的列操作

    mysql修改表名,列名,列类型,添加表列,删除表列

    alter table test rename test1; --修改表名

    alter table test add column name varchar(10); --添加表列

    alter table test drop column name; --删除表列

    alter table test modify address char(10) --修改表列类型

    这个貌似不成功:alter table test change address address char(40)


    alter table test change column address address1 varchar(30)--修改表列名

  • 相关阅读:
    [C/C++ IDE] CLion 配置使用教程
    PyCharm安装使用教程
    SMALI语法大全
    SMALI语法入门教程
    Samba + DLAN 实现电视机播放电脑文件
    深入浅出讲解低功耗蓝牙(BLE)协议栈
    吐血推荐珍藏的Visual Studio Code插件
    为什么我推荐你用 Ubuntu 开发?
    WebBrowser响应页面中的blank开新窗口及window.close关闭本窗体
    C# Task的简单使用
  • 原文地址:https://www.cnblogs.com/lansor/p/2538475.html
Copyright © 2011-2022 走看看