2020..9.23陈悦玲

数据查询

一. 简单查询

#创建一个班级
create table empname(
    empid int primary key,
    ename varchar(20)
    sex tinyint,
    clas varchar(20)
);
create table emp(
    eid int primary key auto_increment,
)
#删除外键的时候要先删emp这个表才行
#添加内容需要先添加到加了外键的另一张表中
#添加数据 (新建一个查询insert)
use shujuku;
insert into empname values(100,"小明",1,"设计部"),(101,"小摆",2,"程序部"),(102,"小留",1,"程序部"),(103,"小小",1,"管理部"),(104,"小金",2,"")
insert into emp values(null,100),(null,101),(null,102),(null,103),(null,104)
  1. 查询特定的列
select *from emp;
select *from empname;
  1. 查询所有的列
select ename from empname; #ename是列名 empname是表名
select sex from empname;
#查询其中的几项用,隔开就行了
select ename,sex from empname;
  1. 给列起别名
select ename as "姓名",clas as "部门",sex as "性别";
#as可以不写,中间用空格隔开即可 select ename "姓名",clas "部门",sex as "性别";
  1. 合并相同的项
select * from emp;
#查询emp中有多少部门(数据表见最下面)
select distinct deptid from emp;#去掉重复的那些 只看到不重复的
  1. 查询时执行计算
#查询员工工资
select ename "姓名",salary*12 "年薪" from empname;
  1. 结果集的排序
#查询员工工资 按照工资排序
select ename "姓名",salary "工资" from empname order by salary asc;#asc默认升序 desc降序
  1. 条件查询

    #查询员工工资大于一千的人
    select * from empname where salary>=1000
    
  2. 模糊条件查询

select ename from empname where ename like '小_'
#查询带“小”字开头的,并且后面只有一个字符
#%表示有0~n个字符  _表示1个字符
#条件实在 where 关键词的后面写
#like:一种好像的意思
  1. 分页查询
#关键词:limit
#第一页:
select * from empname limit 0,3;
#查找到第1,2,3条
#第二页:
select * from empname limit 3,3;
#m表示从数据第m条开始查询
#n表示从m条开始的后n条开始查询

#当limit只有一个参数的时候
select * from empname limit 5;
#查询前5条数据

提示:页码 = (当前页数-1)页码数据量*

eg

#来个大练习
#创建数据库
set names utf8;
drop database if exists pra;
create database pra charset=utf8;
#进入数据库
use pra;
#创建数据表
#emp(设置外键) empname deptemp
create table empname(
    empid int primary key,
    ename varchar(8),
    salary decimal(9999999)
);
create table deptemp(
    deptid int primary key,
    dept varchar(8)
);
create table emp(
    eid int primary key auto_increment,
    #设置外键
    empid int,
    foreign key(empid) references empname(empid)#第一个empid是emp表里的
    deptid int,
    foreign key(deptid) references deptemp(deptid)
);
desc emp;#查看外键
insert into empname values(100,"小明",1000),(101,"小红",2000),(102,"小蠢",3000),(103,"小憨",4000),(104,"小玲",5000),(105,"小明",6000)
insert into deptemp values(401,"设计部"),(402,"程序部"),(403,"教育部"),(404,"游戏部");
#向emp中插入数据
insert into emp values
(null,100,401),(null,101,402),(null,102,403),(null,103,404),(null,104,401),(null,10,402)

标签

评论

this is is footer