mysql最后复习

     

枚举类型enum和set都是字符串对象

enum(‘1’,’2’,’0’) 用数字下标来表示各个对象

  

set(‘1’,’2’,’3’,’4’)用而进行二进制方式来表示各个对象顺序

  0001 0010 0100 1000      0101

   ‘1,2,3’

   

主键 :可以选择一个字段或多个字段

      字段信息变化较少,和表中其他字段的关联少;

      Primary key()

外键:参照完整性约束

Foreign key(字段)references 表名(字段)

注意存储引擎MYISAM、 innodb

Myisam tb3  tb5,声明了外键不起作用

     Insert 和delete

Innodb  tb4  tb8  支持外键

     Insert 和 delete

 

索引:index

  例如: 姓名 年龄 单位  工资  

      姓名

      年龄

      姓名,年龄,单位  (推荐)

     注意:

缩短搜索的时间;

会单独保存索引文件;

Insert等 会有影响,不建议小的数据表创建索引;

使用索引一次只允许一个索引起作用;

    

 1、Select语句

语法顺序:select 表达式|字段名  from 表 where 条件表达式|子查询 group by 字段名列表(支持排序) having  条件表达式   order  by 字段列表 limit

执行顺序:from   where  select  group by  having order by  limit

 

注意:select 信息有别名;

 

2、多表的使用

1)全连接

  select  id1,id8  from tb1,tb2 where  …;

   注意:

相当于从(tb1的行数*tb2的行数产生的)结果中搜索;

      Where子句中指定的表达式使用了“=”叫做等值连接;

   2)内连接 inner join

Select  tb1.id1,id7 from tb1 join  tb2  on 表和表连接的条件

Where  条件表达式;

 

注意:

l  等同于有条件的全连接

l  可用于多个表(超过两张表)的连接

l  显示结果包括所有表中的信息

   3)外连接 outer join

     Select  tb1.id1,id8 from tb1 left outer join tb2

     注意:

      用于两张表;

      只保留一张表的全部记录,另一张表保留满足条件的记录,不满足的用null来填充

      cross join、straight join 等同于join;

      自然连接适合于连接条件只有一个字段;

 

 

 

 

 

 4)子查询

     注意:

步骤 :

     分类:in(select …)、比较运算符(select…)只执行一次子查询语句

           exists(select …) 执行次数和外部选择表的记录行数保持一致

           select 、where、 group by、order by

           from 必须给子查询的结果起别名

 3、视图

   相当于用一种格式显示数据表中的记录;

   只保存了创建视图的语句;

   并不产生新表;

create viewview_name[(   )]

as select语句;

 

 

 

 

 

 

 

  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值