MySQL基础命令(三)

MySQL中数据操纵语言(DML)主要用于操纵数据库中表的记录。本篇用来记录在数据库中对操纵语言的使用。

主要有以下关键字

insert:用于对表进行插入记录

delete:用于删除表中记录

updata:用于修改表中记录

select:用于查看表中记录

****************************************************************************************************************

(一)、向表中出入数据

举例:向stu表中插入多条记录

MySQL基础命令(三)

也可以插入的时候写上字段

MySQL基础命令(三)

(二)、删除表中的记录

mysql>delete from 表名称 where ……;

如果delete后边不跟where语句,则会删除表中所有内容。

举例:删除stu表中sid=002的数据记录。

MySQL基础命令(三)

(三)、更新记录

mysql>update 表名称 set  修改的新数据  where  条件;

举例:将sid=004的年龄改为18;

MySQL基础命令(三)

(四)、查询记录

(1)、查询用户信息

mysql>select user,host from mysql.user;

MySQL基础命令(三)

(2)、查询不重复的记录

mysql>select distinct 字段名称 from 表名称;

MySQL基础命令(三)

(3)、条件查询

(i)mysql>select *from 表名称 where 条件;(条件中可以取=  !=  >  <  >=  <=  and  or)

举例:查询表stu中年龄大于等于20岁的记录

MySQL基础命令(三)

举例:查询表stu中叫"ShangGuan"和25岁的记录

MySQL基础命令(三)

(ii)匹配查询

举例:查询表stu中名字中含有"in"字符的记录

MySQL基础命令(三)

查询表stu中年龄以2开头的记录

MySQL基础命令(三)

(iii)查询和排序、限制结合

排序用order by关键字,desc代表降序、asc代表升序。系统默认为升序。

举例:将表stu中的sid分别进行降序和升序排序

MySQL基础命令(三)

对于排好序后的记录,如果希望只显示一部分不是全部,可以使用limit来实现

(iv)mysql>select  ……  limit  记录的起始偏移量(默认为0)  显示的行数;

举例:对sid进行升序后的排序结果显示前两行结果

MySQL基础命令(三)

举例;对sid进行升序后的排序结果从第2行开始显示,显示2条记录。

MySQL基础命令(三)

(v)查询值

通过函数进行统计,常见的函数有:sum(字段名)、count(字段名)、avg(字段名)、max(字段名)、min(字段名)

举例:统计年龄出现的次数

MySQL基础命令(三)

或者可以自己定义个新的列名称

MySQL基础命令(三)

使用sum、avg、min函数统计

MySQL基础命令(三)

(vi)聚合

having:对聚合后的结果进行条件过滤

where:在聚合前对记录进行过滤

举例:找出表中年龄的都小于20的人

MySQL基础命令(三)

(vii)表连接

(1)、内连接:仅选出表中互相匹配的记录

(2)、外连接:其他不匹配的记录也会选出,分为左连接和右连接

举例:通过sid相同左连接stu和score表

MySQL基础命令(三)

举例:找出数学成绩大于90的记录。select后面跟的是条件中使用的表名称,如果给表起了别名,则用别名。

MySQL基础命令(三)

(viii)联合

union all:允许重复

union:不允许重复,将union all 后的结果进行distinct.