select * from 班级表;
select * from 学生表;
select * from 课程表;
select * from 成绩表;
-- 查看表结构 desc 表名
desc 学生表;
-- 1.新增记录,给所有字段赋值时,可以省略字段列表,输入的值必须与字段的顺序一致
insert into 学生表 values(4,'李四',22,2,'男','362135198808081183');
-- 2.新增记录,给部分字段赋值时,必须有字段列表,输入的值与列表的顺序一致,不允许为空的字段必须输入值;
insert into 学生表(学号,姓名,班级ID) values(5,'小丽',2);
insert into 学生表(姓名,学号,班级ID) values('王老五',6,2);
-- 3.新增记录时,用set语句赋值
insert into 学生表 set 学号=7,姓名='张三丰',班级ID=1;
-- 4.用一个insert语句,新增多条记录
insert into 课程表 values(4,'JAVASCRIPT',4),(5,'C语言',4),(6,'JQUERY',2);
-- 5.批量插入数据,把数据从一个表查询出来,插入到另一个表中,前提条件:表结构兼容
create table 课程表1
(
课程ID int primary key,
课程名称 varchar(30),
学分 tinyint
)
select * from 课程表;
select * from 课程表1;
insert into 课程表1(课程ID,课程名称,学分) select * from 课程表;-- update语句:更新数据
select * from 学生表;
-- 更新一个字段:更新王老五年龄为45岁
update 学生表 set 年龄=45 where 学号=6;
-- 更新多个字段,多个字段之间用逗号分隔
update 学生表 set 年龄=30,班级ID=2,身份证号='362135198808081184' where 学号=7;
-- 批量更新:更新所有高技2班同学的年龄为18岁
update 学生表 set 年龄=18 where 班级ID=2;-- delete 语句:删除语句,没有条件的删除语句会删除表中所有记录
-- 删除张三丰
delete from 学生表 where 学号=7;
-- 批量删除:删除所有身份证号为空的学生记录
delete from 学生表 where 身份证号 is null;
-- truncate table :删除表中所有记录,性能比delete语句快,一旦删除不可恢复,不能带条件
select * from 课程表1;
truncate table 课程表1;
/*
从逻辑上说,TRUNCATE 语句与 DELETE 语句作用相同,但是在某些情况下,两者在使用上有所区别。
DELETE 是 DML 类型的语句;TRUNCATE 是 DDL 类型的语句。它们都用来清空表中的数据。
DELETE 是逐行一条一条删除记录的;TRUNCATE 则是直接删除原来的表,再重新创建一个一模一样的新表,而不是逐行删除表中的数据,执行数据比 DELETE 快。因此需要删除表中全部的数据行时,尽量使用 TRUNCATE 语句, 可以缩短执行时间。
DELETE 删除数据后,配合事件回滚可以找回数据;TRUNCATE 不支持事务的回滚,数据删除后无法找回。
DELETE 删除数据后,系统不会重新设置自增字段的计数器;TRUNCATE 清空表记录后,系统会重新设置自增字段的计数器。
DELETE 的使用范围更广,因为它可以通过 WHERE 子句指定条件来删除部分数据;而 TRUNCATE 不支持 WHERE 子句,只能删除整体。
DELETE 会返回删除数据的行数,但是 TRUNCATE 只会返回 0,没有任何意义。
当不需要该表时,用 DROP;当仍要保留该表,但要删除所有记录时,用 TRUNCATE;当要删除部分记录时,用 DELETE。*/
select * from 课程表;
delete from 课程表 where 课程ID=6;
insert into 课程表(课程名称,学分) values('JQUERY',2);/*
select语句:查询语句
*号表示查询所有字段,如果只要查询部分字段,那么需要使用字段列表
*/
select * from 学生表;
-- 查询班级ID=2,年龄小于18岁的所有男生
-- 查询所有字段
select * from 学生表 where 班级ID=2 and 性别='男' and 年龄<18;
-- 查询部分字段
select 姓名,年龄,性别 from 学生表;
-- 字段名称可以取别名,在字段名称后面加一个空格,然后再写别名select 姓名 学生姓名,年龄 学生年龄,性别 学生性别 from 学生表;
-- 所有的学生年龄增加10岁
select 姓名,年龄+10 年龄,性别 from 学生表;-- 销售表
create table 销售表
(
产品编码 char(3) primary key,
产品名称 varchar(30) not null,
单价 decimal(18,2) default 0,
销售数量 int ,
销售日期 datetime default now()
)insert into 销售表(产品编码,产品名称,单价,销售数量,销售日期) values('001','华为P5',6000,18,now());
insert into 销售表(产品编码,产品名称,单价,销售数量,销售日期) values('002','华为Mate5',5480,28,now());
insert into 销售表(产品编码,产品名称,单价,销售数量,销售日期) values('003','OPPO',3000,48,now());
insert into 销售表(产品编码,产品名称,单价,销售数量,销售日期) values('004','小米',4888,38,now());
insert into 销售表(产品编码,产品名称,单价,销售数量,销售日期) values('005','VIVO',2888,38,'2020-10-1 10:10:10');
insert into 销售表(产品编码,产品名称,单价,销售数量) values('006','IPHONE14',12888,18);select * from 销售表;
-- 统计每部手机的销售收入,查询语句中的总计是计算出来的,表中不存在该字段
select 产品编码,产品名称,单价,销售数量,单价*销售数量 总计,销售日期 from 销售表;
-- /除法运算符,%,mod取模运算(求余数)
SELECT 8/10,8 %10,8 mod 10;
select 8+10+5-3*2/6;-- 查询班级ID=2或者班级ID=3,年龄小于18岁的所有男生
select * from 学生表 where (班级ID=2 or 班级ID=3) and 性别='男' and 年龄<18;-- not非(取反)
select 1,not 1,not 100,not 0;
-- is null 表示值为空,is not null 值不为空
select * from 学生表;
insert into 学生表(学号,姓名,班级ID,性别) values(5,'小丽',3,'女');
insert into 学生表(学号,姓名,班级ID,性别) values(6,'小小',1,'女');
-- 查询所有身份证号码为空的学生信息
select * from 学生表 where 身份证号 is null;
-- 查询所有身份证号码不为空的学生信息 select * from 学生表 where 身份证号 is not null;
insert into 学生表(学号,姓名,班级ID,性别) values(7,'',3,'男');
select * from 学生表 where 姓名='';
-- 范围查询 between 最小值 and 最大值
-- 查询所有年龄大于等于16,并且年龄小于等于20的所有学生信息select * from 学生表 where 年龄 between 16 and 20;
-- 等价于
select * from 学生表 where 年龄 >= 16 and 年龄<=20;select * from 销售表;
-- 查询13号的销售记录
select * from 销售表 where 销售日期 between '2022-10-13 00:00:00' and '2022-10-13 23:59:59';
/*
like:模糊查询
通配符:
下划线(_):表示一个任意字符
%号:表示多个任意字符
*/select * from 学生表;
-- 查询所有姓李的学生信息;
select * from 学生表 where 姓名 like '李%';
-- 查询所有姓李的,姓名只有2个字的学生信息;select * from 学生表 where 姓名 like '李_';
-- 查询学生姓名中包含有“小”字的学生信息;
select * from 学生表 where 姓名 like '%小%';-- 查询学生姓名中不包含有“小”字的学生信息;
select * from 学生表 where 姓名 not like '%小%';
-- in语句:就是枚举类型
-- 查询班级ID=2或者班级ID=3,年龄小于18岁的所有男生
select * from 学生表 where 班级ID in(2,3) and 性别='男' and 年龄<18;
-- 等价
select * from 学生表 where (班级ID=2 or 班级ID=3) and 性别='男' and 年龄<18;
-- 查询班级ID<>2并且班级ID<>3,年龄小于18岁的所有男生
select * from 学生表 where 班级ID not in(2,3) and 性别='男' and 年龄<18;
mysql 查询学生星座 mysql查看学生表的内容
转载文章标签 mysql 查询学生星座 mysql 数据库 javascript 字段 文章分类 MySQL 数据库

-
mysql学生情况表代码 mysql学生表查询
Mysql之表的查询
mysql学生情况表代码 字段 表名 子查询