数据库的日常学习

1、首先我们得知道数据库是干什么的?它有那些数据库,当前我们需要掌握那些?掌握到什么程度?这些都很重要,话不多说,来一起学习!

(1)数据库一听我们就知道它是用来存储数据的,它可以存储结构化数据和半结构化数据。日常我们接触最多的也就是MYSQL,ORACLE,POSTGRESQL,MONGGODB,也就这些吧!,其他的都遇到不多。也就不浪费时间了。

(2)其实数据库来说大体都差不多,只要你会一种,那么其他的就方便多了。以前我总觉得数据库不重要,后来才知道数据库基本是程序员的必备技术之一。

(3)下载安装我就不多了吧。直接上代码。当你有了数据库以后,那么你第一步是不是就得创建一个来用一用。
这里我们来创建一个叫做school的数据库。`

create database school;

这里的school就是你的数据库。创建好了以后,是不是我们得用它。

use school;

然后我们就在数据库里自由的创建我们的表啦。
这里我们创键一个叫学生的表。

create table `student`
         (
             student_id int not null auto_increment,
             student_name varchar(20) not null,
             primary key(`student_id`)
             )engine = InnoDB auto_increment = 9 default charset=utf8;

创建好之后我们得插入数据。

insert into student (student_name) values ('张三');

接下来如果我想更改其中的值怎么办呢?
比如我想把张三改为李四。怎么办?
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值

update student set student_name = 张三 where student_name= 李四;

如果我想把这行删除呢?
DELETE FROM 表名称 WHERE 列名称 = 值

DELETE FROM student where  student_name = "张三";

这样张三就能删除了。
结果:当然这就也是最基本的增删改查。
我们来试一下数据库的查询。
(1)查询数据表


select * from student;

(2)查询某条语句

select student_name from student;

(3)高级一点的查询
1、内连接
我们先创建两个表,那么这两个表呢有一定的关系。我再创建一个老师表:teacher
然后我查老师都有那些学生,学生有哪些老师,但是由于是新学期,有的学生没有分配老师,有的老师没有分配到学生。
那么我在查讯的时候,如果我想的是能够自动过滤没有学生的和没有老师的,那么就是有内连接查询。

select
s.student_name,t.teacher_name
from student s
INNER JOIN teacher t
ON s.stdent_id = t.teacher_name;

这里的s.stdent_id = t.teacher_name就是关联查询的条件。
(2)左外连接查询
这里如果 student 和 teacher 是这样的,那么

SELECT s.student_name,t.teacher_name
from  student s
LEFT OUTER JOIN teacher t
on s.stdent_id = t.teacher_name;

在这里是以student为基准表来查询的,所以叫左关联查询,
(3)右关联查询

SELECT s.student_name,t.teacher_name
from  student s
right OUTER JOIN teacher t
on s.stdent_id = t.teacher_name;

只要你会左关联查询就行了。
(4)自连接查询
自连接查询就是当前表与自身的连接查询,关键点在于虚拟化出一张表给一个其他的名字。这个表是你虚化的,比如现在我随便虚化出一张表。b,

SELECT s.student_name,.student_name
from  student s
LEFT OUTER JOIN student b
on s.stdent_id = b.student_name;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值