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

来源:互联网 发布:安卓应用下载知乎 编辑:程序博客网 时间:2024/05/16 07:46
  1. 1.字符串函数  
  2. mysql> use test1;  

  3.   
  4. Database changed  
  5. mysql> select concat('aaa','bbb','ccc'),concat('aaa',null);  
  6. +---------------------------+--------------------+  
  7. | concat('aaa','bbb','ccc') | concat('aaa',null) |  
  8. +---------------------------+--------------------+  
  9. | aaabbbccc                 | NULL               |  
  10. +---------------------------+--------------------+   
  11.   
  12. mysql> select insert('beijing200&you',12,3,'me');  
  13. +------------------------------------+  
  14. insert('beijing200&you',12,3,'me') |  
  15. +------------------------------------+  
  16. | beijing200&me                      |  
  17. +------------------------------------+   
  18.   
  19. mysql> select lower('BEIJING2008'),UPPER('beijing2008');  
  20. +----------------------+----------------------+  
  21. lower('BEIJING2008') | UPPER('beijing2008') |  
  22. +----------------------+----------------------+  
  23. | beijing2008          | BEIJING2008          |  
  24. +----------------------+----------------------+  
  25.   
  26. mysql> select left('beijing2008',7),left('beijing',null),right('beijing2008',4);  
  27. +-----------------------+----------------------+------------------------+  
  28. left('beijing2008',7) | left('beijing',null) | right('beijing2008',4) |  
  29. +-----------------------+----------------------+------------------------+  
  30. | beijing               | NULL                 | 2008                   |  
  31. +-----------------------+----------------------+------------------------+    
  32.   
  33. mysql> select lpad('2008',20,'beijing'),rpad('beijing',20,'2008');  
  34. +---------------------------+---------------------------+  
  35. | lpad('2008',20,'beijing') | rpad('beijing',20,'2008') |  
  36. +---------------------------+---------------------------+  
  37. | beijingbeijingbe2008      | beijing2008200820082      |  
  38. +---------------------------+---------------------------+  
  39.   
  40. mysql> select ltrim('  lbeijing'),rtrim('beijing!           ');  
  41. +---------------------+------------------------------+  
  42. | ltrim('  lbeijing') | rtrim('beijing!           ') |  
  43. +---------------------+------------------------------+  
  44. | lbeijing            | beijing!                     |  
  45. +---------------------+------------------------------+  
  46.   
  47. mysql> select repeat('mysql  ',3);  
  48. +-----------------------+  
  49. | repeat('mysql  ',3)   |  
  50. +-----------------------+  
  51. | mysql  mysql  mysql   |  
  52. +-----------------------+  
  53.   
  54. mysql> select replace('beijing_2010','_2010','2008');  
  55. +----------------------------------------+  
  56. replace('beijing_2010','_2010','2008') |  
  57. +----------------------------------------+  
  58. | beijing2008                            |  
  59. +----------------------------------------+  
  60.   
  61. mysql> select strcmp('a','b'),strcmp('b','b'),strcmp('c','b');  
  62. +-----------------+-----------------+-----------------+  
  63. | strcmp('a','b') | strcmp('b','b') | strcmp('c','b') |  
  64. +-----------------+-----------------+-----------------+  
  65. |              -1 |               0 |               1 |  
  66. +-----------------+-----------------+-----------------+  
  67.   
  68. mysql> select trim('          $ beijing2008 $        ');  
  69. +-------------------------------------------+  
  70. | trim('          $ beijing2008 $        ') |  
  71. +-------------------------------------------+  
  72. | $ beijing2008 $                           |  
  73. +-------------------------------------------+  
  74.   
  75. mysql> select substring('beijing2008',8,4),substring('beijing2008',1,7);  
  76. +------------------------------+------------------------------+  
  77. substring('beijing2008',8,4) | substring('beijing2008',1,7) |  
  78. +------------------------------+------------------------------+  
  79. | 2008                         | beijing                      |  
  80. +------------------------------+------------------------------+  
  81.   
  82. 2.数值处理函数  
  83. mysql> select abs(-0.8),abs(0.8);  
  84. +-----------+----------+  
  85. abs(-0.8) | abs(0.8) |  
  86. +-----------+----------+  
  87. |       0.8 |      0.8 |  
  88. +-----------+----------+   
  89.   
  90. mysql> select ceil(-9.21),ceil(95.21355);  
  91. +-------------+----------------+  
  92. | ceil(-9.21) | ceil(95.21355) |  
  93. +-------------+----------------+  
  94. |          -9 |             96 |  
  95. +-------------+----------------+  
  96.   
  97. mysql> select floor(-0.8),floor(0.32805);  
  98. +-------------+----------------+  
  99. | floor(-0.8) | floor(0.32805) |  
  100. +-------------+----------------+  
  101. |          -1 |              0 |  
  102. +-------------+----------------+  
  103.   
  104. mysql> select mod(15,10),mod(1,11),mod(null,10);  
  105. +------------+-----------+--------------+  
  106. | mod(15,10) | mod(1,11) | mod(null,10) |  
  107. +------------+-----------+--------------+  
  108. |          5 |         1 |         NULL |  
  109. +------------+-----------+--------------+  
  110.   
  111. mysql> select rand(),rand(),rand();  
  112. +--------------------+--------------------+--------------------+  
  113. | rand()             | rand()             | rand()             |  
  114. +--------------------+--------------------+--------------------+  
  115. | 0.7249892304884169 | 0.4090333165685025 | 0.8701989221109068 |  
  116. +--------------------+--------------------+--------------------+  
  117.   
  118. mysql> select ceil(100*rand()),ceil(100*rand());  
  119. +------------------+------------------+  
  120. | ceil(100*rand()) | ceil(100*rand()) |  
  121. +------------------+------------------+  
  122. |               13 |                1 |  
  123. +------------------+------------------+  
  124.   
  125. mysql> select round(1.1),round(1.1,2),round(1,2);  
  126. +------------+--------------+------------+  
  127. | round(1.1) | round(1.1,2) | round(1,2) |  
  128. +------------+--------------+------------+  
  129. |          1 |         1.10 |          1 |  
  130. +------------+--------------+------------+  
  131.   
  132. mysql> select round(1.1),round(1.1,2),round(1.235251,2);  
  133. +------------+--------------+-------------------+  
  134. | round(1.1) | round(1.1,2) | round(1.235251,2) |  
  135. +------------+--------------+-------------------+  
  136. |          1 |         1.10 |              1.24 |  
  137. +------------+--------------+-------------------+  
  138.   
  139. mysql> select round(1.1),round(1.1,2),round(1.2635251,2);  
  140. +------------+--------------+--------------------+  
  141. | round(1.1) | round(1.1,2) | round(1.2635251,2) |  
  142. +------------+--------------+--------------------+  
  143. |          1 |         1.10 |               1.26 |  
  144. +------------+--------------+--------------------+  
  145.   
  146. mysql> select round(1.2356234234,2),truncate(1.2384235235,2);  
  147. +-----------------------+--------------------------+  
  148. | round(1.2356234234,2) | truncate(1.2384235235,2) |  
  149. +-----------------------+--------------------------+  
  150. |                  1.24 |                     1.23 |  
  151. +-----------------------+--------------------------+  
  152.   
  153. 3.日期函数  
  154. mysql> select curdate();  
  155. +------------+  
  156. | curdate()  |  
  157. +------------+  
  158. | 2015-10-02 |  
  159. +------------+  
  160.   
  161. mysql> select curtime();  
  162. +-----------+  
  163. | curtime() |  
  164. +-----------+  
  165. | 09:40:21  |  
  166. +-----------+  
  167.   
  168. mysql> select now();  
  169. +---------------------+  
  170. | now()               |  
  171. +---------------------+  
  172. | 2015-10-02 09:41:40 |  
  173. +---------------------+  
  174.   
  175. mysql> select unix_timestamp(now());  
  176. +-----------------------+  
  177. | unix_timestamp(now()) |  
  178. +-----------------------+  
  179. |            1443804114 |  
  180. +-----------------------+  
  181.   
  182. mysql> select from_unixtime(1443804114);  
  183. +---------------------------+  
  184. | from_unixtime(1443804114) |  
  185. +---------------------------+  
  186. | 2015-10-02 09:41:54       |  
  187. +---------------------------+  
  188.   
  189. mysql> select week(now()),year(now());  
  190. +-------------+-------------+  
  191. | week(now()) | year(now()) |  
  192. +-------------+-------------+  
  193. |          39 |        2015 |  
  194. +-------------+-------------+  
  195.   
  196. mysql> select hour(curtime()),minute(curtime());  
  197. +-----------------+-------------------+  
  198. hour(curtime()) | minute(curtime()) |  
  199. +-----------------+-------------------+  
  200. |               9 |                42 |  
  201. +-----------------+-------------------+  
  202.   
  203. mysql> select now();  
  204. +---------------------+  
  205. | now()               |  
  206. +---------------------+  
  207. | 2015-10-02 09:42:53 |  
  208. +---------------------+  
  209.   
  210. mysql> select monthname(now());  
  211. +------------------+  
  212. | monthname(now()) |  
  213. +------------------+  
  214. | October          |  
  215. +------------------+  
  216.   
  217. mysql> select date_format(now(),'%M,%D,%Y');  
  218. +-------------------------------+  
  219. | date_format(now(),'%M,%D,%Y') |  
  220. +-------------------------------+  
  221. | October,2nd,2015              |  
  222. +-------------------------------+   
  223.   
  224. mysql> select now() current;  
  225. +---------------------+  
  226. current             |  
  227. +---------------------+  
  228. | 2015-10-02 09:44:33 |  
  229. +---------------------+  
  230.   
  231. mysql> select date_add(now(),INTERVAL '1_2' year_month);  
  232. +-------------------------------------------+  
  233. | date_add(now(),INTERVAL '1_2' year_month) |  
  234. +-------------------------------------------+  
  235. | 2016-12-02 09:44:52                       |  
  236. +-------------------------------------------+  
  237.   
  238. mysql> select date_add(now(),INTERVAL 31 day) ;  
  239. +---------------------------------+  
  240. | date_add(now(),INTERVAL 31 day) |  
  241. +---------------------------------+  
  242. | 2015-11-02 09:45:44             |  
  243. +---------------------------------+  
  244.   
  245. mysql> select date_add(now(),INTERVAL 31 dayas after31days;  
  246. +---------------------+  
  247. | after31days         |  
  248. +---------------------+  
  249. | 2015-11-02 09:45:55 |  
  250. +---------------------+  
  251.   
  252. mysql> select date_add(now(),interval '1_2' year_month) as after_oneyear_twomonth;  
  253. +------------------------+  
  254. | after_oneyear_twomonth |  
  255. +------------------------+  
  256. | 2016-12-02 09:46:27    |  
  257. +------------------------+  
  258.   
  259. mysql> select datediff('2008-08-08',now());  
  260. +------------------------------+  
  261. | datediff('2008-08-08',now()) |  
  262. +------------------------------+  
  263. |                        -2611 |  
  264. +------------------------------+  
  265.   
  266. 4.查询的逻辑处理  
  267. mysql> use test1;  
  268. Database changed  
  269. mysql> create table salary(  
  270.     -> userid int,  
  271.     -> salart decimal(9,2));  
  272.   
  273. mysql> insert into salary values  
  274.     -> (1,1000),  
  275.     -> (2,2000),  
  276.     -> (3,3000),  
  277.     -> (4,4000),  
  278.     -> (5,5000),  
  279.     -> (6,6000),  
  280.     -> (7,7000),  
  281.     -> (1,null);  
  282.   
  283. mysql> select * from salary;  
  284. +--------+---------+  
  285. | userid | salart  |  
  286. +--------+---------+  
  287. |      1 | 1000.00 |  
  288. |      2 | 2000.00 |  
  289. |      3 | 3000.00 |  
  290. |      4 | 4000.00 |  
  291. |      5 | 5000.00 |  
  292. |      6 | 6000.00 |  
  293. |      7 | 7000.00 |  
  294. |      1 |    NULL |  
  295. +--------+---------+   
  296.   
  297. mysql> select if(salary>2000,'high','low'from salary;  
  298. +------------------------------+  
  299. | if(salary>2000,'high','low') |  
  300. +------------------------------+  
  301. | low                          |  
  302. | low                          |  
  303. | high                         |  
  304. | high                         |  
  305. | high                         |  
  306. | high                         |  
  307. | high                         |  
  308. | low                          |  
  309. +------------------------------+   
  310.   
  311. mysql> select ifnull(salary,0) from salary;  
  312. +------------------+  
  313. | ifnull(salary,0) |  
  314. +------------------+  
  315. |          1000.00 |  
  316. |          2000.00 |  
  317. |          3000.00 |  
  318. |          4000.00 |  
  319. |          5000.00 |  
  320. |          6000.00 |  
  321. |          7000.00 |  
  322. |             0.00 |  
  323. +------------------+  
  324.   
  325. mysql> select case when salary<=2000 then 'low' else 'high' end from salary;  
  326. +---------------------------------------------------+  
  327. case when salary<=2000 then 'low' else 'high' end |  
  328. +---------------------------------------------------+  
  329. | low                                               |  
  330. | low                                               |  
  331. | high                                              |  
  332. | high                                              |  
  333. | high                                              |  
  334. | high                                              |  
  335. | high                                              |  
  336. | high                                              |  
  337. +---------------------------------------------------+  
  338.   
  339. mysql> select case salary when 1000 then 'low'  
  340.     -> when 2000 then 'mid'  
  341.     ->  else 'high' end as level from salary;  
  342. +-------+  
  343. level |  
  344. +-------+  
  345. | low   |  
  346. | mid   |  
  347. | high  |  
  348. | high  |  
  349. | high  |  
  350. | high  |  
  351. | high  |  
  352. | high  |  
  353. +-------+   
  354.   
  355. 5.mysql系统相关内容查询  
  356. mysql> select database();  
  357. +------------+  
  358. database() |  
  359. +------------+  
  360. | test1      |  
  361. +------------+  
  362.   
  363. mysql> select version();  
  364. +------------+  
  365. | version()  |  
  366. +------------+  
  367. | 5.5.44-log |  
  368. +------------+    
  369.   
  370. mysql> select user();  
  371. +----------------+  
  372. user()         |  
  373. +----------------+  
  374. | root@localhost |  
  375. +----------------+  
  376.   
  377. 6.IP地址相关查询  
  378. mysql> select inet_aton('192.168.1.1');  
  379. +--------------------------+  
  380. | inet_aton('192.168.1.1') |  
  381. +--------------------------+  
  382. |               3232235777 |  
  383. +--------------------------+  
  384.   
  385. mysql> select inet_ntoa(323235777);  
  386. +----------------------+  
  387. | inet_ntoa(323235777) |  
  388. +----------------------+  
  389. | 19.68.47.193         |  
  390. +----------------------+  
  391.   
  392. mysql> select inet_ntoa(3232235777);  
  393. +-----------------------+  
  394. | inet_ntoa(3232235777) |  
  395. +-----------------------+  
  396. | 192.168.1.1           |  
  397. +-----------------------+  
  398.   
  399. mysql> select * from t;  
  400. +------+  
  401. | col  |  
  402. +------+  
  403. | a,b  |  
  404. | a,d  |  
  405. | a,b  |  
  406. | a,c  |  
  407. | a    |  
  408. +------+  
  409.   
  410. mysql> alter table t rename t_oldtable;  
  411.   
  412. mysql> create table t( ip varchar( 20));  
  413.   
  414. 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');  
  415.   
  416. mysql> select * from t;  
  417. +--------------+  
  418. | ipaddress    |  
  419. +--------------+  
  420. | 192.168.1.1  |  
  421. | 192.168.1.3  |  
  422. | 192.168.1.6  |  
  423. | 192.168.1.10 |  
  424. | 192.168.1.20 |  
  425. | 192.168.1.30 |  
  426. +--------------+  
  427.   
  428. mysql> select * from t where ip>='192.168.1.3' and ip<='192.168.1.20';   
  429.   
  430. mysql> select * from t where ip>='192.168.1.3' and ip<='192.168.1.20';   
  431.   
  432. mysql> select * from t where  inet_aton(ip)>=inet_aton('192.168.1.3'and  inet_aton(ip)<=inet_aton('192.168.1.20');  
  433. +--------------+  
  434. | ip           |  
  435. +--------------+  
  436. | 192.168.1.3  |  
  437. | 192.168.1.6  |  
  438. | 192.168.1.10 |  
  439. | 192.168.1.20 |  
  440. +--------------+  
  441.   
  442. 7.密码相关函数  
  443. mysql> select password('123456');  
  444. +-------------------------------------------+  
  445. password('123456')                        |  
  446. +-------------------------------------------+  
  447. | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |  
  448. +-------------------------------------------+  
  449.   
  450. mysql> select md5('123456');  
  451. +----------------------------------+  
  452. | md5('123456')                    |  
  453. +----------------------------------+  
  454. | e10adc3949ba59abbe56e057f20f883e |  
  455. +----------------------------------+  

0 0