经过前面的学习,我们已经对数据库概念,数据库和表的创建有了一个较为基础的了解,那么接下来,我们对表的数据进行查询和使用。
DQL: 数据库查询语言
基本格式:
select *(列名1, 列名2.....) from 表名 // 前面的(列名1, 列名2.....)可以不写 ,那么就是查询整张表,当然你也可以写上限定查询的列。
下面开启代码实践:
USE db002; CREATE TABLE commodity( -- 这里我们创建一张商品表 `cid` INT PRIMARY KEY AUTO_INCREMENT, -- cid 产品编号 `cname` VARCHAR(20), -- cname 商品名称 `cprice` INT, -- cprice 商品价格 `ctype` VARCHAR(20) -- 商品类型 ); #接下来插入数据 INSERT INTO commodity(cname,cprice,ctype) VALUES('冰箱','3000','电器'); INSERT INTO commodity(cname,cprice,ctype) VALUES('空调','3500','电器'); INSERT INTO commodity(cname,cprice,ctype) VALUES('电视','3500','电器'); INSERT INTO commodity(cname,cprice,ctype) VALUES('洗衣机','4000','电器'); INSERT INTO commodity(cname,cprice,ctype) VALUES('牙膏','10','日用品'); INSERT INTO commodity(cname,cprice,ctype) VALUES('毛巾','15','日用品'); INSERT INTO commodity(cname,cprice,ctype) VALUES('水杯','10','日用品'); INSERT INTO commodity(cname,cprice,ctype) VALUES('色拉油','100','日用品'); DESC commodity;-- 查询表 SELECT * FROM commodity; -- 查询commodity表中所有数据 SELECT cname,ctype FROM commodity; -- 查询 commodity 表中cname (商品名称) 和ctype (商品类型) 数据 SELECT cprice FROM commodity; -- 查询cprice(价格) #在上面价格查询中我们发现 电视和空调价格一样,如果我们不想显示有相同的价格 则我们可以使用 distinct SELECT DISTINCT(cprice)FROM commodity; -- 去除相同价格后进行查询
接下来我们就要学习查询中的最灵活而重要的 条件查询
而要达到灵活运用条件查询 那么我们就需要对条件查询的一些比较运算符和逻辑运算符进行了解和掌握,下面将用图标来展示 能记下来最好
我们继续在代码中去运用条件查询,对上面表格中的知识进行实际运用
#查询结果是表达式(运算查询):将所有商品价格+10 进行显示 select cprice+10 from commodity; #别名查询 使用的关键字是as select cprice+10 as 打折价格 from commodity; #条件查询 #查询商品为电视的商品所有信息 select * from commodity where cname='电视'; #查询价格为3500的商品 select *from commodity where cprice='3500'; #查询价格小于20的商品 select * from commodity where cprice<20; #查询商品价格在10-100之间的商品 select *from commodity where cprice>=10 and cprice<=100 ; select * from commodity where cprice BETWEEN 10 and 100; #查询3000或4000的所有商品 select * from commodity where cprice in(3000,4000); #查询含有“电”字的所有商品 select * from commodity where cname like '%电%' ; #查询以‘水’开头的所有商品 select *from commodity where cname like '水%'; #查询第二个字为‘拉’的商品信息 select *from commodity where cname like '_拉%'; #查询没有分类的商品 select * from commodity where ctype is null; #查询有分类的所有商品 select *from commodity where ctype is not null; #查询所有价格 大于10的日用品 select *from commodity where cprice>10 and ctype='日用品';
当然条件查询是要结合实际情况的,熟练地使用条件查询是学好数据库的必要条件。