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-运算符、函数、索引相关推荐

  1. mysql以下日期函数正确的_[数据库]MYSQL基础03(日期函数)

    [数据库]MYSQL基础03(日期函数) 0 2015-10-29 01:00:09 工作中对日期的处理是经常遇到的,需求可能多种多样,因此重点介绍. 1.获取当前日期select NOW()-- 结 ...

  2. MySQL基础 - 表达式和函数

    表达式 学过小学数学的我们应该知道,将数字和运算符连接起来的组合称之为表达式,比方说这样: 1 + 1 5 * 8 我们可以将其中的数字称之为操作数,运算符可以称之为操作符.特殊的,单个操作数也可以被 ...

  3. 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 ...

  4. mysql基础-InnoDB 中的索引

    1. InnoDB 中的索引 InnoDB 中的索引自然也是按照 B+树来组织的,前面我们说过 B+树的叶子节 点用来放数据的,但是放什么数据呢?索引自然是要放的,因为 B+树的作用本 来就是就是为了 ...

  5. MySQL 基础 ———— 存储过程与函数

    一.存储过程介绍 存储过程是一组预先编译好的SQL语句的集合,可理解成批处理语句.它的优点主要有以下几点: 1.提高代码的重用性: 2.简化操作: 3.减少了编译次数并且减少了和数据库服务器的连接次数 ...

  6. MySQL基础(3)----其他函数 约束 多表查询 子查询 组合查询

    1.其他函数 1.1.字符串函数  --- 操作字符串 常用函数: 函数 功能 CONCAT(s1, s2, ..., sn) 字符串拼接,将s1, s2, ..., sn拼接成一个字符串 LOWER ...

  7. MySQL MySQL基础_运算符

    算数运算符 算术运算符是MySQL中最常用的一类运算符.MySQL支持的算术运算符包括:加.减.乘.除.求余.下表所示为算数运算符的符号,作用,表达式的形式. 符号 作用 + 加法运算 - 减法运算 ...

  8. Mysql基础之rank函数的使用

    mysql8.0之前 是没有rank函数的,那我们要实现排名功能的方法可以是这样的 SELECT sid, sname, sage, @curRank := @curRank + 1 AS rank1 ...

  9. mysql5.6 函数索引_聊聊MySQL中的索引

    关于MySQL中的索引使用 索引是数据库优化中最常用也是最重要的手段之一,通过索引通常可以帮助用户解决大多数的SQL性能问题. 索引的存储分类: 1.B-Tree索引:最常见的索引类型,大部分引擎都支 ...

  10. mysql的in会走索引么

    是的,MySQL的IN运算符可以使用索引. 例如,如果你有一个表,其中有一个名为id的索引列,你可以使用以下查询来使用索引: SELECT * FROM mytable WHERE id IN (1, ...

最新文章

  1. 第二十八课.AlphaGo实例分析
  2. 纯JS实现省市县三级下拉联动
  3. 骑士旅行pascal解题程序
  4. 数据挖掘工具weka使用
  5. 解决接收参数乱码,tomcat的URIEncoding=UTF-8
  6. 多年经验的程序员迷失了自己,该怎么办?
  7. OpenCV_Corner Detect with Harris and goodFeaturesToTrack( 基于Harris及适合跟踪的优质特征的角点检测)
  8. 2B or 2c : 做2019的幸存者
  9. Android Studio高级使用技巧
  10. 跨国面板数据(1960-2020)十三:GDP、人均GDP、国民收入、储蓄(excel、stata版)
  11. 公司上市几轮投资分别是什么
  12. win10更新后闪屏处理方法
  13. python批量检索文献pubmed_PubMed快速检索文献,学学这些技巧!
  14. 手写英文单词识别(2)
  15. 微信模板消息 群发 突破 4条限制
  16. ExtJs自学教程(2):从DOM看EXTJS
  17. Vue_单页应用VS多页应用
  18. 王者荣耀怎么删掉注销的服务器,王者荣耀转区可以取消吗 跨系统角色转移怎么取消...
  19. 【程序设计】日期和时间
  20. NetBox使用方法

热门文章

  1. 【leetcode】1018. 可被 5 整除的二进制前缀
  2. MOSFET(一):基础
  3. java day43【Filter:过滤器 、Listener:监听器】
  4. 让 ASP.NET AJAX 支持浏览器的 History Navigation - Part 1
  5. 从 Chrome 谈到 Adobe
  6. ESP8266-01/01S配对阿里云生活物联网教程(超详细)
  7. Codeforces 758F Geometrical Progression
  8. 基本数据类型与格式化输出
  9. 网上的tensorflow和cnn教程汇总
  10. 【Oracle】Oracle基本数据类型总结