mysql 入门基础(3)—数据库增删查改

来源:互联网 发布:4y4淘宝店铺装修安全吗 编辑:程序博客网 时间:2024/05/20 09:07

一增加[插入]数据

1.单行插入

Insert into 表名(字段1,字段2, ……) values (‘v1’,’v2’,……)

如果仅仅有表名则依次插入所有字段


2.多行插入

Insert into 插入表(字段1,字段2, ……)子查询


二修改[更新]数据

Update 表名set 字段1=’value’, 字段2=’value’, …… [where 条件]


三删除数据

Delete from 表名[where 条件]


四查询数据

先放出数据库关系图,方便阅读理解。[tx:用命令行的方式创建数据库太累了]


dos下不支持UTF8的显示,所以没办法只能改用数据库管理工具


1)简单查询

1.select子句from 选择表

Select <字段> from <表>


[别名列]  <目标列> as<别名>:as可以省略


[取消重复行] select distinct <目标列>:大多数是在投影的条件下产生重复元素

2.where选择行

Select <字段> from<表> where <条件>


行选择中常用的运算符:

---------------------------------------------------------------

比    较 |  =, >, <, >=, <=, <> , !=

---------------------------------------------------------------

范    围 |  between and, not between and

---------------------------------------------------------------

集    合 |  in, not in

---------------------------------------------------------------

匹配模式 |  like, not like

---------------------------------------------------------------

空    值 |  is null, is not null

---------------------------------------------------------------

逻辑运算 |  not, and ,or

--------------------------------------------------------------

         @@比较运算

         <>和!=都代表不等于

        

         between and代表在什么范围内/notbetween and相反

        

         @@逻辑运算

         not 取反(非)  |  and 并且(与)  |  or 或者(或)

        

         @@空值运算

         空值null是一个特殊的数据,判断时不能用=和<>。

         is null   |  isnot null

         

        @@集合运算

         <表达式> [not]in <集合>  —元素间用逗号隔开

        

        @@字符串匹配运算

         [not] like <匹配的字符串>

         通配符:%  ++++++++++> 代表任意的长度的字符串

                         _  ++++++++++> 代表任意的单个字符

         

         @@orderby排序

         orderby 列名1[asc|desc], 列名2[asc|desc],……

         asc:升序  |  desc:降序

         2)多表查询

                   1.连接查询

                            Ø  等值连接

                                      

                            Ø  非等值连接

                            

                            Ø  无条件连接[笛卡儿积运算]

                            

                            Ø  内连接

                             用内连接可以取代上面的所有连接操作。

                                     innerjoin <连接表> on 条件    [inner可以省略]

                                    

                   2.自身连接

                            顾名思义就是自己和自己连接

                  

                   3.外连接

                           Ø  左外连接[left out…… join……]

                           左向外联接的结果集包括leftouter子句中指定的左表的所有行,而不仅仅是联接列所匹配的行。如果左表的某行在右表中没有匹配行,则在相关联的结果集行中

                   右表的所有选择列表列均为空值。

                           

                           Ø  右外连接[rightout …… join …….]

                           右向外联接是左向外联接的反向联接。将返回右表的所有行。

                           Ø  全外连接[fullouter join]

                           完整外部联接返回左表和右表中的所有行。

         3)聚合分组

                   聚合函数对一组值计算后返回单个值

                  1.聚合函数

                  # count 统计列中的个数

                

                  # avg 求某列的平均值

                

                  # sum 求某列的总和

                

                  # min 求列中的最小值 max 求列中的最大值

                 

           2.分组统计

                 # group by 分组

                       筛选出选课的学生:

                      

                 #having 统计筛选 [需要和group by一起使用 ]

                

           3.子查询

                 #in运算符

                

                 #使用比较运算符

                 可以得比较运算符有:>、<、=、>=、<=、<>等

                

                 # 使用any 或者all运算符

                 any表示至少有一个  |  all表示所有或者每个

                 any和all使用时必须使用比较运算符

                 比如:  >any  |  大于子查询中某一个值[就成立]

                                >all   |  大于子查询中所有值[才成立]

                               =any  |  等于子查询中某一个值[就可以]相当于in

                                =all   |  等于子查询中所有值[就可以]无意义

                             <>any  |  不等于子查询中某一个值[就可以]

                               <>all  |  不等于子查询中任何值[就可以]

                 

                   

1 0