MySQL如何在学生表中插入数据,查询/筛选表数据,更新/修改表数据(insert/select *from/update/范围运算符作用)

首先声明该篇章将进行从头到末的小白操作,其中分为主要操作(必要操作步骤)次要操作(方便阅读理解),主要操作会标明步骤编号,并且以举例子为主进行演示,同时将之前的篇章进行复习


我们可以先show databases;查看已有数据库

(1)新建一个数据库students

(2)接着创建一个学生表stu(student的缩写)

解析:以下内容作为建立表的表头,其中表头包含以下内容↓

id(学号数,且被设置为主键primary key。一个表的主键是唯一的,id主键是默认一个学生的学号是唯一的,因为同名同姓的人很多,学号可以用于区分,相当于身份证)

name e-mail course sex birth score

(分别对应姓名,邮件,课程,性别,出生日期,学分)

用desc检查表头内容

(3)mysql如何在表中插入学生数据

(这里是易错灾区,建议先打在txt文本上输入,方便出错后修改,常出现因为标点符号非英文以及与已设表头数据类型不匹配错误)


要点:

①插入一条数据

insert into 表名

values

(一一对应表头的数据);

ps:当插入个数与原字段个数不匹配,会出现报错

即列的个数和插入的个数不匹配

即使有null也要插入

②同时插入多条数据

insert into 表名

values

(插入数据1),←逗号

...

(插入数据n);←分号

ps:

id学号:定义为主键,具有唯一性,主键不一样其他一样仍然可以插入,主键一样其他不管一不一样都插入不了

学号去掉引号,0('001')字会自动去除,但无报错

sex性别:添加引号,原来是整型且不影响

birth出生日期:年月日中间有符号情况下为字符串,必须用引号;而横线去掉后纯数字就不需要引号


代码如下:

使用select * from 可以检查插入数据结果

(4)mysql如何查询表中数据

①查询表中的所有数据

select * from 表名(*表示选取表中插入的所有的字段)

如上图所示:

②查询/筛选表中的部分数据

select  列名1,列名2...  from 表名

eg1:假如我只想查找学生姓名和课程

select name,course from stu;

eg2:假如我只想查找学生的学号,出生日期以及学分

select id,birth,score from stu;

eg3:假如我只想找学生姓名,电子邮件,现在时间

select id,birth,now() from stu;

now()为查询表时返回系统右下角的日期时间

③条件查询(范围运算符的运用)

1.查询姓名为xx的学生

eg:假如我想在表中所有学生中查询名叫孙策的所有信息

select * from 表名 where 列名='要查询的内容';

select * from stu where name ='孙策';

2.查询姓名为xx的学生的xx信息

eg:假如我想找孙策同学的电子邮件和课程

select 列名 from 表名 where name=' ';

select  email,course from stu where name ='孙策'; 

3.查询出生年月日为xx的学生

between 后指定小值 and 后指定大值

select * from 表名(stu) where birth between xx and xx;

4.查询不在xx年月日出生的学生

select * from 表名(stu) where not(birth between xx and xx);

select * from 表名(stu) where !(birth between xx and xx);

以上俩种方法皆可以

5.查询在xx年月日出生的学生

select * from 表名 where birth='xx';

select * from stu where birth ='2007-10-27';

6.查询不在xx年月日出生的学生

select * from stu where not birth ='2007-10-27';

7.查询出生年为xx的学生

select * from stu where year(birth) = '2000';

这里year运用了强制性转换

8.查询不在xx年出生的学生

这里意思为查询不为2000年出生的学生

select * from stu where not(year(birth)='2000');

9.查询姓孙并且是男的学生

要点:like代表相似,所以只要姓孙就输出,%代表不管姓名多少个字符都输出,因此姓孙的都呈现在表格里

select * from 表名where name like'姓%' and sex = xx;

select * from stu where name like '孙%' and sex = 1;

10.查询姓孙且名字只有俩个的男生

要点:一个_下划线代表一个字符

select * from 表名 where name like'姓_' and sex = xx;

select * from stu where name like '孙_' and sex = 1;

可以看出孙悟空名字占三位,被剔除

11.查询学分为2或性别是女的学生

select * from 表名 where score=xx or sex = xx;

select * from stu where score=2 and sex = 0;

13.查询一系列学生的学号

select * from stu where id in(1,2,3);

(5)Mysql如何更新(修改)表中数据

①改变整列数据

update 表名 set 列名(表头) ='你要更换的那个列数据';

这里我要将所有学生的mysql课都更改为数学课

update stu set course='数学';

检验可以看见course那列都变为数学

②限定只改变一条数据

update 表名 set 原课程名=‘新课程名mysql’ where 学号=‘xx’;

这里将孙策的数学课程更改为mysql课

update stu set 数学='mysql' where id =1;

检验成果:

③将原数据用新数据替代

update 表名 set 学分='新学分' where 性别 = xx;

这里意思将性别为女的学生学分替代为5分

update stu set score = 5 where sex =0;

检验成果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值