mysql 学习记要(五)-字符串、数值处理、日期、查询的逻辑处理、系统相关内容查询、IP地址相关、密码

mysql 学习记录(五)--字符串、数值处理、日期、查询的逻辑处理、系统相关内容查询、IP地址相关、密码
1.字符串函数
mysql> use test1;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> select concat('aaa','bbb','ccc'),concat('aaa',null);
+---------------------------+--------------------+
| concat('aaa','bbb','ccc') | concat('aaa',null) |
+---------------------------+--------------------+
| aaabbbccc                 | NULL               |
+---------------------------+--------------------+
1 row in set (0.00 sec)

mysql> select insert('beijing200&you',12,3,'me');
+------------------------------------+
| insert('beijing200&you',12,3,'me') |
+------------------------------------+
| beijing200&me                      |
+------------------------------------+
1 row in set (0.00 sec)

mysql> select lower('BEIJING2008'),UPPER('beijing2008');
+----------------------+----------------------+
| lower('BEIJING2008') | UPPER('beijing2008') |
+----------------------+----------------------+
| beijing2008          | BEIJING2008          |
+----------------------+----------------------+
1 row in set (0.00 sec)

mysql> select left('beijing2008',7),left('beijing',null),right('beijing2008',4);
+-----------------------+----------------------+------------------------+
| left('beijing2008',7) | left('beijing',null) | right('beijing2008',4) |
+-----------------------+----------------------+------------------------+
| beijing               | NULL                 | 2008                   |
+-----------------------+----------------------+------------------------+
1 row in set (0.00 sec)

mysql> select lpad('2008',20,'beijing'),rpad('beijing',20,'2008');
+---------------------------+---------------------------+
| lpad('2008',20,'beijing') | rpad('beijing',20,'2008') |
+---------------------------+---------------------------+
| beijingbeijingbe2008      | beijing2008200820082      |
+---------------------------+---------------------------+
1 row in set (0.00 sec)

mysql> select ltrim('  lbeijing'),rtrim('beijing!           ');
+---------------------+------------------------------+
| ltrim('  lbeijing') | rtrim('beijing!           ') |
+---------------------+------------------------------+
| lbeijing            | beijing!                     |
+---------------------+------------------------------+
1 row in set (0.00 sec)

mysql> select repeat('mysql  ',3);
+-----------------------+
| repeat('mysql  ',3)   |
+-----------------------+
| mysql  mysql  mysql   |
+-----------------------+
1 row in set (0.01 sec)

mysql> select replace('beijing_2010','_2010','2008');
+----------------------------------------+
| replace('beijing_2010','_2010','2008') |
+----------------------------------------+
| beijing2008                            |
+----------------------------------------+
1 row in set (0.00 sec)

mysql> select strcmp('a','b'),strcmp('b','b'),strcmp('c','b');
+-----------------+-----------------+-----------------+
| strcmp('a','b') | strcmp('b','b') | strcmp('c','b') |
+-----------------+-----------------+-----------------+
|              -1 |               0 |               1 |
+-----------------+-----------------+-----------------+
1 row in set (0.00 sec)

mysql> select trim('          $ beijing2008 $        ');
+-------------------------------------------+
| trim('          $ beijing2008 $        ') |
+-------------------------------------------+
| $ beijing2008 $                           |
+-------------------------------------------+
1 row in set (0.00 sec)

mysql> select substring('beijing2008',8,4),substring('beijing2008',1,7);
+------------------------------+------------------------------+
| substring('beijing2008',8,4) | substring('beijing2008',1,7) |
+------------------------------+------------------------------+
| 2008                         | beijing                      |
+------------------------------+------------------------------+
1 row in set (0.00 sec)

2.数值处理函数
mysql> select abs(-0.8),abs(0.8);
+-----------+----------+
| abs(-0.8) | abs(0.8) |
+-----------+----------+
|       0.8 |      0.8 |
+-----------+----------+
1 row in set (0.00 sec)

