mysql数据库的数据操作

上篇文章讲解了数据库的库表基本操作,库表建成之肯定需要进行数据表中的数据操作,进行填充我们空空如也的数据库了。

数据插入:insert into 表名(字段名1,字段名2)values(值一,值二)
如果数据为字符串型则需要使用双引号或单引号将数据包裹起来。
例:insert into taoche (id,tao,che)values (1,‘路虎’,‘极光’)

数据查询:select 字段1,字段2 from 表名
例:select id,tao,che from taoche
数据查询如果要查询表中的所有字段可以使用星号(*)来代替
例:select * from taoche
而且在查询语句中我们也可以使用一些子句让我们的查询更合理,更快速。
例如有:where 子句,limit子句等。下面再说。

where 子句:where子句相当于程序中的if条件,我们将查询的一些条件放入到where子句中即可让查询按照条件执行
例:select * from taoche where tao=‘路虎’
即可查询出tao为路虎的数据,如果没有这个条件,则查询返回值为空

limit子句:limit带有两个参数:第一个:偏移量(即从哪一行开始查询);第二个:最大查询数(即从偏移量开始往后查询多少行数据)
例:select * from taoche limit 5,10 -->即从第5行开始往后查询10行数据
单一使用limit效率较低,我们一般使用where加limit进行高数查询

like子句:一般使用与where子句当中更加精确的定位所要查询的数据
例:select * from taoche where tao like '%虎’ -->查询表中以虎结尾的数据
like一般与%进行一起使用,类似元字符。

update数据的更新:在我们需要修改或者更新mysql数据时,我们使用update进行数据操作,将我们要修改的数据进行修改操作。
update 表名 set 字段1=新值1,字段2=新值2 where id=id号
例:update taoche set tao=‘丰田’ che=‘霸道’ where id=1
即将taoche表中的id为1 的行的tao改为‘丰田’,che改为‘霸道’。update一般与where子句进行联合使用,这样才能精准的修改某一行的数据,如果不指定哪一行数据进行修改,则会将对应字段的所有数据全部修改。

delete删除数据:当我们插入数据有错误的时候,我们又不想对数据进行修改,那么我们可以将其删除,进行重新插入。
delete from 表名 where id=id号
例:delete from taoche where id=1
即删除taoche表中id号为1的数据,delete操作也需要联合where子句进行数据的删除,否则可能导致表中的数据被删除

union联合查询:该操作是将两个select查询进行联合返回的数据进行合集展示。union操作有两个操作:union all 展示查询出来的所有数据不去重;
union distinct 将查询到的数据去重后进行展示。
例:select * from taoche [where] union select * from yiche [where]
这样的查询需要保证taoche和yiche两个表的结构是相同的,where子句可以使用保证更加精确的查询。

order by 排序子句:在select查询出来的数据后,可以使用order by子句对查询出来的数据按照要求的字段进行排序。
select * from 表名 order by 字段名 [asc[desc]] -->中括号中是正序或者倒叙进行排序
例:select * from taoche order by tao DESC
即查询taoche中的所有字段,按照order by 倒序排列,如果不写DESC则默认按照正序排列。

group by 分组子句:对查询的数据根据一个或多个字段进行分组。
select * from 表名 group by 字段名
例:select tao,count(*) from taoche group by tao
即查询taoche表中的tao字段并按照tao字段的数据进行分组,输出的是tao字段各个数值的值和个数值的和。

以上操作是数据库数据的基本操作,插入,更新/修改,删除,查询,数据操作的子句等基本操作。但这只是数据库的单表数据操作,在现实使用中往往我们需要进行多个表的连接操作,那么我们就用到了以下的方法。

join 多表连接查询操作:
join操作可分为三种连接操作:1、inner join(内连接):获取两个表中的匹配字段关系记录;2、left join(左连接):获取左表的所有记录,即使右表没有合适的匹配;3、right join(右连接):与左连接相反,获取右表中的合适匹配。
inner join:

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

例:select a.tao,a.che,b.yi from taoche a inner join yiche b on a.tao=b.yi
此例是查询将taoche表取别名a,yiche表取别名b,内连接查询当a表中的tao字段数值等于b表中yi字段时的a表的tao,che两个字段数值和b表中yi字段数值。

left join,right join 两个连接方式是将上边inner join换成相应的方法,但是得到的查询结果却不一样,left join获取到是以左表为主的数据,right join获取到的是以右表为主的数据。具体的可以自己试试。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
以上三张图片即为join的三种连接图示。图片摘自[菜鸟教程]
(http://www.runoob.com/mysql/mysql-join.html)

此篇博文是数据库的基本数据操作。

猜你喜欢

转载自blog.csdn.net/anaerobic_me/article/details/88393347
今日推荐