提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
关于Mysql操作之Dql应用`
一、DQL操作是什么?
包括简单查询,分组查询,正则表达式以及多表关系
二、1.对表中的数据进行查询,简单查询使用步骤
代码如下(示例):
-- 1`.查询所有的商品
select * from product;
-- 2.。查询商品名和商品价格
select pname,price from product;
-- 3.给表起别名
select *from product p;
-- 4.给列起别名
select pname as '商品名',price'商品价格'from product;
-- 5.去掉重复
select distinct price from product;
-- 商品价格加十元
select pname ,price+10 new_price from product;
2.条件查询
聚合查询函数与Excel一样,注意null忽略,无论是平均值还是其他
代码如下(示例):
分组查询
select category_id ,count(*) from product group by category_id;
分组查询之后再筛选的关键词having
分页查询
select *from product limit 5;
显示前五条
select * from product limit 3,5;
从第四条开始显示五条
3.正则表达式
‘^a’从开头匹配
‘a$’从末尾匹配
‘.a’匹配任意字符
‘[abc]’匹配括号中的单个任意字符
[^]表示取反
‘a*’表示匹配0个或多个a
‘a+’表示一个或多个a
‘a?’表示匹配0个或一个
‘a1|a2’表示或
‘a{m,}’至少m个
‘a{m,n}’包括m和n个
4.多表关系
外键约束实现多表关系
创建外键约束
-- 创建部门表 主表
create database mydb3;
use mydb3;
create table if not exists dept(
deptno varchar(20) primary key ,
name varchar(20)
);
-- 创建员工表
use mydb3;
create table if not exists emp(
eid varchar(20) primary key,
age int,
dep_id varchar(20),constraint emp_fk foreign key (dep_id)references dept(deptno)
);
5.多表联合查询
1.笛卡尔积查询
select from dept2,emp2;
2.内连接查询(交集)
1.隐形内连接
Select*from A,B where 条件
2.显性内连接
Select*from A[inner] join B where 条件
3.外连接查询
1.左外链接
2.右外链接
3.满外连接