mysql> select ceil(-9.21),ceil(95.21355);
+-------------+----------------+
| ceil(-9.21) | ceil(95.21355) |
+-------------+----------------+
|          -9 |             96 |
+-------------+----------------+
1 row in set (0.00 sec)

mysql> select floor(-0.8),floor(0.32805);
+-------------+----------------+
| floor(-0.8) | floor(0.32805) |
+-------------+----------------+
|          -1 |              0 |
+-------------+----------------+
1 row in set (0.00 sec)

mysql> select mod(15,10),mod(1,11),mod(null,10);
+------------+-----------+--------------+
| mod(15,10) | mod(1,11) | mod(null,10) |
+------------+-----------+--------------+
|          5 |         1 |         NULL |
+------------+-----------+--------------+
1 row in set (0.00 sec)

mysql> select rand(),rand(),rand();
+--------------------+--------------------+--------------------+
| rand()             | rand()             | rand()             |
+--------------------+--------------------+--------------------+
| 0.7249892304884169 | 0.4090333165685025 | 0.8701989221109068 |
+--------------------+--------------------+--------------------+
1 row in set (0.00 sec)

mysql> select ceil(100*rand()),ceil(100*rand());
+------------------+------------------+
| ceil(100*rand()) | ceil(100*rand()) |
+------------------+------------------+
|               13 |                1 |
+------------------+------------------+
1 row in set (0.00 sec)

mysql> select round(1.1),round(1.1,2),round(1,2);
+------------+--------------+------------+
| round(1.1) | round(1.1,2) | round(1,2) |
+------------+--------------+------------+
|          1 |         1.10 |          1 |
+------------+--------------+------------+
1 row in set (0.00 sec)

mysql> select round(1.1),round(1.1,2),round(1.235251,2);
+------------+--------------+-------------------+
| round(1.1) | round(1.1,2) | round(1.235251,2) |
+------------+--------------+-------------------+
|          1 |         1.10 |              1.24 |
+------------+--------------+-------------------+
1 row in set (0.00 sec)

mysql> select round(1.1),round(1.1,2),round(1.2635251,2);
+------------+--------------+--------------------+
| round(1.1) | round(1.1,2) | round(1.2635251,2) |
+------------+--------------+--------------------+
|          1 |         1.10 |               1.26 |
+------------+--------------+--------------------+
1 row in set (0.00 sec)

mysql> select round(1.2356234234,2),truncate(1.2384235235,2);
+-----------------------+--------------------------+
| round(1.2356234234,2) | truncate(1.2384235235,2) |
+-----------------------+--------------------------+
|                  1.24 |                     1.23 |
+-----------------------+--------------------------+
1 row in set (0.01 sec)

3.日期函数
mysql> select curdate();
+------------+
| curdate()  |
+------------+
| 2015-10-02 |
+------------+
1 row in set (0.01 sec)

mysql> select curtime();
+-----------+
| curtime() |
+-----------+
| 09:40:21  |
+-----------+
1 row in set (0.00 sec)

mysql> select now();
+---------------------+
| now()               |
+---------------------+
| 2015-10-02 09:41:40 |
+---------------------+
1 row in set (0.00 sec)

mysql> select unix_timestamp(now());
+-----------------------+
| unix_timestamp(now()) |
+-----------------------+
|            1443804114 |
+-----------------------+
1 row in set (0.00 sec)

mysql> select from_unixtime(1443804114);
+---------------------------+
| from_unixtime(1443804114) |
+---------------------------+
| 2015-10-02 09:41:54       |
+---------------------------+
1 row in set (0.00 sec)

mysql> select week(now()),year(now());
+-------------+-------------+
| week(now()) | year(now()) |
+-------------+-------------+
|          39 |        2015 |
+-------------+-------------+
1 row in set (0.00 sec)

