MySql基本语法

本文总结了MySQL数据库的基础语法,包括数据类型、变量定义、运算符及流程控制等内容,并提供了实用示例帮助理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

复习一下MySql的基础语法,如有问题的地方,麻烦看到的各位提出来,我好做修改!

一般基本语法包括以下几类:

数据类型,变量,运算符,流程控制

 

1.数据类型

只做简单列表,不做详细的描述,用到时在详细看文档

   1:  整数:TINYINT ,SMALLINT,MEDIUMINT,INTINTEGER,BIGINT
   2:   
   3:  浮点数:FLOATDOUBLEDECIMALNUMERIC
   4:   
   5:  日期类型:DATE,DATETIME,TIMESTAMPYEAR
   6:   
   7:  字符类型:CHARVARCHAR
   8:   
   9:  大数据:TINYBLOB,TINYTEXT,TEXT,MEDIUMBLOB,MEDIUMTEXT,LONGBLOB,LONGTEXT
  10:   
  11:  集合类型:ENUM,SET

 

2.变量

简单的来说,变量分为用户变量系统变量

    按照作用范围来说,也就是变量的生命周期,可以分为

        全局变量:系统全局变量,作用于所有地方,一般以"@@"开头,有些不以"@@"开头的系统变量,比如:CURRENT_USER,这样做是为了与其他的SQL产品保持一致

        会话变量:只对连接的客户端有效,一般以"@"开始命名,形式为"@变量名"

        局部变量作用范围在begin到end语句块之间。在该语句块里设置的变量declare语句专门用于定义局部变量

用户可以创建会话变量和局部变量,创建会话变量 SET @test=1,局部变量一般是在存储过程中进行声明

   1:  CREATE PROCEDURE test_pro()
   2:  BEGIN

3: DECLARE test INT DEFAULT 1;  -- 声明了一个变量test 设置默认值为1

   4:      SELECT test;
   5:  END;

系统变量是不能声明的,只能改变系统变量的值。

会话变量和全局变量赋值操作有两种:

    一种是:set @xxxx = 1;

    第二种是: select @xxxx:=t.xxx  from xxxx t;

局部变量赋值也有两种

    一种是:set xxxx = 1;

    第二种是:select t.xxx into xxxx from xxxx t;

3.运算符

1.算术运算符

+    加   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

2.比较运算符
>            大于 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

3.逻辑运算符

逻辑运算符又称为布尔运算符,用来确认表达式的真和假

运算符

作用

NOT  或者 !

逻辑非

AND  或 &&

逻辑与

OR  或 ||

逻辑或

XOR

逻辑异或

select not 0, not 1,not null;

select (1 and 1),(0 and 1),(3 and 1);

select (1 or 0),(0 or 0),(1 or null ),(1 or 1)

4.位运算符
|   或
&   与
<< 左移位
>> 右移位
~   非(单目运算,按位取反)

注释:

mysql存储过程可使用两种风格的注释
双横杠:--

该风格一般用于单行注释
c风格:/* 注释内容 */ 一般用于多行注释

5.运算符的优先级

前面介绍了mysql支持的各种运算符的使用方法,在实际应用中,很可能将这些运算符进行混合运算,那么应该先进行哪些运算符的操作呢?下表一一列出优先级顺序

1=
2|| OR XOR
3&&;AND
4NOT
5BETWEEN,CASE,WHEN,THEN,ELSE
6=,<=>,>=,>,<,<=,!=,IS,LIKE,REGEXP,IN
7|
8&
9<<,>>
10-,+
11*,/,div,%,MOD
12^
13-,~
14!

 

4.流程控制

1.分支结构
if
case

2.循环结构
for循环
while循环
loop循环
repeat until循环

注:
区块定义,常用
begin
......
end;
也可以给区块起别名,如:
lable:begin
...........
end lable;
可以用leave lable;跳出区块,执行区块以后的代码

begin和end如同C语言中的{ 和 }。

转载于:https://my.oschina.net/axes/blog/127387

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值