SQL语言
DQL:Data Query Language,主要为查询语言
DML:Data Manipulation Language,主要用于插入、修改、删除
DDL:Data Define Language,库和表的管理,常见约束
TCL:Transaction Control Lanaguage,事务控制语言
基础查询
语法:
select 查询列表 from 表名
- 查询列表可以是:表中的字段、常量值、表达式、函数
- 查询结果是一个虚拟的表格
查询表中的字段
例:
select * from user
select name,sex,age from user
可以是使用着重号(1旁边的按键)来区分关键字
select `name` from user
查询常量、表达式、函数
select 100; #查询数字
select 'han'; #查询字符串
select 100 % 99; #查询表达式
SELECT VERSION(); #查询函数
起别名
起别名的用处:
- 便于理解
- 如果多表查询时,字段有重名,可以使用别名区分
方法一:使用as
select 99 % 2 as 结果
select last_name as 名, first_name as 姓 from user
方式二:可以省略as,使用空格
select last_name 名, first_name 姓 from user
别名中有特殊字符(#、空格)或者关键字时,可以使用双引号将其括起来
select last_name as "out put" from user
去重
在字段前加DISTINCT
关键字可以进行去重
SELECT DISTINCT department_id from employees;
+号的作用
java中的+号:
- 运算符:两个操作数都是数值型
- 连接符:只要其中有一个为操作数
MySQL中的+号,只有一个功能就是运算符:
select 100+90;
两个操作数都是数值型,则做加法运行select '123' + 90;
如果操作数是字符型,MySQL会尝试将字符型转换为数值型,如果转换成功做加法操作select ‘han’ + 90;
如果转换失败则将字符型转换为0select null+90;
只要操作数中有null,则结果为null
如果想将查询结果拼接字符串,可以使用 CONCAT
关键字进行拼接
select CONCAT(last_name,' ',last_name) from employees
IFNULL函数
IFNULL函数可以将为可能为null的值转换为你要想要的值
IFNULL(可能为null的值,如果为null你想要得到的值),可以用于字符串拼接(与null拼接都为null)
select IFNULL(age,18) from user