mysql> select hour(curtime()),minute(curtime());
+-----------------+-------------------+
| hour(curtime()) | minute(curtime()) |
+-----------------+-------------------+
|               9 |                42 |
+-----------------+-------------------+
1 row in set (0.00 sec)

mysql> select now();
+---------------------+
| now()               |
+---------------------+
| 2015-10-02 09:42:53 |
+---------------------+
1 row in set (0.00 sec)

mysql> select monthname(now());
+------------------+
| monthname(now()) |
+------------------+
| October          |
+------------------+
1 row in set (0.01 sec)

mysql> select date_format(now(),'%M,%D,%Y');
+-------------------------------+
| date_format(now(),'%M,%D,%Y') |
+-------------------------------+
| October,2nd,2015              |
+-------------------------------+
1 row in set (0.00 sec)

mysql> select now() current;
+---------------------+
| current             |
+---------------------+
| 2015-10-02 09:44:33 |
+---------------------+
1 row in set (0.00 sec)

mysql> select date_add(now(),INTERVAL '1_2' year_month);
+-------------------------------------------+
| date_add(now(),INTERVAL '1_2' year_month) |
+-------------------------------------------+
| 2016-12-02 09:44:52                       |
+-------------------------------------------+
1 row in set (0.00 sec)

mysql> select date_add(now(),INTERVAL 31 day) ;
+---------------------------------+
| date_add(now(),INTERVAL 31 day) |
+---------------------------------+
| 2015-11-02 09:45:44             |
+---------------------------------+
1 row in set (0.00 sec)

mysql> select date_add(now(),INTERVAL 31 day) as after31days;
+---------------------+
| after31days         |
+---------------------+
| 2015-11-02 09:45:55 |
+---------------------+
1 row in set (0.01 sec)

mysql> select date_add(now(),interval '1_2' year_month) as after_oneyear_twomonth;
+------------------------+
| after_oneyear_twomonth |
+------------------------+
| 2016-12-02 09:46:27    |
+------------------------+
1 row in set (0.01 sec)

mysql> select datediff('2008-08-08',now());
+------------------------------+
| datediff('2008-08-08',now()) |
+------------------------------+
|                        -2611 |
+------------------------------+
1 row in set (0.00 sec)

4.查询的逻辑处理
mysql> use test1;
Database changed
mysql> create table salary(
    -> userid int,
    -> salart decimal(9,2));
Query OK, 0 rows affected (0.02 sec)

mysql> insert into salary values
    -> (1,1000),
    -> (2,2000),
    -> (3,3000),
    -> (4,4000),
    -> (5,5000),
    -> (6,6000),
    -> (7,7000),
    -> (1,null);
Query OK, 8 rows affected (0.02 sec)
Records: 8  Duplicates: 0  Warnings: 0

mysql> select * from salary;
+--------+---------+
| userid | salart  |
+--------+---------+
|      1 | 1000.00 |
|      2 | 2000.00 |
|      3 | 3000.00 |
|      4 | 4000.00 |
|      5 | 5000.00 |
|      6 | 6000.00 |
|      7 | 7000.00 |
|      1 |    NULL |
+--------+---------+
8 rows in set (0.00 sec)

mysql> select if(salary>2000,'high','low') from salary;
+------------------------------+
| if(salary>2000,'high','low') |
+------------------------------+
| low                          |
| low                          |
| high                         |
| high                         |
| high                         |
| high                         |
| high                         |
| low                          |
+------------------------------+
8 rows in set (0.00 sec)

mysql> select ifnull(salary,0) from salary;
+------------------+
| ifnull(salary,0) |
+------------------+
|          1000.00 |
|          2000.00 |
|          3000.00 |
|          4000.00 |
|          5000.00 |
|          6000.00 |
|          7000.00 |
|             0.00 |
+------------------+
8 rows in set (0.00 sec)

