MySQL基础六:运算符和函数
来源:互联网 发布:诽谤方志敏网络文章 编辑:程序博客网 时间:2024/06/07 19:25
本文参考:http://www.imooc.com/video/2477
mysql> CREATE DATABASE imooc;Query OK, 1 row affected (0.01 sec)mysql> SHOW DATABASES;+--------------------+| Database |+--------------------+| information_schema || imooc || mysql || performance_schema || sakila || sys || t2 || world |+--------------------+8 rows in set (0.02 sec)mysql> #连接两个字符;mysql> SELECT CONCAT('imooc','mysql');+-------------------------+| CONCAT('imooc','mysql') |+-------------------------+| imoocmysql |+-------------------------+1 row in set (0.02 sec)mysql> SELECT CONCAT('imooc','-','mysql');+-----------------------------+| CONCAT('imooc','-','mysql') |+-----------------------------+| imooc-mysql |+-----------------------------+1 row in set (0.00 sec)mysql> CREATE DATABASE test;Query OK, 1 row affected (0.00 sec)mysql> DESC test;+----------+---------------------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra |+----------+---------------------+------+-----+---------+----------------+| id | tinyint(3) unsigned | NO | PRI | NULL | auto_increment || username | varchar(20) | YES | | NULL | |+----------+---------------------+------+-----+---------+----------------+2 rows in set (0.06 sec)mysql> SELECT * FROM test;+----+----------+| id | username |+----+----------+| 1 | John || 2 | 111 |+----+----------+2 rows in set (0.00 sec)mysql> SELECT CONCAT(id,username) AS fullname FROM test;+----------+| fullname |+----------+| 1John || 2111 |+----------+2 rows in set (0.00 sec)mysql> SELECT CONCAT_WS('|','A','B','C');+----------------------------+| CONCAT_WS('|','A','B','C') |+----------------------------+| A|B|C |+----------------------------+1 row in set (0.02 sec)mysql> SELECT CONCAT_WS('-','imooc','mysql','Function');+-------------------------------------------+| CONCAT_WS('-','imooc','mysql','Function') |+-------------------------------------------+| imooc-mysql-Function |+-------------------------------------------+1 row in set (0.00 sec)mysql> #将数字格式化;mysql> SELECT FORMAT(12560.355632,2);+------------------------+| FORMAT(12560.355632,2) |+------------------------+| 12,560.36 |+------------------------+1 row in set (0.01 sec)mysql> #大小写转换;mysql> SELECT LOWER('MySQL');+----------------+| LOWER('MySQL') |+----------------+| mysql |+----------------+1 row in set (0.01 sec)mysql> SELECT UPPER('MySQL');+----------------+| UPPER('MySQL') |+----------------+| MYSQL |+----------------+1 row in set (0.00 sec)mysql> #字符串左侧或右侧字符的获取;mysql> SELECT LEFT('MySQL',2);+-----------------+| LEFT('MySQL',2) |+-----------------+| My |+-----------------+1 row in set (0.01 sec)mysql> SELECT LOWER(LEFT('MySQL',2));+------------------------+| LOWER(LEFT('MySQL',2)) |+------------------------+| my |+------------------------+1 row in set (0.00 sec)mysql> SELECT RIGHT('MySQL',3);+------------------+| RIGHT('MySQL',3) |+------------------+| SQL |+------------------+1 row in set (0.00 sec)mysql> #获取字符串的长度;mysql> SELECT LENGTH('MySQL');+-----------------+| LENGTH('MySQL') |+-----------------+| 5 |+-----------------+1 row in set (0.01 sec)mysql> SELECT LENGTH('My SQL');+-------------------+| LENGTH('My SQL') |+-------------------+| 7 |+-------------------+1 row in set (0.00 sec)mysql> #删除前导和后续空格;mysql> SELECT LTRIM(' MySQL '); +----------------------+| LTRIM(' MySQL ') |+----------------------+| MySQL |+----------------------+1 row in set (0.00 sec)mysql> SELECT LENGTH(' MySQL ');+-----------------------+| LENGTH(' MySQL ') |+-----------------------+| 11 |+-----------------------+1 row in set (0.00 sec)mysql> SELECT LENGTH(LTRIM(' MySQL '));+------------------------------+| LENGTH(LTRIM(' MySQL ')) |+------------------------------+| 8 |+------------------------------+1 row in set (0.00 sec)mysql> SELECT LENGTH(RTRIM(' MySQL '));+------------------------------+| LENGTH(RTRIM(' MySQL ')) |+------------------------------+| 8 |+------------------------------+1 row in set (0.00 sec)mysql> SELECT LENGTH(TRIM(' MySQL '));+-----------------------------+| LENGTH(TRIM(' MySQL ')) |+-----------------------------+| 5 |+-----------------------------+1 row in set (0.01 sec)mysql> #删除前导的问号;mysql> SELECT TRIM(LEADING '?' FROM '??MySQL???');+-------------------------------------+| TRIM(LEADING '?' FROM '??MySQL???') |+-------------------------------------+| MySQL??? |+-------------------------------------+1 row in set (0.00 sec)mysql> SELECT TRIM(TRAILING '?' FROM '??MySQL???');+--------------------------------------+| TRIM(TRAILING '?' FROM '??MySQL???') |+--------------------------------------+| ??MySQL |+--------------------------------------+1 row in set (0.00 sec)mysql> SELECT TRIM(BOTH '?' FROM '??MySQL???');+----------------------------------+| TRIM(BOTH '?' FROM '??MySQL???') |+----------------------------------+| MySQL |+----------------------------------+1 row in set (0.02 sec)
mysql> #字符替换;mysql> SELECT REPLACE('??My??SQL???','?','');+--------------------------------+| REPLACE('??My??SQL???','?','') |+--------------------------------+| MySQL |+--------------------------------+1 row in set (0.00 sec)mysql> SELECT REPLACE('??My??SQL???','?','!*');+----------------------------------+| REPLACE('??My??SQL???','?','!*') |+----------------------------------+| !*!*My!*!*SQL!*!*!* |+----------------------------------+1 row in set (0.00 sec)mysql> SELECT REPLACE('??My??SQL???','??','!');+----------------------------------+| REPLACE('??My??SQL???','??','!') |+----------------------------------+| !My!SQL!? |+----------------------------------+1 row in set (0.00 sec)mysql> #字符串的截取;mysql> SELECT SUBSTRING('MySQL',1,2);+------------------------+| SUBSTRING('MySQL',1,2) |+------------------------+| My |+------------------------+1 row in set (0.00 sec)mysql> #字符串是从1开始;mysql> SELECT SUBSTRING('MySQL',3);+----------------------+| SUBSTRING('MySQL',3) |+----------------------+| SQL |+----------------------+1 row in set (0.00 sec)mysql> SELECT SUBSTRING('MySQL',-3);+-----------------------+| SUBSTRING('MySQL',-3) |+-----------------------+| SQL |+-----------------------+1 row in set (0.01 sec)mysql> #模式匹配;mysql> SELECT 'MySQL' LIKE 'M%';+-------------------+| 'MySQL' LIKE 'M%' |+-------------------+| 1 |+-------------------+1 row in set (0.02 sec)mysql> # 1是True、mysql> SELECT * FROM test;+----+----------+| id | username |+----+----------+| 1 | John || 2 | 111 |+----+----------+2 rows in set (0.00 sec)mysql> SELECT * FROM test WHERE username LIKE '%o%';+----+----------+| id | username |+----+----------+| 1 | John |+----+----------+1 row in set (0.01 sec)mysql> INSERT test VALUES(NULL,'tom%');Query OK, 1 row affected (0.04 sec)mysql> SELECT * FROM test;+----+----------+| id | username |+----+----------+| 1 | John || 2 | 111 || 3 | tom% |+----+----------+3 rows in set (0.00 sec)mysql> SELECT * FROM test WHERE username LIKE '%%%';+----+----------+| id | username |+----+----------+| 1 | John || 2 | 111 || 3 | tom% |+----+----------+3 rows in set (0.00 sec)mysql> #特殊情况下,用百分号定位需要特殊说明;mysql> SELECT * FROM test WHERE username LIKE '%1%%' ESCAPE '1';+----+----------+| id | username |+----+----------+| 3 | tom% |+----+----------+1 row in set (0.00 sec)mysql> # %代表任意字符,_ 代表任意一个字符;
数值运算符和函数;
mysql> SELECT 5+9*9;+-------+| 5+9*9 |+-------+| 86 |+-------+1 row in set (0.00 sec)mysql> #进一取整;mysql> SELECT CEIL(3.01);+------------+| CEIL(3.01) |+------------+| 4 |+------------+1 row in set (0.01 sec)mysql> SELECT FLOOR(3.99);+-------------+| FLOOR(3.99) |+-------------+| 3 |+-------------+1 row in set (0.00 sec)mysql> #整数除法;mysql> SELECT 3/4;+--------+| 3/4 |+--------+| 0.7500 |+--------+1 row in set (0.00 sec)mysql> SELECT 3 DIV 4;+---------+| 3 DIV 4 |+---------+| 0 |+---------+1 row in set (0.00 sec)mysql> #取余数;mysql> SELECT 3 * 4;+-------+| 3 * 4 |+-------+| 12 |+-------+1 row in set (0.00 sec)mysql> SELECT 3 MOD 4;+---------+| 3 MOD 4 |+---------+| 3 |+---------+1 row in set (0.00 sec)mysql> SELECT 5.3 MOD 4;+-----------+| 5.3 MOD 4 |+-----------+| 1.3 |+-----------+1 row in set (0.00 sec)mysql> #幂运算mysql> SELECT POWER(3,3);+------------+| POWER(3,3) |+------------+| 27 |+------------+1 row in set (0.03 sec)mysql> #四舍五入;mysql> SELECT ROUND(3.1415926,3);+--------------------+| ROUND(3.1415926,3) |+--------------------+| 3.142 |+--------------------+1 row in set (0.00 sec)mysql> SELECT ROUND(3.1415926,0);+--------------------+| ROUND(3.1415926,0) |+--------------------+| 3 |+--------------------+1 row in set (0.00 sec)mysql> #数字截取;mysql> SELECT TRUNCATE(3.1415926,3);+-----------------------+| TRUNCATE(3.1415926,3) |+-----------------------+| 3.141 |+-----------------------+1 row in set (0.00 sec)mysql> SELECT TRUNCATE(3.1415926,-1);+------------------------+| TRUNCATE(3.1415926,-1) |+------------------------+| 0 |+------------------------+1 row in set (0.00 sec)
比较运算符和函数;
mysql> SELECT 15 BETWEEN 1 AND 22;+---------------------+| 15 BETWEEN 1 AND 22 |+---------------------+| 1 |+---------------------+1 row in set (0.02 sec)mysql> SELECT 35 BETWEEN 1 AND 22;+---------------------+| 35 BETWEEN 1 AND 22 |+---------------------+| 0 |+---------------------+1 row in set (0.00 sec)mysql> SELECT 35 NOT BETWEEN 1 AND 22;+-------------------------+| 35 NOT BETWEEN 1 AND 22 |+-------------------------+| 1 |+-------------------------+1 row in set (0.00 sec)mysql> SELECT 10 IN(5,10,15,20);+-------------------+| 10 IN(5,10,15,20) |+-------------------+| 1 |+-------------------+1 row in set (0.00 sec)mysql> SELECT 13 IN(5,10,15,20);+-------------------+| 13 IN(5,10,15,20) |+-------------------+| 0 |+-------------------+1 row in set (0.00 sec)mysql> #查看是否为空;mysql> SELECT NULL IS NULL;+--------------+| NULL IS NULL |+--------------+| 1 |+--------------+1 row in set (0.00 sec)mysql> SELECT '' IS NULL;+------------+| '' IS NULL |+------------+| 0 |+------------+1 row in set (0.00 sec)mysql> SELECT 0 IS NULL;+-----------+| 0 IS NULL |+-----------+| 0 |+-----------+1 row in set (0.00 sec)mysql> INSERT test VALUE(NULL,NULL);Query OK, 1 row affected (0.07 sec)mysql> SELECT * FROM test;+----+----------+| id | username |+----+----------+| 1 | John || 2 | 111 || 3 | tom% || 4 | NULL |+----+----------+4 rows in set (0.00 sec)mysql> SELECT * FROM test WHERE username IS NULL;+----+----------+| id | username |+----+----------+| 4 | NULL |+----+----------+1 row in set (0.00 sec)mysql> SELECT * FROM test WHERE username IS NOT NULL;+----+----------+| id | username |+----+----------+| 1 | John || 2 | 111 || 3 | tom% |+----+----------+3 rows in set (0.00 sec)
日期时间函数;
mysql> SELECT NOW();+---------------------+| NOW() |+---------------------+| 2016-04-13 20:10:57 |+---------------------+1 row in set (0.03 sec)mysql> SELECT CURDATE();+------------+| CURDATE() |+------------+| 2016-04-13 |+------------+1 row in set (0.01 sec)mysql> SELECT CURTIME();+-----------+| CURTIME() |+-----------+| 20:11:39 |+-----------+1 row in set (0.02 sec)mysql> #日期的增加和减少;mysql> SELECT DATE_ADD('2016-04-13',INTERVAL 365 DAY);+-----------------------------------------+| DATE_ADD('2016-04-13',INTERVAL 365 DAY) |+-----------------------------------------+| 2017-04-13 |+-----------------------------------------+1 row in set (0.01 sec)mysql> SELECT DATE_ADD('2016-04-13',INTERVAL -365 DAY);+------------------------------------------+| DATE_ADD('2016-04-13',INTERVAL -365 DAY) |+------------------------------------------+| 2015-04-14 |+------------------------------------------+1 row in set (0.01 sec)mysql> SELECT DATE_ADD('2016-04-13',INTERVAL 1 YEAR);+----------------------------------------+| DATE_ADD('2016-04-13',INTERVAL 1 YEAR) |+----------------------------------------+| 2017-04-13 |+----------------------------------------+1 row in set (0.00 sec)mysql> SELECT DATE_ADD('2016-04-13',INTERVAL 3 WEEK);+----------------------------------------+| DATE_ADD('2016-04-13',INTERVAL 3 WEEK) |+----------------------------------------+| 2016-05-04 |+----------------------------------------+1 row in set (0.00 sec)mysql> #求两个日期的差值;mysql> SELECT DATEDIFF('2013-3-12','2015-3-15');+-----------------------------------+| DATEDIFF('2013-3-12','2015-3-15') |+-----------------------------------+| -733 |+-----------------------------------+1 row in set (0.02 sec)mysql> #日期格式化;mysql> SELECT DATE_FORMAT('2013-3-12','%M/%D/%Y');+-------------------------------------+| DATE_FORMAT('2013-3-12','%M/%D/%Y') |+-------------------------------------+| March/12th/2013 |+-------------------------------------+1 row in set (0.01 sec)
信息函数;
mysql> #返回当前连接的ID;mysql> SELECT CONNECTION_ID();+-----------------+| CONNECTION_ID() |+-----------------+| 2 |+-----------------+1 row in set (0.00 sec)mysql> SELECT DATABASE();+------------+| DATABASE() |+------------+| world |+------------+1 row in set (0.00 sec)mysql> #最后插入记录;mysql> DESC test;+----------+---------------------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra |+----------+---------------------+------+-----+---------+----------------+| id | tinyint(3) unsigned | NO | PRI | NULL | auto_increment || username | varchar(20) | YES | | NULL | |+----------+---------------------+------+-----+---------+----------------+2 rows in set (0.00 sec)mysql> SELECT LAST_INSERT_ID();+------------------+| LAST_INSERT_ID() |+------------------+| 4 |+------------------+1 row in set (0.01 sec)mysql> #写入多条语句的id只能得到第一个id;mysql> INSERT test VALUES(NULL,'AA'),(NULL,'BB');Query OK, 2 rows affected (0.07 sec)Records: 2 Duplicates: 0 Warnings: 0mysql> SELECT LAST_INSERT_ID();+------------------+| LAST_INSERT_ID() |+------------------+| 5 |+------------------+1 row in set (0.00 sec)mysql> SELECT USER();+----------------+| USER() |+----------------+| root@localhost |+----------------+1 row in set (0.00 sec)mysql> SELECT VERSION();+------------+| VERSION() |+------------+| 5.7.10-log |+------------+1 row in set (0.00 sec)
聚合函数;
mysql> #求平均,只能在表中求平均值;mysql> SELECT AVG(id) FROM test;+---------+| AVG(id) |+---------+| 3.5000 |+---------+1 row in set (0.00 sec)mysql> SELECT * FROM tdb_goods LIMIT 1;+----------+-----------------------+---------+----------+-------------+---------+------------+| goods_id | goods_name | cate_id | brand_id | goods_price | is_show | is_saleoff |+----------+-----------------------+---------+----------+-------------+---------+------------+| 1 | R510VC 15.6英寸笔记本 | 5 | 2 | 3399.000 | 1 | 0 |+----------+-----------------------+---------+----------+-------------+---------+------------+1 row in set (0.00 sec)mysql> SELECT AVG(goods_price) AS avg_price FROM tdb_goods;+--------------+| avg_price |+--------------+| 5654.8095238 |+--------------+1 row in set (0.00 sec)mysql> SELECT ROUND(AVG(goods_price)) AS avg_price FROM tdb_goods;+-----------+| avg_price |+-----------+| 5655 |+-----------+1 row in set (0.00 sec)mysql> SELECT ROUND(AVG(goods_price),2) AS avg_price FROM tdb_goods;+-----------+| avg_price |+-----------+| 5654.81 |+-----------+1 row in set (0.00 sec)mysql> #求记录个个数;mysql> SELECT COUNT(goods_id) AS counts FROM tdb_goods;+--------+| counts |+--------+| 21 |+--------+1 row in set (0.00 sec)mysql> SELECT MAX(goods_price) AS counts FROM tdb_goods;+-----------+| counts |+-----------+| 28888.000 |+-----------+1 row in set (0.01 sec)mysql> SELECT MIN(goods_price) AS counts FROM tdb_goods;+--------+| counts |+--------+| 99.000 |+--------+1 row in set (0.01 sec)mysql> SELECT SUM(goods_price) AS counts FROM tdb_goods;+------------+| counts |+------------+| 118751.000 |+------------+1 row in set (0.00 sec)
加密函数;
mysql> #加密函数;mysql> SELECT MD5('admin');+----------------------------------+| MD5('admin') |+----------------------------------+| 21232f297a57a5a743894a0e4a801fc3 |+----------------------------------+1 row in set (0.00 sec)mysql> SELECT PASSWORD('admin');+-------------------------------------------+| PASSWORD('admin') |+-------------------------------------------+| *4ACFE3202A5FF5CF467898FC58AAB1D615029441 |+-------------------------------------------+1 row in set, 1 warning (0.02 sec)mysql> #改密码;mysql> SET PASSWORD=PASSWORD('1111');Query OK, 0 rows affected, 1 warning (0.07 sec)mysql> exitByeC:\WINDOWS\system32>mysql -u root -p1111mysql: [Warning] Using a password on the command line interface can be insecure.Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 3Server version: 5.7.10-log MySQL Community Server (GPL)Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> SET PASSWORD=PASSWORD('1234');Query OK, 0 rows affected, 1 warning (0.00 sec)
0 0
- MySQL基础六:运算符和函数
- MySQL基础之六运算符和函数
- MySql基础操作-运算符和函数
- Mysql基础篇---运算符和函数
- MySQL 运算符和函数
- MySQL运算符和函数
- MySQL运算符和函数
- mysql 运算符和函数
- MySQL-运算符和函数
- MySQL运算符和函数
- MySQL 运算符和函数
- Mysql 运算符和函数
- mysql 运算符和函数
- java基础六 运算符
- MySQL数据库——基础运算符和函数总结(一步到位)
- mysql中的运算符和函数
- MySQL数值运算符和函数
- MySQL数值运算符和函数
- 高斯模糊效果实现方案及性能对比
- 经典排序算法总结
- 图特云平台前端试手遇到的问题
- 关于括号匹配的问题及其源码
- Android Dalvik虚拟机
- MySQL基础六:运算符和函数
- JavaScript学习之基础语法
- Android 开源框架ViewPageIndicator 和 ViewPager 仿网易新闻客户端Tab标签
- ios 嵌套 H5 页面 返回缓存页面
- Xcode7--免证书真机调试步骤
- 读书笔记—View的事件体系(1)
- 在Ubuntu14.04上快速部署OpenStack
- jvm的内存构成
- Redis入门(一)