20170306-java

FOREIGN KEY(外键约束):保持数据一致性,完整性。实现一对一或一对多关系。
    要求:1、父表和子表必须使用相同的存储引擎,而且禁止使用临时表。
               2、数据表的存储引擎只能为InnoDB。
               3、外键列和参照列必须具有相似的数据类型。其中数字的长度或是否有符号位等属性必须相同;而字符长度可以不同。

               4、外键列和参照列必须创建索引,如果外键列不存在索引的话,MySql将自动创建索引

                            

                           


约束分为表级约束和列级约束:
    表级约束:可同时对两个或两个以上的字段使用
    列级约束:只能对一个字段使用


约束按照功能分:
    NOT NULL(非空约束)
    PRIMARY KEY(主键约束)
    UNIQUE KEY(唯一约束)
    DEFAULT KEY(默认约束)
    FOREIGN KEY(外键约束)

    1、插入记录:
              INSERT [INTO] tbl_name [(col_name,....)] {VALUES | VALUE} ({expr | DEFAULT},...),(...),...(可以一次性写入多条记录)

                           

                           

                           
              INSERT [INTO] tbl_name SET col_name={exp | DEFAULT},...(可以使用子查询,只能一次插一条记录)

                          

                          
              INSERT [INTO] tbl_name [(col_name,...)] SELECT ...(将查询结果插入到指定数据表)

                          


2、更新记录:
              单表更新:UPDATE [LOW_PRIORITY] [IGNORE] table_reference SET col_name1={expr1 | DEFAULT} [,col_name2 |                                   DEFAULT]... [WHERE where_condition] (若不加WHERE,则所有数据全部更新)

                          

                          

                          

 3、删除记录:
              单表删除:DELETE FROM tbl_name [WHERE where_condition]

                          


 4、查找记录:
              SELECT select_expr [,select_expr ....]
              [
                  FROM table_references
                  [WHERE where_condition]
                  [GRDEP BY {col_name | expr | position} [ASC | DESC],...]
                  [HAVING where_condtion]
                  [ORDER BY {col_name | expr | position} [ASC | DESC],...
                  [LIMIT {[offset,] row_count | row_count OFFSET offset}]
              ]

              查询表达式:每一个表达式表示想要的一列,必须有至少一个。
                                   多个列之间以英文分隔。
                                   星号(*)表示所有列,table_name.*可以表示命名表的所有列。
                                   查询表达式可以使用[AS] alias_name为其赋予别名。
                                   别名可用于GROUP BY,ORDRE BY或HAVING子句。 

                                   SELECT语句中字段出现的顺序将影响结果集中字段的顺序;

                                   SELECT中的别名也将影响结果集中字段的名称
                                   查询表达式的别名中AS可以写也可以不写,但一般要将AS写上

                                      

                                   

                               

                                   WHERE 条件表达式:对记录进行过滤,如果没有指定WHERE子句,则显示所有记录。
                                                                            在WHERE表达式中,可以使用MySql支持的函数或运算符。     

                                   GROUP BY(查询结果分组):[GROUP BY {col_name | position} [ASC | DESC],...]
                                                                                        ASC:升序(默认)    DESC:降序

                         

                                    HAVING(分组条件):[HAVING where_condition]

                         

                                    ORDER BY(对查询结构进行排序):[ORDER BY {col_name | expr | position} [ASC | DESC],...]

                                    LIMIT(限制查询结果返回的数量):[LIMIT {[offset,] row_count | row_count OFFSET offset}]        

                         

                                   
         

                         

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值