mysql> select case when salary<=2000 then 'low' else 'high' end from salary;
+---------------------------------------------------+
| case when salary<=2000 then 'low' else 'high' end |
+---------------------------------------------------+
| low                                               |
| low                                               |
| high                                              |
| high                                              |
| high                                              |
| high                                              |
| high                                              |
| high                                              |
+---------------------------------------------------+
8 rows in set (0.00 sec)

mysql> select case salary when 1000 then 'low'
    -> when 2000 then 'mid'
    ->  else 'high' end as level from salary;
+-------+
| level |
+-------+
| low   |
| mid   |
| high  |
| high  |
| high  |
| high  |
| high  |
| high  |
+-------+
8 rows in set (0.01 sec)

5.mysql系统相关内容查询
mysql> select database();
+------------+
| database() |
+------------+
| test1      |
+------------+
1 row in set (0.00 sec)

mysql> select version();
+------------+
| version()  |
+------------+
| 5.5.44-log |
+------------+
1 row in set (0.00 sec)

mysql> select user();
+----------------+
| user()         |
+----------------+
| root@localhost |
+----------------+
1 row in set (0.00 sec)

6.IP地址相关查询
mysql> select inet_aton('192.168.1.1');
+--------------------------+
| inet_aton('192.168.1.1') |
+--------------------------+
|               3232235777 |
+--------------------------+
1 row in set (0.00 sec)

mysql> select inet_ntoa(323235777);
+----------------------+
| inet_ntoa(323235777) |
+----------------------+
| 19.68.47.193         |
+----------------------+
1 row in set (0.00 sec)

mysql> select inet_ntoa(3232235777);
+-----------------------+
| inet_ntoa(3232235777) |
+-----------------------+
| 192.168.1.1           |
+-----------------------+
1 row in set (0.00 sec)

mysql> select * from t;
+------+
| col  |
+------+
| a,b  |
| a,d  |
| a,b  |
| a,c  |
| a    |
+------+
5 rows in set (0.00 sec)

mysql> alter table t rename t_oldtable;
Query OK, 0 rows affected (0.02 sec)

mysql> create table t( ip varchar( 20));
Query OK, 0 rows affected (0.02 sec)

mysql> insert into t(ip) values ('192.168.1.1'), ('192.168.1.3'), ('192.168.1.6'), ('192.168.1.10'), ('192.168.1.20'), ('192.168.1.30');
Query OK, 6 rows affected (0.01 sec)
Records: 6  Duplicates: 0  Warnings: 0

mysql> select * from t;
+--------------+
| ipaddress    |
+--------------+
| 192.168.1.1  |
| 192.168.1.3  |
| 192.168.1.6  |
| 192.168.1.10 |
| 192.168.1.20 |
| 192.168.1.30 |
+--------------+
6 rows in set (0.00 sec)

mysql> select * from t where ip>='192.168.1.3' and ip<='192.168.1.20';
Empty set (0.00 sec)

mysql> select * from t where ip>='192.168.1.3' and ip<='192.168.1.20';
Empty set (0.00 sec)

mysql> select * from t where  inet_aton(ip)>=inet_aton('192.168.1.3') and  inet_aton(ip)<=inet_aton('192.168.1.20');
+--------------+
| ip           |
+--------------+
| 192.168.1.3  |
| 192.168.1.6  |
| 192.168.1.10 |
| 192.168.1.20 |
+--------------+
4 rows in set (0.01 sec)

7.密码相关函数
mysql> select password('123456');
+-------------------------------------------+
| password('123456')                        |
+-------------------------------------------+
| *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
+-------------------------------------------+
1 row in set (0.00 sec)

mysql> select md5('123456');
+----------------------------------+
| md5('123456')                    |
+----------------------------------+
| e10adc3949ba59abbe56e057f20f883e |
+----------------------------------+
1 row in set (0.00 sec)

版权声明:本博客原创文章欢迎转载,请转载的朋友最好注明出处,谢谢大家。