zoukankan      html  css  js  c++  java
  • MySQL学习笔记_9_MySQL高级操作(上)

    MySQL高级操作(上)



    一、MySQL表复制

    create table t2 like t1;               #复制表结构,t2可以学习到t1所有的表结构

    insert into t2 select * from t1;    #复制表数据,但是这样还是会有缺陷,因为没有考虑到列的对应,因为t1t2的表结构完全一致,所以此次操作才不会出错!

    建议:

    insert into t3(name) select name from t1; #指定复制的列


    二、MySQL索引

    1、直接创建索引

    create index index_name on table_name(column_list);                #创建普通索引

    create unique index index_name on table_name(colume_list);    #创建唯一索引,请在创建唯一索引之前确保该列没有重复值,不然,创建不成功!


    2、直接删除索引

    drop index index_name on table_name;


    3、修改-创建索引

    alter table table_name add index [index_name](colum_list);                #创建普通索引

    alter table table_name add unique [index_name](column_list);            #创建唯一索引

    alter table table_name add primary key [index_name](column_list);   #创建主键索引,如果不添加index_name,则使用column_list作为默认索引名


    4、修改-删除索引

    alter table table_name drop index index_name;            #删除普通/唯一索引

    alter table table_name drop primary key;                      #删除主键索引


    【推荐使用方式34

    【附】

    1、查看索引:show index from t1 G

    2alter table table_name modify id int not null;


    三、MySQL视图

    视图:通过一个条件,把一部分数据从一张表里面提取出来,形成一张中间表,这张表就是视图

    注意:视图随着主表的改变而改变

    1、创建视图

    create view view_name as select *from table_naem where id > 4 and id <= 10;


    3、查看创建了哪些视图

    showtables; #视图就是一个中间表

    3、查看视图中数据

    select* from view_name; #与查看表数据相同


    4、删除视图

    drop view view_name;


    四、MySQL内置函数补充

    查看函数作用及简单示例:? function_name

    e.g. ? lcase;


    1、字符串函数

    1lcase(“string”)/ucase(“string”)           #转换成小写/大写,与lower(str)/upper(str)作用相同

    2length(“string”)                                   #返回字符串的长度

    3repeat(“string”,n)                                #将字符从重复n

    4space(n)                                               #生成n个空格


    2、数学函数

    1bin(decimal_number)                          #十进制转二进制

    2ceiling(n)                                             #作用与ceil相同,向下取整

    3sqrt(n)                                                  #开平方

    4max(col)/min(col)                               #取最大/最小值,聚合时使用

    5rand()                                                   #生成随机数

    select * from table_name order by rand(); #使用rand函数作为排序基准


    3、日期函数

    1datediff(expr1,expr2)                             #返回expr1expr2相差的天数,如果expr1> expr2,则返回正值

  • 相关阅读:
    Perf 简介
    quagga源码分析--路由信息处理zebra-rib
    quagga源码分析--大内总管zebra
    定位虚拟机卡的原因
    quagga源码分析--内核通信netlink
    网络叠加模式VLAN、VxLAN、GRE
    DPDK support for vhost-user
    SR-IOV简介
    Nginx stream(TCP/UDP)负载均衡
    制作Ubuntu14.04的Openstack镜像
  • 原文地址:https://www.cnblogs.com/itrena/p/5927060.html
Copyright © 2011-2022 走看看