赞
踩
在MySQL数据库中,SQL语言主要由以下几个部分组成
(1)数据定义语言(DDL)用于执行数据库的任务,对数据库及数据库内的各种对象进行创建、删除、修改等操作。数据库对象主要包括:表、默认约束、规则、视图、触发器和存储过程。
语句 | 功能 | 说明 |
---|---|---|
CREATE | 创建数据库或数据库对象 | 不同数据对象,其语句的语法形式不同 |
ALTER | 对数据库或数据库对象进行修改 | 不同数据对象,其语句的语法形式不同 |
DROP | 删除数据库或数据库对象 | 不同数据对象,其语句的语法形式不同 |
(2)数据操作语言(DML)用于操作数据库中各种对象,检索和修改数据。DML包括的主要语句及功能如下
语句 | 功能 | 说明 |
---|---|---|
select | 从表或视图中检索数据 | 是使用最频繁的SQL语言之一 |
insert | 将数据插入到表或视图中 | |
update | 修改表或视图中的数据 | 既能修改表或视图的一行数据,也可修改一组或全部数据 |
delete | 从表和视图中删除数据 | 可根据条件删除指定数据 |
(3)数据控制语言(DCL)用于安全管理,确定用户可以查看或修改数据库中的数据,DCL包括的主要语句及功能如下
语句 | 功能 | 说明 |
---|---|---|
grant | 授予权限 | 可把语句许可或对象许可的权限授予其他用户和角色 |
revoke | 收回权限 | 与grant的功能相反,但不影响该用户或角色从其他角色中作为成员继承许可权限 |
常量指在程序运行过程中值不变的量,又称为字面值或标量值。常量的使用格式取决于值的数据类型,可以分为字符串常量、数值常量、十六进制常量、时间日期常量、位字段值、布尔值和null值。
2.日期和时间常量
date: 年-月-日 : 例如:‘2016-04-14’
time: 时:分:秒.微秒 例如:‘12:30:43.00013’
datetime: 年-月-日 时:分:秒.微秒 : 例如:'2016-04-14 12:30:43 ’
1.用户变量
定义和初始化一个变量可以用set语句
set @用户变量 = expr1 [,@用户变量 = expr1]
set @name = '王林';
set @user1 = 1 ,@user2 = 2 ,@user3 = 3;
set @user4 = @user3 +1;
可以使用查询给变量复制
set @student = (select 姓名 from xs where 学号 = '081101');
可以根据变量查询表中的数据值
select 学号,姓名,专业名,出生日期
from xs
where 姓名 = @student;
可以使用函数式进行赋值但是函数式中的=得为:=
select @t2 := (@t2:=2)+5 as t2;
1.系统变量
MySQL有一些特定的设置,系统变量和用户变量一样都是一个值和一个数据类型,但是不同的是,系统变量在MySQL服务器启动时就被引入并初始化完成了。
例如:获得当前MySQL版本
select @version;
例如:获得系统当前时间
select CURRENT_TIME;
系统变量有些不可修改,有些能够通过set命令进行修改,
全局变量分为
(1)全局系统变量:
在MySQL启动时,全局系统变量就被初始化了,并且用于每个启动的会话。,如果使用global来设置系统变量,则该变量会被更改并用于新的连接,直到服务器被重新启动为止。
(2)会话系统变量:
只适用于当前会话,大多数会话系统变量的名字和全局系统变量名字相同,当启动会话时,每个会话系统变量都和同名的全局系统变量相同,一个会话系统变量时可以更改的,但是这个新的值仅适用于正在运行的会话,不适用于所有其他会话。
MySQL提供:算术运算符、位运算符、比较运算符、逻辑运算符。
+加、-减、*乘、/除、%求模(取余数)
注意:
例如: ’2014-01-20‘ + interval 22 day 其中interval表示间隔
比较运算符(又称关系运算符),用于比较两个表达式的值,其运算结果为逻辑值:1(真)、0(假)及null(不确定),两个特殊的比较运算符:<>和!=表示不等于,<=>相等或都等于空
比较运算符将数字作为浮点值进行比较,比较字符串时不区分大小写
添加binary关键字可以使比较过程区分大小写
例如:
select 'a' = 'A', BINARY 'a' = 'A';
输出
+-----------+-------------------+
| 'a' = 'A' | BINARY 'a' = 'A' |
+-----------+-------------------+
| 1 | 0 |
+-----------+-------------------+
1 row in set (0.01 sec)
逻辑运算符用于对某个条件进行测试,运算结果为TRUE(1)或FALSE(0)。MySQL提供的逻辑运算符如下图
运算符 | 运算规则 |
---|---|
NOT或! | 逻辑非 |
OR或|| | 逻辑或 |
AND或&& | 逻辑与 |
XOR | 逻辑异或(是否不同) |
注意,在逻辑运算中所有不为0的数字或字符串都当作TRUE
位运算符在两个表达式之间执行二进制的位操作,这两个表达式的类型可以为整型或与整型兼容的数据类型(如字符型,但不能为image类型)、位运算符如图
运算符 | 运算规则 |
---|---|
& | 位AND |
| | 位OR |
AND或&& | 位XOR |
~ | 位取反 |
>> | 位右移 |
<< | 位左移 |
例如:
select 13|28, 3|4, 13&28, 3&4;
输出
+-------+-----+-------+-----+
| 13|28 | 3|4 | 13&28 | 3&4 |
+-------+-----+-------+-----+
| 29 | 7 | 12 | 0 |
+-------+-----+-------+-----+
1 row in set (0.00 sec)
例如:
select 1<<
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。