MYSQL的索引和常见函数
2024-08-22 16:02:34
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位小数
最新文章
- ajex请求的数据 什么时候需用Json.parse()
- Android中Service通信(一)——启动Service并传递数据
- Swift - UIView,UItableView,Cell设置边框方法
- [转载] c++ cout 格式化输出浮点数、整数及格方法
- Java自学成长路线(转载)
- C#实现FTP文件夹下载功能【转载】
- arcgis切图问题
- javascript数组排序-----1
- JS中判定问题
- [刷题]算法竞赛入门经典(第2版) 6-6/UVa12166 - Equilibrium Mobile
- 【java虚拟机系列】从java虚拟机字节码执行引擎的执行过程来彻底理解java的多态性
- Python编程从入门到实践笔记——操作列表
- Linux内存管理 (26)内存相关工具
- centos7.6编译安装php7.2.11及redis/memcached/rabbitmq/openssl/curl等常见扩展
- Notepad++怎么增加整行删除快捷键?添加/取消区块注释?
- 微星笔记本每次都进bios
- CRM WEB UI 03搜索界面新建按钮调到详细界面
- 牛客网-《剑指offer》-二进制中1的个数
- Linux 安装MySQL-python
- js 获取中文的拼音首字母