• MYSQL的索引和常见函数


    MySQL的索引


    索引机制

    MySQL属于关系型数据库,为了提高查询速度,可以创建索引。
    索引:由表中的一个或多个字段生成的键组成,这些键存储在数据结构(B树或者hash表中),于是又分为B树索引(InnoDB和MyISAM引擎支持)和哈希索引(Memory引擎支持)。

    • 适合创建索引的字段:
      • 1、经常查询的字段;
      • 2、分组的字段(GROUP BY);
      • 3、主键和外键字段;
      • 4、唯一完整性约束的字段;

    创建索引

    普通索引

    CREATE TABLE table-name(id int auto_increment not null, ... , INDEX index-name(column);
    CREATE INDEX index-name ON table-name(column1);#已经有的表上创建普通索引
    ALTER TABLE table-name ADD INDEX index-name(column);#同上
    

    唯一索引

    CREATE TABLE table-name(id int auto_increment not null, ... , UNIQUE INDEX index-name(column));
    CREATE UNIQUE INDEX index-name ON table-name(column1);#已经有的表上创建唯一索引
    ALTER TABLE table-name ADD UNIQUE INDEX index-name(column);#同上
    

    全文索引

    CREATE TABLE table-name(id int auto_increment not null, ... , FULLTEXT INDEX index-name(column));
    CREATE FULLTEXT INDEX index-name ON table-name(column1);#已经有的表上创建全文索引
    ALTER TABLE table-name ADD FULLTEXT INDEX index-name(column);#同上
    

    多列索引

    CREATE TABLE table-name(id int auto_increment not null, ... , UNIQUE INDEX index-name(column1, ...));
    CREATE UNIQUE INDEX index-name ON table-name(column1, ...);#已经有的表上创建多列索引
    ALTER TABLE table-name ADD UNIQUE INDEX index-name(column1, ...);#同上
    

    删除索引

    DROP INDEX index-name ON table-name;
    

    MySQL的常见函数


    字符串常用的函数

    SUBSTRING(str,x,y) 返回字符串从x位置起y长度的字符串;
    LOWER()和UPPER()
    STRCMP(str1,str2)字符串比较
    CONCAT()和CONCAT_WS()字符串拼接函数
    LENGTH(str)字符串长度
    CHAR_LENGTH(str)字符数

    数值函数

    MOD(x,y)求x模y的值
    ABS(x)绝对值
    CEIL(x)和FLOOR(x)#向上取整和向下取整
    RAND()返回0-1内的随机数

    时间日期函数

    CURDATE()当前日期
    CURTIME()当前时间
    NOW()当前日期和时间
    UNIX_TIMESTAMP(date)日期转时间戳
    FROM_UNIXTIME()获取unix时间戳的日期值
    WEEK()YEAR()HOUR()MINUTE()MONTHNAME()

    系统函数

    VERSION()
    DATABASE()
    USER()
    IF(value,doiftrue,doifflase)
    FORMAT(x,n)保留x的n位小数

    博主简介:博主国内安全行业目前最强大的网络安全公司做技术研究员,常年做技术工作。 获得过以下全国竞赛大奖: 《中国电子作品大赛一等奖》 《云计算技术大赛一等奖》 《AIIA人工智能大赛优胜奖》《网络安全知识竞赛一等奖》 《高新技术个人突出贡献奖》,并参与《虚拟化技术-**保密**》一书编写,现已出版。还拥有多项专利,多项软件著作权! 且学习状态上进,立志做技术牛逼的人。座右铭:在路上,永远年轻,永远热泪盈眶。可邮件联系博主共同进步,个人邮箱:pigeon_code@163.com
  • 相关阅读:
    【转】Xilinx 7系列FPGA 高速收发器GTX/GTH的一些基本概念
    jsoncpp中文乱码问题
    Excel VBA ——如何快速填充纸质登记表
    Excel VBA——如何快速将一个excel文件中的各个工作表分别保存成不同的工作簿
    等保测评整改过程遇到的问题及解决方案
    清除阿里云服务器挖矿程序过程
    python机器学习——随机森林算法
    python机器学习——kmeans聚类算法
    python机器学习——BP(反向传播)神经网络算法
    python机器学习——SVM支持向量机
  • 原文地址:https://www.cnblogs.com/mutudou/p/14803316.html
Copyright © 2020-2023  润新知