SQL语句
语法规范
MySQL的语法规范
- 不区分大小写,但建议关键字大写,表名、列名小写
- 每条命令最好用分号结尾
- 每条命令根据需要,可以进行缩进或换行
- 注释
单行注释:#注释文字
单行注释:-- 注释文字
多行注释:/* 注释文字 */
分类
- DDL(Data Definition Language):数据定义语言,用来定义数据库对象:库、表、列等;
create/drop/alter - DML(Data Manipulation Language):数据操作语言,用来定义数据库记录(数据);
insert/update/delete - DCL(Data Control Language):数据控制语言,用来定义访问权限和安全级别;
- DQL(Data Query Language):数据查询语言,用来查询记录(数据)。
select
其中DML和DQL是最重要的两种
DQL
一、基础查询
-
语法:
SELECT 要查询的东西
【FROM 表名】;类似于Java中 :System.out.println(要打印的东西);
特点:
①通过select查询完的结果 ,是一个虚拟的表格,不是真实存在
② 要查询的东西 可以是常量值、可以是表达式、可以是字段、可以是函数 -
执行顺序
① from子句
② select子句 -
查询的列表形式
- 查询常量
select 100; - 查询表达式
select 100%3; - 查询字段
select 字段名(单个多个均可,多个字段需使用逗号隔开) from 表名;
select `last_name`,`last_name`, from employees;
为了避免字段名与SQL的变量重名,需要使用一对``进行转义 - 查询所有字段
select * from 表名;或select 所有字段名称 from 表名;
注意
使用*来查询所有字段,这种方法不适应平时开发需求
在SQLyog中可以使用F12来标准化输入代码的格式 - 查询函数(调用函数,获取返回值)
select database();
select version();
select user(); - 起别名
- 方式一:使用as关键字
select 字段名 as 别名;
- 方式二:使用空格
select 字段名 (此处有空格) 别名;
注意
起的别名如果有特殊符号,比如上面的姓名这个别名,就需要使用引号(单双都可以),不然报错
- 方式一:使用as关键字
- 字符的拼接
concat(字段名1,字段名2…)
MySQL中的+运算符
1、两个数都是数值类型,直接相加
2、其中一个操作数为字符型
将字符型数据强制转换成数值型,如果无法转换,则直接当做0处理
3、其中一个操作数为null,结果为null - distinct的使用
查询字段中的非重复数据
select distinct 字段名 from 表名; - 查看标的结构
desc 表名;
show columns from 表名;
- 查询常量