今天用navicat的命令端操作了一下之前写的代码
-- 创建数据库
-- 创建学生表
file:///C:/Users/柠檬不萌/AppData/Local/Temp/ksohtml18084/wps2.jpg
需要注意的是 要看表的话要写tables而不是table 第一次我就错了
-- 创建班级表
file:///C:/Users/柠檬不萌/AppData/Local/Temp/ksohtml18084/wps3.jpg
-- 向学生表中插入数据
file:///C:/Users/柠檬不萌/AppData/Local/Temp/ksohtml18084/wps4.jpg
-- 向班级表中插入数据
file:///C:/Users/柠檬不萌/AppData/Local/Temp/ksohtml18084/wps5.jpg
接下来就是查询
所有代码如下
-- 创建数据库 create database python_test_1 charset=utf8; -- 使用数据库 use python_test_1; -- 创建学生表 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 ); -- 创建班级表 create table classes ( id int unsigned auto_increment primary key not null, name varchar(30) not null ); -- 向学生表中插入数据 insert into students values (0,'张三',18,180.00,2,1,0), (0,'李四',18,180.00,2,2,1), (0,'王五',29,185.00,1,1,0), (0,'赵六',59,175.00,1,2,1), (0,'冯远征',38,160.00,2,1,0), (0,'金星',28,150.00,4,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,3,3,1), (0,'周瑜',12,180.00,2,4,0), (0,'鲁肃',12,170.00,1,4,0), (0,'马超',34,176.00,2,5,0); -- 向班级表中插入数据 insert into classes values(0,'python_01'),(0,'python_02'); -- 数据准备就绪,开始查询 -- 查询编号大于3的同学 select * from students where id>3; -- 查询编号不大于3的同学 select * from students where id<=3; -- 查询姓名不是张三的同学 select * from students where name!='张三' -- 查询编号大于3的男同学 select * from students where id>3 and gender='男'; -- 查询编号大于2或者没被删除的同学 select * from students where id>2 or is_delete=0; -- 查询姓李的学生 select * from students where name like '李%'; -- 查询姓张且名字是一个字的学生 select * from students where name like '张_'; -- 查询姓马或者名字是超的学生 select * from students where name like '马%' or name like '%超'; -- 查询编号是1或3或5的学生 -- in表示在一个非连续的范围内 select * from students where id in(1,3,5); -- between ... and ...表示在一个连续的范围内 -- 查询编号为3到8的学生 select * from students where id between 3 and 8; -- 查询编号是3到8的男生 -- between A and B在匹配数据的时候匹配的范围空间是 [A,B] select * from students where (id between 3 and 8) and gender='男'; -- is null表示判断为空 -- 查询没有填写身高的学生 select * from students where height is null; -- 判非空is not null -- 查询填写了身高的学生 select * from students where height is not null; -- order by 排序查询 -- 排序的语法规则:select * from 表名 order by 列1 asc | desc, 列2 asc | desc, ... -- 查询未删除男生信息,按学号降序 select * from students where gender='男' and is_delete=0 order by id desc; -- 查询未删除学生信息,按名id升序 select * from students where is_delete=0 order by id asc; -- 显示所有的学生信息,先按照年龄从大-->小排序,当年龄相同时 按照身高从高到低排序 select * from students where order by age desc, height desc;
|