SQL基本语句---MySQL04---数据的查询01(基本查询、条件查询)
程序员文章站
2022-05-09 17:21:29
...
目录
1.准备工作
1.1创建数据库
-- 创建数据库
create database test01 charset=utf8;
-- 使用数据库
use test01;
-- 查看当前使用数据库
select database();
1.2创建数据表
-- 创建班级表
create table classes(
id int unsigned not null auto_increment primary key,
name varchar(30) not null);
-- 创建学生表
create table students(
id int unsigned primary key auto_increment not null,
name varchar(20) default '',
age tinyint unsigned default 0,
height decimal(5,2),
gender enum('男','女','保密') default '保密',
cls_id int unsigned default 0,
is_delete bit default 0
);
1.3准备数据
-- 向students中插入数据
insert students values
(0,'小王',20,175.00,2,1,0),
(0,'小李',19,175.00,2,2,1),
(0,'张三',29,185.00,1,1,0),
(0,'李四',59,175.00,1,2,1),
(0,'Linda',38,180.00,2,1,1),
(0,'小妹',28,150.00,3,2,1),
(0,'王五',18,172.00,2,1,1),
(0,'周蒙',36,null,1,1,0),
(0,'李小白',27,181.00,1,2,0),
(0,'张强',25,166.00,2,2,0),
(0,'阿么',33,162.00,2,3,1),
(0,'李显',12,180.00,2,4,0),
(0,'雷神',12,170.00,1,4,0),
(0,'小小怪',34,176.00,1,5,0);
-- 向classes中插入数据
insert classes values
(0,"python_test01"),
(0,"python_test02");
2.基本查询(关键字:select)
2.1查询所有字段
select *from 表名;
select *from students;
2.2查询指定字段
select 列1,列2,… from 表名;
select name,age from students;
2.3消除重复行(关键字:distinct)
distinct 字段;
-- 消除重复出现的
select distinct gender from students;
2.4给字段添加别名(关键字:as)
select 字段 as 名字… from 表;
select name as 姓名,age as 年龄 from students;
2.5给表添加别名(关键字:as)
select 别名,字段…from 表名 as 别名;
select students.name, students.age from students;
select s.name,s.age from students as s;
-- 失败select students.name, students.age from students as s;
3.条件查询(关键字:where)
3.1比较运算符
select … from 表名 where …
查询大于18岁的信息(>)
select *from students where age>18;
查询小于18岁的信息(<)
select *from students where age<18;
查询大于等于或小于等于的信息(>= 和<=)
select *from students where age>=18;
select *from students where age<=18;
查询年龄为18岁的所有学生(=)
select *from students where age=18;
查询年龄不是18岁的所有学生(!= 或者 <>)
select *from students where age !=18;
3.2逻辑运算符
add
-- 18岁以上的女性
select *from students where age>18 and gender=2;
-- 失败
select *from students where age>18 and <28;
or
-- 18岁以上或者身高超过180(包含)以上
select *from students where age>18 or height>=180;
not
-- 年龄不是小于或者等于18 并且是女性
select *from students where (not age<=18) and gender=2;
下一篇: 我的一人互联网公司