前言
我们在以前,大概学了一下如何通过命令创建数据库,创建表等基本操作。
但是实际上啊,至少在我的实际工作中,用到的不是太多,了解就可以。
因为我们可以通过一些可视化软件,像NavicatforMySQL等。
可以很方便的帮助我们创建数据库,创建表,修改表等操作。
NavicatforMySQL简单示例
创建数据库
使用NavicatforMySQL连接好一个Mysql服务之后。
- 右击-->新建数据库
- 选择新建数据库信息字符集一定要选择utf8mb4--UTF-8Unicode,这个表示支持存储Emoji表情。排序规则一定要选择utf8mb4_general_ci。至于为什么,我也不知道...,原谅我是个码农吧。
就这样,一个数据库创建完成了,是不是很轻松。
创建表
- 右击表-->新建表
- 制定表结构
- 保存表(Ctrls)
设计表
在实际中,我们常常会更改表结构,也叫设计表
- 右击表-->设计表
- 修改表
3.保存即修改
查询
上述主要复现了一下如何通过可视化软件操作数据库,确实会比直接命令方便很多很多。
但是查询这个操作,那可视化软件就真的无能为力了。
毕竟我们不管是封装在后台还是自己的软件中。
都是要使用原生SQL的,这个是无法避免的,并且原生SQL查询是最灵活的!!!
终于迎来了最最最重要的环节,学习原生sql。
需求分析
假设我们现在要做一个学生管理系统,所以首先确定,会有一个学生表,用于存放学生的信息,像姓名了,年龄了,性别了,等。
然后想了又想,学生肯定要属于哪个班级的,张三是一班的,李四是二班的,等。
所以我们可能就会有两张表了,一个是学生信息表,一个是班级表,然后学生属于哪个班级。
就像小时候戴的学生胸牌一样,姓名:xxx,班级:xxx等。
想了想,我觉得表结构大概如下
表结构图
表结构图.xlsx
表结构代码
school_test.sql
应该通过这两张表,基本可以把我们的sql语法,学的差不多,一起来看看叭。
查询(select)
既然表里面有这么多数据,那就需要查询了,首先是。
查询所有
sql
--语法SELECT*from<表名>;--例如,查询学生表SELECT*fromstudent;
执行结果
where条件查询
但是有时候,我们可能需要查询带有一些条件的,比如id=1的,或者name=张三的等。
这时候就需要用到where。
sql
--语法SELECT*from<表名>where<条件>;--例如,查询id=1的数据SELECT*fromstudentwhereid=1;
执行结果
这样,我们就把id=1的数据查找出来了。
同理,还可以写其他条件。
查询性别为男的(gender=男)
SELECT*fromstudentwheregender="男";
执行结果
这样,就把gender=男的都查出来了。
where多个条件查询(and)
假设现在表内容如下。
有俩琪琪,一个是男琪琪,一个是女琪琪,那我们查的时候,肯定要区分是男的还是女的琪琪了。
所以这时候需要where多个条件了。
and的意思是查询满足所有条件的数据。
sql
--语法SELECT*fromstudentwhere<条件>and<条件>...;--例如,查询男琪琪SELECT*fromstudentwherename="琪琪"andgender="男";
执行结果
这样,通过多个条件就卡住了更精准的数据。
select选择列
在上面使用时,我们使用的都是select*from<表名>。
假设我们的数据如下
select*就表示,选择所有列
结果如下
如果是selectid,nameage,表示选择指定列
结果如下
select还能给列起别名
例如
SELECTid,nameas"姓名",agefromstudent;
执行结果
总结
本章主要讲述了如何使用NavicatforMySQL新建数据库,新建表,设计表等简单操作。
后续又根据实际需求设计出简单的学生表和班级表,并且简单是使用了select查询。
后来又讲解select*和select列1,列2的区别。
如果在操作过程中有任何问题,记得下面留言,我们看到会第一时间解决问题。
敬往事一杯酒,自此不再回头。