-- DQL语句数据库的查询语句 对表的查询语句是重点
/*
select 字段名 from 表名
where 条件查询
排序查询
分组查询
筛选查询
分页查询
聚合函数*/
USE db1;
SELECT * FROM student;
CREATE DATABASE mydb_01;
USE mydb_01;
-- 创建表
CREATE TABLE student(
id INT, -- 编号
NAME VARCHAR(20),-- 姓名
age INT,-- 年龄
sex VARCHAR(10), -- 性别
address VARCHAR(100), -- 地址
math INT, -- 数学
english INT -- 英语
);
SHOW CREATE TABLE student;
DESC student;
-- 插入数据(一种方式:如果是给表中所有字段插数据,values(,,,),(,,,)插入多条语句)INSERT INTO student
(id,NAME,age,sex,address,math,english)
VALUES (1,'马云',55,'男',' 杭州',66,78),
(2,'马化腾',45,'女','深圳',98,87),
(3,'马景涛',55,'男','香港',56,77),
(4,'柳岩 ',20,'女','湖南',76,65),
(5,'柳青',20,'男','湖南',86,NULL),
(6,'刘德华',57,'男','香港 ',99,99),
(7,'马德',22,'女','香港',99,99),
(8,'德玛西亚',18,'男','南京',56,65);
-- 基本查询语句:select 查询所有字段(*)from student
SELECT * FROM student;
-- 查询某些字段:只是查询姓名和年龄(查询指定字段)
SELECT
id,
NAME,
age
FROM
student ;
-- 查询地址(有重复数据,如何去重 冗余)
SELECT
address
FROM
student ;
-- 查询字段,去除重复的信息(distinct)
SELECT DISTINCT
address
FROM
student ;-- 查询姓名以及他对应的数学成绩,英语成绩,以及数学+英语总分
SELECT
NAME,
math,
english,
(math + english)
FROM
student ;-- 存在问题:如果某一个字段值为null,总分也是null
-- mysql内置IFNULL函数(字段名称,默认值)
SELECT
NAME,
math,
english,
math+IFNULL(english,0) -- 如果英语成绩为null,使用0代替null
FROM student;SELECT * FROM student;
-- 查询字段的时候,给字段起个别名 as(可以省略)
SELECT
NAME AS '姓名',
math AS '数学',
english AS '英语',
math + IFNULL(english, 0) AS '总分'
FROM
student ;
-- as可以省略
SELECT
NAME '姓名',
math '数学',
english '英语',
math + IFNULL(english, 0) '总分'
FROM
student ;