`
yanwei11911011
  • 浏览: 16285 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类

MySQL基本语法 (转)

 
阅读更多
本文摘自http://www.ccvita.com/100.html,供自己备查学习。

一.创建存储过程

1.基本语法:

create procedure sp_name()

begin

………

end

2.参数传递

二.调用存储过程

1.基本语法:call sp_name()

注意:存储过程名称后面必须加括号,哪怕该存储过程没有参数传递

三.删除存储过程

1.基本语法:

drop procedure sp_name//

2.注意事项

(1)不能在一个存储过程中删除另一个存储过程,只能调用另一个存储过程

四.区块,条件,循环

1.区块定义,常用

begin

……

end;

也可以给区块起别名,如:

lable:begin

………..

end lable;

可以用leave lable;跳出区块,执行区块以后的代码

2.条件语句

if 条件 then

statement

else

statement

end if;

3.循环语句

(1).while循环

[label:] WHILE expression DO



statements



END WHILE [label] ;



(2).loop循环

[label:] LOOP



statements



END LOOP [label];

(3).repeat until循环

[label:] REPEAT



statements



UNTIL expression



END REPEAT [label] ;

五.其他常用命令

1.show procedure status

显示数据库中所有存储的存储过程基本信息,包括所属数据库,存储过程名称,创建时间等

2.show create procedure sp_name

显示某一个存储过程的详细信息

mysql存储过程中要用到的运算符

mysql存储过程学习总结-操作符

算术运算符

+     加   SET var1=2+2;       4

-     减   SET var2=3-2;       1

*     乘   SET var3=3*2;       6

/     除   SET var4=10/3;      3.3333

DIV   整除 SET var5=10 DIV 3;  3

%     取模 SET var6=10%3 ;     1

比较运算符

>            大于 1>2 False

<            小于 2<1 False

<=           小于等于 2<=2 True

>=           大于等于 3>=2 True

BETWEEN      在两值之间 5 BETWEEN 1 AND 10 True

NOT BETWEEN  不在两值之间 5 NOT BETWEEN 1 AND 10 False

IN           在集合中 5 IN (1,2,3,4) False

NOT IN       不在集合中 5 NOT IN (1,2,3,4) True

=            等于 2=3 False

<>, !=       不等于 2<>3 False

<=>          严格比较两个NULL值是否相等 NULL<=>NULL True

LIKE         简单模式匹配 "Guy Harrison" LIKE "Guy%" True

REGEXP       正则式匹配 "Guy Harrison" REGEXP "[Gg]reg" False

IS NULL      为空 0 IS NULL False

IS NOT NULL  不为空 0 IS NOT NULL True

逻辑运算符

与(AND)

AND

TRUE

FALSE

NULL

TRUE

TRUE

FALSE

NULL

FALSE

FALSE

FALSE

NULL

NULL

NULL

NULL

NULL

或(OR)

OR

TRUE

FALSE

NULL

TRUE

TRUE

TRUE

TRUE

FALSE

TRUE

FALSE

NULL

NULL

TRUE

NULL

NULL

异或(XOR)

XOR

TRUE

FALSE

NULL

TRUE

FALSE

TRUE

NULL

FALSE

TRUE

FALSE

NULL

NULL

NULL

NULL

NULL

位运算符

|   位或

&   位与

<<  左移位

>>  右移位

~   位非(单目运算,按位取反)



六、mysq存储过程中常用的函数,字符串类型操作,数学类,日期时间类。

mysql存储过程基本函数

一.字符串类

CHARSET(str) //返回字串字符集

CONCAT (string2  [,... ]) //连接字串

INSTR (string ,substring ) //返回substring首次在string中出现的位置,不存在返回0

LCASE (string2 ) //转换成小写

LEFT (string2 ,length ) //从string2中的左边起取length个字符

LENGTH (string ) //string长度

LOAD_FILE (file_name ) //从文件读取内容

LOCATE (substring , string  [,start_position ] ) 同INSTR,但可指定开始位置

LPAD (string2 ,length ,pad ) //重复用pad加在string开头,直到字串长度为length

LTRIM (string2 ) //去除前端空格

REPEAT (string2 ,count ) //重复count次

REPLACE (str ,search_str ,replace_str ) //在str中用replace_str替换search_str

RPAD (string2 ,length ,pad) //在str后用pad补充,直到长度为length

RTRIM (string2 ) //去除后端空格

STRCMP (string1 ,string2 ) //逐字符比较两字串大小,

SUBSTRING (str , position  [,length ]) //从str的position开始,取length个字符,

注:mysql中处理字符串时,默认第一个字符下标为1,即参数position必须大于等于1

mysql> select substring(’abcd’,0,2);

+———————–+

| substring(’abcd’,0,2) |

+———————–+

|                       |

+———————–+

1 row in set (0.00 sec)

mysql> select substring(’abcd’,1,2);

+———————–+

| substring(’abcd’,1,2) |

+———————–+

| ab                    |

+———————–+

1 row in set (0.02 sec)

TRIM([[BOTH|LEADING|TRAILING] [padding] FROM]string2) //去除指定位置的指定字符

UCASE (string2 ) //转换成大写

RIGHT(string2,length) //取string2最后length个字符

SPACE(count) //生成count个空格

二.数学类

ABS (number2 ) //绝对值

BIN (decimal_number ) //十进制转二进制

CEILING (number2 ) //向上取整

CONV(number2,from_base,to_base) //进制转换

FLOOR (number2 ) //向下取整

FORMAT (number,decimal_places ) //保留小数位数

HEX (DecimalNumber ) //转十六进制

注:HEX()中可传入字符串,则返回其ASC-11码,如HEX(’DEF’)返回4142143

也可以传入十进制整数,返回其十六进制编码,如HEX(25)返回19

LEAST (number , number2  [,..]) //求最小值

MOD (numerator ,denominator ) //求余

POWER (number ,power ) //求指数

RAND([seed]) //随机数

ROUND (number  [,decimals ]) //四舍五入,decimals为小数位数]

注:返回类型并非均为整数,如:

(1)默认变为整形值

mysql> select round(1.23);

+————-+

| round(1.23) |

+————-+

|           1 |

+————-+

1 row in set (0.00 sec)

mysql> select round(1.56);

+————-+

| round(1.56) |

+————-+

|           2 |

+————-+

1 row in set (0.00 sec)

(2)可以设定小数位数,返回浮点型数据

mysql> select round(1.567,2);

+—————-+

| round(1.567,2) |

+—————-+

|           1.57 |

+—————-+

1 row in set (0.00 sec)

SIGN (number2 ) //返回符号,正负或0

SQRT(number2) //开平方



三.日期时间类



ADDTIME (date2 ,time_interval ) //将time_interval加到date2

CONVERT_TZ (datetime2 ,fromTZ ,toTZ ) //转换时区

CURRENT_DATE (  ) //当前日期

CURRENT_TIME (  ) //当前时间

CURRENT_TIMESTAMP (  ) //当前时间戳

DATE (datetime ) //返回datetime的日期部分

DATE_ADD (date2 , INTERVAL d_value d_type ) //在date2中加上日期或时间

DATE_FORMAT (datetime ,FormatCodes ) //使用formatcodes格式显示datetime

DATE_SUB (date2 , INTERVAL d_value d_type ) //在date2上减去一个时间

DATEDIFF (date1 ,date2 ) //两个日期差

DAY (date ) //返回日期的天

DAYNAME (date ) //英文星期

DAYOFWEEK (date ) //星期(1-7) ,1为星期天

DAYOFYEAR (date ) //一年中的第几天

EXTRACT (interval_name  FROM date ) //从date中提取日期的指定部分

MAKEDATE (year ,day ) //给出年及年中的第几天,生成日期串

MAKETIME (hour ,minute ,second ) //生成时间串

MONTHNAME (date ) //英文月份名

NOW (  ) //当前时间

SEC_TO_TIME (seconds ) //秒数转成时间

STR_TO_DATE (string ,format ) //字串转成时间,以format格式显示

TIMEDIFF (datetime1 ,datetime2 ) //两个时间差

TIME_TO_SEC (time ) //时间转秒数]

WEEK (date_time [,start_of_week ]) //第几周

YEAR (datetime ) //年份

DAYOFMONTH(datetime) //月的第几天

HOUR(datetime) //小时

LAST_DAY(date) //date的月的最后日期

MICROSECOND(datetime) //微秒

MONTH(datetime) //月

MINUTE(datetime) //分



附:可用在INTERVAL中的类型

DAY ,DAY_HOUR ,DAY_MINUTE ,DAY_SECOND ,HOUR ,HOUR_MINUTE ,HOUR_SECOND ,MINUTE ,MINUTE_SECOND,MONTH ,SECOND ,YEAR
分享到:
评论

相关推荐

    mysql基本语法大全

    MySQL是世界上最流行的关系型数据库管理系统之一,其基本语法是每个数据库管理员和开发人员必须掌握的基础。以下是一些关于MySQL的基本语法及其应用的详细说明: 1. **显示和管理数据库**: - `SHOW DATABASES;` ...

    mysql语法手册-mysql语法手册-mysql语法手册-mysql语法手册

    MySQL语法手册是学习和理解MySQL操作的重要参考资料,涵盖了从基本的查询到复杂的存储过程等所有方面。 一、SQL基础 SQL是用于管理关系数据库的语言,MySQL语法手册首先会介绍SQL的基础概念,包括数据类型(如整数...

    mysql基本语法

    mysql数据库基本语法,包括正则用法,基本操作,触发器

    MySql的基本语法

    ### MySQL基本语法详解 #### 存储过程 存储过程是一种保存在服务器上的SQL代码块,可以接受输入参数,返回输出参数,并且能够执行复杂的数据库操作。掌握存储过程的基本语法是MySQL学习的重要部分。 ##### 创建...

    MySQL的基本语法

    ### MySQL的基本语法详解 #### 一、创建表 在MySQL中,**表**是最基本的数据存储单元,通过创建表来组织和存储数据。创建表的基本语法如下: ```sql CREATE TABLE table_name ( column_name datatype [NOT NULL ...

    MySQL语法语句大全

    根据提供的文件信息,我们可以整理出一系列关于MySQL的重要知识点与实用语法。MySQL是一种广泛使用的开源关系型数据库管理系统(RDBMS)...通过学习这些基本的命令和语法,你可以快速上手并掌握MySQL数据库的基本操作。

    Mysql初级语法大全

    创建表的基本语法如下: ```sql CREATE TABLE table_name ( column_name data_type [NOT NULL | NULL], ... ); ``` - **table_name**:表的名称,需符合数据库标识符的命名规则。 - **column_name**:列的名称。...

    mysql数据库基础语法

    本文将深入探讨MySQL的基础语法,帮助初学者掌握其核心概念和操作。 1. 数据库创建与删除 在MySQL中,创建数据库使用`CREATE DATABASE`语句,例如`CREATE DATABASE my_database;`。若要删除数据库,使用`DROP ...

    MySQL基本语法笔记

    # MySQL基本语法精讲 ## 一、MySQL简介与基本语法分类 MySQL 是一款非常流行的开源关系型数据库管理系统,广泛应用于各类网站及软件系统中。它支持 SQL(Structured Query Language 结构化查询语言),这是一种...

    数据库MYSQL基本语法(一).md

    小白也能立即入门的数据库,学习数据库从Mysql起步,最流行的书籍库管理系统

    mySQl基本语法教材

    以上是MySQL基本语法的一些关键点。通过熟练掌握这些概念,你可以更高效地管理和操作数据库,提高数据处理的效率和安全性。在实际应用中,还需要结合具体的业务需求和性能优化策略,灵活运用这些知识。

    mysql常用语法,基本的

    根据提供的文件信息,我们可以归纳出以下几个重要的MySQL知识点:...以上就是从给定文件中提取出的一些MySQL基本操作命令及其使用方法,这些命令涵盖了数据库的基本管理和维护工作,对于初学者来说是非常实用的知识点。

    MySQL语法 Dos下的所有语法

    在DOS环境下操作MySQL,用户需要熟悉一些基本的命令行语法。以下是一些关键的MySQL语法和操作的详细说明: 1. **启动MySQL服务器**: 通过`winmysqladmin`或直接在DOS命令行中运行`d:mysqlbinmysqld`来启动MySQL...

    MySQL语法大全..

    本文将全面介绍MySQL的基本语法,包括启动服务器、进入交互式界面、退出操作、执行查询、多行语句、显示数据库、选择数据库、查看表以及取消命令等核心概念。 1. 启动MySQL服务器: - 可以通过图形化工具...

    MYSQL 基础语法大全. 手动整理

    以上就是MySQL基础语法的核心部分,掌握这些内容后,可以进行基本的数据库操作和管理。通过不断实践和学习,你可以进一步提升到更高级的数据库设计和优化技巧。在使用过程中,遇到具体问题,可以参考《我整理的SQL...

    mysql的基本语法[参考].pdf

    MySQL是一种广泛使用的开源关系型数据库管理系统,其基本语法是软件开发人员必须掌握的关键技能之一。在MySQL中,数据库是数据组织和存储的主要单元。本节主要讨论了如何创建、删除和切换数据库,以及如何查看和描述...

Global site tag (gtag.js) - Google Analytics