数据库基本增删改查语法和多表链接查的方式

本文介绍了数据库的基本概念,包括关系型数据库MySQL的使用,涵盖了增删改查操作的SQL语法,并详细讲解了内联查询、外联查询和union在多表链接查询中的应用。

目录

前言

一、什么是数据库?

        简单来说,数据库是按照数据结构组织存储和管理数据的仓库。是一个长期存储在计算机内的,有组织的,可共享的,统一管理的大量数据的集合。

数据库分为关系型数据库和NoSQL数据库,其中关系型数据库较为常用,MySQL就属于关系型数据库,由于它操作简单,小巧且功能齐全,免费开源,可运行于不同的操作系统,所以一般使用它。

1.新增(insert)

​编辑

2.删除(delete)

 3.更改(update)

4.查询(select)

二.多表链接查

1.内联查询

2.外联查询(left join)

3.外链查询(right join)

4.union

总结



一、什么是数据库?

        简单来说,数据库是按照数据结构组织存储和管理数据的仓库。是一个长期存储在计算机内的,有组织的,可共享的,统一管理的大量数据的集合。

        特点:1.持久化存储数据   2.便于存储和管理数据    3.使用了统一的方式操作数据库

数据库分为关系型数据库和NoSQL数据库,其中关系型数据库较为常用,MySQL就属于关系型数据库,由于它操作简单,小巧且功能齐全,免费开源,可运行于不同的操作系统,所以一般使用它。

下面简单介绍以下数据库的常用基本语法:

 

1.新增(insert)

语法:insert into 表名 (字段1,字段2,……) values(值1,值2,……);

注:1.各个字段与value值一一对应,插入的数据应与字段的数据类型相同

2.字符和日期类型应包含在引号中

3.必填项必须要有数据,非必填项可以不插入数据

先将一条数据新增到book表中,代码如下:

insert into book(book_name,book_price,book_author,book_num)
	values('三国',90,'三国',0)

 查询到book表中出现一条新增进去的信息,即为新增成功。

2.删除(delete)

语法:delete from 表名 where 条件     删除满足where条件的数据、

注:1.如果不使用where,将删除表中所有数据

2.delete语句不能删除某一列的值(可使用update)

3.使用delete语句仅删除符合where条件的行的数据,不删除表中其他行和表本身

如图:删除了名为三国的信息

 3.更改(update)

update 表名 set 列名称=新值 where 列名称=某值

更改id为4的书的价格为1000

update book set book_price=1000 where book_id=4;

再次查询book表数据如下:

 可以看到数据修改成功。

4.查询(select)

语法:SELECT * FROM 表名       查询全部数据信息

SELECT field1,field2,…… from 表名         查询部分字段信息

如下图为全查:

 按照条件查询:

select book_name,book_price from book where book_id=5;

注:select后面跟查询哪些列的数据,*号代表查询所有列,field指定列名。

二.多表链接查
 

1.内联查询

语法:

select  字段名  from 表1  inner join 表2   on 表1.字段 = 表2.字段

比如一个班级表和一个学生表,classid相同

select   student.sid,  student.sname,  student.classid, class.classid,  class.classname

from student   inner join class   on student.classid = class.classid

通过共同的属性classid,得到的是两个表的连接表

2.外联查询(left join)

语法:

select  字段名  from 表1   left join 表2   on 表1.字段 = 表2.字段

如果只想获得学生表的信息:

select   student.*  , class.*  from student  left join class on student.classid = class.classid
 

 结果如图,不存在的数据为null

3.外链查询(right join)

语法:

select  字段名  from 表1   right  join 表2   on 表1.字段 = 表2.字段

着重查看班级的信息:

select  student.*  , class.* from student  right join class   on student.classid = class.classid

这种查看的是班级的所有数据。

4.union

select  字段名  from 表1   left join 表2   on 表1.字段 = 表2.字段  union

select  字段名  from 表1   right  join 表2  ​​​​​​​on 表1.字段 = 表2.字段

 

 得到的总体的表。

注:union 是求两个查询的并集;

union 合并的是结果集,不区分来自于哪一张表,所以可以合并多张表查询出来的数据。

1.在每个子句中的排序是没有意义的,mysql在进行合并的时候会忽略掉。

2.可以对合并后的整表进行排序。

3.列名不一致时,会以第一张表的表头为准。


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值