跳转至

数据库操作语言#

约 193 个字 51 行代码 预计阅读时间 6 分钟

概述#

数据库操作语言(DML,Data Manipulation Language)用于添加、删除、更新和查询数据库记录。

简而言之就是数据的增删改查操作。

显示表结构#

MySQL
describe employees;

# 或者
desc employees;

查询#

基本查询#

MySQL
# 计算表达式结果
select 1 + 1;

# dual表示伪表
select 1 + 1
from dual;
MySQL
# 基本查询
select *
from employees;

# 查询指定列
select employee_id, last_name, salary
from employees;

列的别名#

定义别名可以使用关键字as(alias、别名),也可以直接使用空格

如果别名之间带有空格,可以将别名使用引号("")括起来。

MySQL
# 使用别名
select employee_id as id, last_name , salary "personal income"
from employees;

去除重复行#

使用distinct关键字去除重复行。

MySQL
select distinct department_id
from employees; 

处理空值#

Warning

空值null不等于0或者空字符串''

MySQL
# commission_pct有可能为null
# 需要对其判断处理后才能正确参与计算
select salary * (1 + ifnull(commission_pct, 0)) * 12 "年工资"
from employees;

着重号#

解决与关键字重名的情况。

MySQL
# order是mysql中的关键字
# 但现在被用作表名,使用着重号标记
select * from `order`;

条件查询#

MySQL
# 条件查询
select *
from employees
where department_id = 90;

运算符#

算数运算符#

MySQL
# 加减乘除、取模运算
select 10 + 5, 10 / 5, 10 % 5
from dual;

# 数字与字符串相加,并不会进行拼接。而是直接计算
select 10 + "5" from dual; # 15

比较运算符#

比较结果为真返回1,结果为假返回0

MySQL
# 比较运算符
# 结果为:1 0
select 1 = 1, "a" = "b"
from dual;


# 数字与字符串比较
# 如果字符串是纯数字,则会隐式转换为数值类型
# 如果字符串内容不是纯数字,则看作0
# 结果为:0 1
select 0 = "1", 0 = "a"
from dual; 

评论