MySql
月下泛舟
我很懒,只想写点笔记,不常上自己的博客,不回答问题。thanks and apologise!
展开
-
MySQL存储程序
1.什么是MySQL存储程序?存放在MySQL服务器端,供重复使用的对象叫做存储程序。存储程序分为以下四种:(1)存储过程:不直接返回一个计算结果,但可以用来完成一般的运算或是生成一个结果集并传递回客户端。一条SQL语句如果比作一行java代码,存储过程就相当于一个java方法,可以包含许多SQL语句,进行更复杂的操作。(2)存储函数:返回一个计算结果,该结果可以用在表达式里。...原创 2018-07-25 00:38:04 · 1944 阅读 · 0 评论 -
MySQL变量
1.局部变量MySQL局部变量常用在存储过程的语句块(BEGIN / END)中,其作用域仅限于当前语句块内,当语句块执行完毕后,局部变量就消失了。(1)定义变量:DECLARE varName varType [DEFAULT defVal];使用 DECLARE 关键字定义局部变量,变量名和变量类型是必须要指定的,默认值可选。(2)示例DELIMITER $$DR...原创 2018-07-21 22:03:46 · 13283 阅读 · 0 评论 -
MySQL临时表
1.使用场景MySQL临时表用来保存一些临时数据。例如,当执行下面这条SQL语句update employeeset salary = salary + 500where id in(select id from employee where salary < 8000);会报错-- 错误代码: 1093-- You can't specify targe...原创 2018-07-22 15:34:02 · 3373 阅读 · 0 评论 -
MySQL的 FOUND_ROWS() 函数和 ROW_COUNT() 函数
1.先填个坑如果你要测试 FOUND_ROWS() 和 ROW_COUNT() 这两个函数,最好就不要用那些MySQL的图形化管理工具软件了(例如,SQLYog)。因为当你使用些工具软件执行某条SQL语句时,可能实际上并不仅仅是执行了这条SQL,这些软件同时会在后台自己执行一些其他SQL语句。所以有时你可能会发现这两个函数返回的结果和你预期的并不一样。所以呢,最好还是用 cmd 窗口来执行SQ...原创 2018-07-22 21:36:45 · 22069 阅读 · 4 评论 -
MySQL日期和时间函数
1. 获取一个日期时间的部分数据SELECT DATE('2018-11-01 13:12:41'); -- [2018-11-01] #获取日期部分SELECT TIME('2018-11-01 13:12:41'); -- [13:12:41] #获取时间部分SELECT YEAR('2018-11-01 13:12:41'); -- [2018] ...原创 2018-08-01 16:46:43 · 2174 阅读 · 0 评论 -
MySQL中VARCHAR(n)最多能存多少个汉字
首先要确定自己使用的MySQL版本是多少(1)MySQL 4.0 版本以下,VARCHAR(n) 中的 n 指的是改字段容量为 n 字节。如果存放的汉字为UTF8编码时(utf8编码每个汉字占3字节),则只能存16个汉字。(2)MySQL 5.0 版本以上,VARCHER(n)中的 n 指的是 n 个字符(英文字母、汉字、符号都是字符)。无论存放的是数字、字母还是UTF8汉字,都可以存放50个...原创 2018-08-01 17:50:12 · 7462 阅读 · 2 评论 -
MySQL游标
1. 简单介绍从 MySQL 5 开始添加了对游标(cursor)的支持,使用游标可以很方便的在查询出来的结果集上获取第一行、最后一行、上一行或下一行等一系列的操作。游标是一个存储在 MySQL 服务器上的数据库查询,它不是一条 SELECT 语句,而是被该语句检索出来的结果集。在存储了游标之后,应用程序可以根据需要滚动或浏览其中的数据。MySQL游标只能用于存储过程和函数中。2....原创 2018-08-09 16:34:06 · 2362 阅读 · 1 评论 -
mysql生成指定位数的随机数
1. 先介绍几个常用的 MySQL 函数RAND() 随机生成 0~1 之间的小数(0<1)CEILING 向上取整FLOOR 向下取整 2. 生成随机数-- 生成 3 位的随机数SELECT CEILING(RAND()*900+100);-- 生成 4 位的随机数SELECT CEILING(RAND()*9000+1000);...原创 2018-09-28 14:51:18 · 38990 阅读 · 6 评论 -
mysql游标LOOP方式循环和嵌套循环
1. LOOP方式循环DELIMITER $$USE mydb $$DROP PROCEDURE IF EXISTS `test`$$CREATE DEFINER=`dev`@`192.168.%` PROCEDURE `test`()BEGIN DECLARE userId INT; DECLARE done INT DEFAULT 0; DECLARE userIds ...原创 2018-09-28 18:09:06 · 19648 阅读 · 0 评论