A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王彪123 初级黑马   /  2018-12-5 14:01  /  1280 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

mysql  约束
1.排序:
select * from 表名 order by 字段名1 desc/asc,字段名2 desc/asc ;
注:asc(升序,默认的),desc(降序)。如果有多个排序条件,优先判断前面的排序。
2.聚合函数:(进行纵向的计算)
        1.count:计算个数
        2.max:最大值
        3.min:最小值
        4.avg:平均值
        5.sum:求和
语法格式:select 聚合函数(列名) from 表名;
注:null不参与计算,需要用ifnull函数赋值
3.分组:
        1.语法:select 字段1,字段2...from 表名 group by 分组字段【having 条件】;
        2.where和having的区别:
        where字句:先过滤再分组,where之后不可以使用聚合函数
        having字句:先分组再过滤,where之后可以使用聚合函数
4.分页查询:
        1.语法:SELECT * 字段列表 [as 别名] FROM 表名 [WHERE 子句] [GROUP BY 子句][HAVING 子句][ORDER BY 子句][LIMIT 子句];
        简写语法:select * from 表名 limit 起始索引,每页查询条数;
        2.公式:开始索引=(当前页码-1)*每页显示的条数;
5.数据库约束:
l主键约束         primary key:非空且唯一
语法:字段名 字段类型 primary key
添加主键:alter table 表名 add primary key(字段名)
          或者:alter table 表名 modify 字段名 字段类型 primary key
删除主键:alter table 表名 drop primary key
自增: 直接在主键后面加上auto_increment(字段类型必须是整数)
删除自增:alter table 表名 modify 字段名 字段类型
添加自增:alter table 表名 modify 字段名 字段类型 auto_increment
注意:delete和truncate删除数据后,自增没有影响
l唯一约束         unique:一列数据不能有重复,注意null没有值,不存在重复的问题
语法:字段名 字段类型 unique
添加唯一约束:alter table 表名 modify 字段名 字段类型 unique
删除唯一约束:alter table 表名 drop index 字段名
l非空约束                not null:一列数据不能出现null
语法:字段名 字段类型 not null
添加非空约束:alter table 表名 modify 字段名 字段类型 not null
删除非空约束:alter table 表名 modify 字段名 字段类型
l外键约束         foreign key:让表于表产生关系,从而保证数据的正确性
语法:[CONSTRAINT] [外键约束名称] FOREIGN KEY(外键字段名) REFERENCES 主表名(主键字段名)
添加外键约束:ALTER TABLE 从表 ADD [CONSTRAINT] [外键约束名称] FOREIGN KEY (外键字段名) REFERENCES 主表名(主键字段名);
删除外键:ALTER TABLE 从表名 drop foreign key 外键名称;
l级联操作
语法:ALTER TABLE 表名 ADD CONSTRAINT 外键名称 FOREIGN KEY (外键字段名称) REFERENCES 主表名称(主表列名称) ON UPDATE CASCADE /ON DELETE CASCADE  ;
1. 级联更新:ON UPDATE CASCADE
2. 级联删除:ON DELETE CASCADE

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马