mysql学习与使用

来源:互联网 发布:阿里巴巴软件开发人员 编辑:程序博客网 时间:2024/06/04 00:22

1.CREATE SCHEMA `visapp_indexgen`

使用CREATE DATABASE和CREATE SCHEMA来创建数据库,两者在功能上是一致的,创建数据库;


2.DEFAULT CHARACTER SET utf8 ;
设置数据库的编码格式为urf-8


3.建表:

create table命令格式:create table <表名> (<字段名1> <类型1> [,..<字段名n> <类型n>]);

CREATE TABLE `vis_indexgen_urls_02`
(
    `dbid`                    int unsigned          NOT NULL,    #无符号的整数 ;
有符号值:-2147683648 到2147683647(- 231 到231- 1);无符号值:0到4294967295(0 到232 - 1) 4个字节

    `url_md5`                 char(32)              NOT NULL,   # char有固定的长度,而varchar属于可变长的字符类型。
    `url`                     varchar(1024)         NOT NULL,    #char有固定的长度,而varchar属于可变长的字符类型。
    `content_sign`            bigint unsigned       NOT NULL,  #
有符号值:-9223372036854775808 到9223373036854775807(- 263到263-1);无符号值:0到18446744073709551615(0到264 – 1) 8个字节

    `meta_data`               varchar(10240)        NOT NULL,
    `status`                  tinyint               NOT NULL,   #tinyint 非常小的整数
    `last_update_time`        int unsigned          NOT NULL,  #
    `is_ever_published`       bit                   NOT NULL,
    `is_in_di`                bit                   NOT NULL,

    PRIMARY  KEY (`url_md5`, `status`, `dbid`),  #主键没有着明确的概念定义,其是索引的一种,并且是唯一性索引的一种,且必须定义为“PRIMARY KEY”,主键不能重复,一个表只能有一个主键。组合的主键,每个列都会隐含定义NOT                                                                            #NULL约束,且其二者加在一起被定义了UNIQUE 惟一约束。
     KEY (`url_md5`, `dbid`)
)



ENGINE=InnoDB DEFAULT CHARSET=utf8   # 数据库存储引擎

PARTITION BY KEY(`dbid`, `status`)  
PARTITIONS 1000;


CREATE TABLE `vis_indexgen_contentsign_02`
(
    `dbid`                    int unsigned       NOT NULL,
    `content_sign`            bigint unsigned    NOT NULL,
    `url_md5`                 char(32)           NOT NULL,


    PRIMARY KEY (`url_md5`, `content_sign`, `dbid`),
             KEY (`content_sign`, `dbid`)
)
ENGINE=InnoDB DEFAULT CHARSET=utf8
PARTITION BY HASH(`dbid`)
PARTITIONS 1000;



#####

查看分区使用情况:

select partition_name,partition_expression,partition_description,table_rows from information_schema.partitions where table_schema = schema() and table_name = 'vis_indexgen_contentsign_02';



排序:

按照时间,获取最新的数据。降序排列。sql = "select  *  from   user   where  Putout=true   order by time    desc"    //按最新时间来排序   sql = "select  *  from   user   where  Putout=true   order by time    asc"      //按早时间来排序

select * from table  where original=1 and op=1 and avilable=1 order by update_time desc limit 10\G;



0 0
原创粉丝点击