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,则返回正值

  • 相关阅读:
    Oracle 11g SQL Fundamentals Training Introduction02
    Chapter 05Reporting Aggregated data Using the Group Functions 01
    Chapter 01Restriicting Data Using The SQL SELECT Statemnt01
    Oracle 11g SQL Fundamentals Training Introduction01
    Chapter 04Using Conversion Functions and Conditional ExpressionsConditional Expressions
    Unix时代的开创者Ken Thompson (zz.is2120.bg57iv3)
    我心目中计算机软件科学最小必读书目 (zz.is2120)
    北京将评估分时分区单双号限行 推进错时上下班 (zz)
    佳能G系列领军相机G1X
    选购单反相机的新建议——心民谈宾得K5(转)
  • 原文地址:https://www.cnblogs.com/itrena/p/5927060.html
Copyright © 2011-2022 走看看