mysql基础8-运算符、函数、索引
1.mysql在运算符中使用
mysql> SELECT 3/0;
+------+
| 3/0 |
+------+
| NULL |
+------+
1 row in set (0.00 sec)mysql> SELECT 3%8;
+------+
| 3%8 |
+------+
| 3 |
+------+
1 row in set (0.00 sec)mysql> SELECT 3 MOD 8;
+---------+
| 3 MOD 8 |
+---------+
| 3 |
+---------+
1 row in set (0.00 sec)# 对NULL做什么处理均为NULL
mysql> SELECT 1+NULL;
+--------+
| 1+NULL |
+--------+
| NULL |
+--------+
1 row in set (0.00 sec)
-- 与NULL比较,用<=>
SELECT id,username,age,sex,sex<=>NULL FROM cms_user;
-- > >=
SELECT id,username,score,score>=70 FROM student;
-- IS NULL IS NOT NULL 判断是否等于NULL
SELECT id,username,age,age IS NOT NULL FROM cms_user;
-- BETWEEN AND NOT BETWEEN 判断是否在范围内
SELECT id,username,age,age BETWEEN 10 AND 30 FROM cms_user;
-- IN NOT IN 判断是否在某一个固定范围内
SELECT id,username,age,age IN(21,31,41,51) FROM cms_user;
-- LIKE NOT LIKE 判断是否匹配
SELECT id,username,username LIKE '____' FROM cms_user;
-- REGEXP 判断是否正则匹配
SELECT id,username,username REGEXP '^t' FROM cms_user;
-- && || ! XOR
SELECT 2&&2,2&&0,2&&NULL,1||1,1||0,1||NULL,0||NULL;
-- NULL取反仍然是NULL
SELECT !1,!0,!NULL;
2.数学函数库
1)数学函数
2)字符串函数
3)日期时间函数
4)条件判断函数
SELECT id,username,score, CASE WHEN score>60 THEN '不错', WHEN score=60 THEN '刚及格'
ELSE '没及格' END FROM student;
5)系统信息函数
6)常用函数
INET_NTOA
GET_LOCK
3.索引的使用
-- 创建普通索引
CREATE TABLE test4(
id TINYINT UNSIGNED,
username VARCHAR(20),
INDEX in_id(id),
KEY in_username(username)
);-- 创建唯一索引
CREATE TABLE test5(
id TINYINT UNSIGNED AUTO_INCREMENT KEY,
username VARCHAR(20) NOT NULL UNIQUE,
card CHAR(18) NOT NULL,
UNIQUE KEY uni_card(card)
);-- 创建全文索引
CREATE TABLE test6(
id TINYINT UNSIGNED AUTO_INCREMENT KEY,
username VARCHAR(20) NOT NULL UNIQUE,
userDesc VARCHAR(20) NOT NULL,
FULLTEXT INDEX full_userDesc(userDesc)
);-- 创建单列索引
CREATE TABLE test7(
id TINYINT UNSIGNED AUTO_INCREMENT KEY,
test1 VARCHAR(20) NOT NULL,
test2 VARCHAR(20) NOT NULL,
test3 VARCHAR(20) NOT NULL,
test4 VARCHAR(20) NOT NULL,
INDEX in_test1(test1)
);-- 创建多列索引
CREATE TABLE test8(
id TINYINT UNSIGNED AUTO_INCREMENT KEY,
test1 VARCHAR(20) NOT NULL,
test2 VARCHAR(20) NOT NULL,
test3 VARCHAR(20) NOT NULL,
test4 VARCHAR(20) NOT NULL,
INDEX mul_t1_t2_t3(test1,test2,test3)
);-- 唯一性的联合索引
CREATE TABLE test9(
id TINYINT UNSIGNED AUTO_INCREMENT KEY,
test1 VARCHAR(20) NOT NULL,
test2 VARCHAR(20) NOT NULL,
test3 VARCHAR(20) NOT NULL,
test4 VARCHAR(20) NOT NULL,
UNIQUE KEY mul_t1_t2_t3(test1,test2,test3)
);-- 创建空间索引
CREATE TABLE test10(
id TINYINT UNSIGNED AUTO_INCREMENT KEY,
test GEOMETRY NOT NULL,
SPATIAL INDEX spa_test(test)
);ENGINE=MyISAM;-- 删除索引
DROP INDEX in_id ON test4;
DROP INDEX in_username ON test4;-- 在已经存在的表上创建索引
-- 创建普通索引
CREATE INDEX in_id ON test4(id);
-- 创建唯一索引
CREATE UNIQUE INDEX uni_username ON test5(uername);
ALTER TABLE test5 ADD UNIQUE INDEX uni_card(card);
ALTER TABLE test4 ADD INDEX in_username(username);-- 创建空间索引
DROP INDEX spa_test ON test10;
CREATE SPATIAL INDEX spa_test ON test10(test);
mysql基础8-运算符、函数、索引相关推荐
- mysql以下日期函数正确的_[数据库]MYSQL基础03(日期函数)
[数据库]MYSQL基础03(日期函数) 0 2015-10-29 01:00:09 工作中对日期的处理是经常遇到的,需求可能多种多样,因此重点介绍. 1.获取当前日期select NOW()-- 结 ...
- MySQL基础 - 表达式和函数
表达式 学过小学数学的我们应该知道,将数字和运算符连接起来的组合称之为表达式,比方说这样: 1 + 1 5 * 8 我们可以将其中的数字称之为操作数,运算符可以称之为操作符.特殊的,单个操作数也可以被 ...
- mysql基础(九) 索引和视图
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 3 ...
- mysql基础-InnoDB 中的索引
1. InnoDB 中的索引 InnoDB 中的索引自然也是按照 B+树来组织的,前面我们说过 B+树的叶子节 点用来放数据的,但是放什么数据呢?索引自然是要放的,因为 B+树的作用本 来就是就是为了 ...
- MySQL 基础 ———— 存储过程与函数
一.存储过程介绍 存储过程是一组预先编译好的SQL语句的集合,可理解成批处理语句.它的优点主要有以下几点: 1.提高代码的重用性: 2.简化操作: 3.减少了编译次数并且减少了和数据库服务器的连接次数 ...
- MySQL基础(3)----其他函数 约束 多表查询 子查询 组合查询
1.其他函数 1.1.字符串函数 --- 操作字符串 常用函数: 函数 功能 CONCAT(s1, s2, ..., sn) 字符串拼接,将s1, s2, ..., sn拼接成一个字符串 LOWER ...
- MySQL MySQL基础_运算符
算数运算符 算术运算符是MySQL中最常用的一类运算符.MySQL支持的算术运算符包括:加.减.乘.除.求余.下表所示为算数运算符的符号,作用,表达式的形式. 符号 作用 + 加法运算 - 减法运算 ...
- Mysql基础之rank函数的使用
mysql8.0之前 是没有rank函数的,那我们要实现排名功能的方法可以是这样的 SELECT sid, sname, sage, @curRank := @curRank + 1 AS rank1 ...
- mysql5.6 函数索引_聊聊MySQL中的索引
关于MySQL中的索引使用 索引是数据库优化中最常用也是最重要的手段之一,通过索引通常可以帮助用户解决大多数的SQL性能问题. 索引的存储分类: 1.B-Tree索引:最常见的索引类型,大部分引擎都支 ...
- mysql的in会走索引么
是的,MySQL的IN运算符可以使用索引. 例如,如果你有一个表,其中有一个名为id的索引列,你可以使用以下查询来使用索引: SELECT * FROM mytable WHERE id IN (1, ...
最新文章
- 第二十八课.AlphaGo实例分析
- 纯JS实现省市县三级下拉联动
- 骑士旅行pascal解题程序
- 数据挖掘工具weka使用
- 解决接收参数乱码,tomcat的URIEncoding=UTF-8
- 多年经验的程序员迷失了自己,该怎么办?
- OpenCV_Corner Detect with Harris and goodFeaturesToTrack( 基于Harris及适合跟踪的优质特征的角点检测)
- 2B or 2c : 做2019的幸存者
- Android Studio高级使用技巧
- 跨国面板数据(1960-2020)十三:GDP、人均GDP、国民收入、储蓄(excel、stata版)
- 公司上市几轮投资分别是什么
- win10更新后闪屏处理方法
- python批量检索文献pubmed_PubMed快速检索文献,学学这些技巧!
- 手写英文单词识别(2)
- 微信模板消息 群发 突破 4条限制
- ExtJs自学教程(2):从DOM看EXTJS
- Vue_单页应用VS多页应用
- 王者荣耀怎么删掉注销的服务器,王者荣耀转区可以取消吗 跨系统角色转移怎么取消...
- 【程序设计】日期和时间
- NetBox使用方法