MySQL_3

1. DQL语句其他语法

分组查询:group by 
    select 字段列表 from 表名 group by 分组字段;
    注意:1.查询的字段列表中可以使用分组字段
         2.group by之后不能使用聚合函数
    带条件分组查询法:  
        select 字段列表 from 表名 where 条件 group by 分组字段;
​
筛选查询:having
    select * from 表名 where 条件 group by 分组字段 having 条件;
    注意:having可以使用聚合函数,group by后不能使用聚合函数
    
having 与 where 的区别
    where:1.对查询结果进行分组前,将不符合 where 条件的行去掉,即先过滤再分组
        2.where 后面不可以使用聚合函数
    having:1.having子句的作用是筛选满足条件的组,即先分组再过滤。
        2.having 后面可以使用聚合函数
        
分页查询:limit
    select * from 表名  limit 起始行数,每页显示条数;    
        起始行数:从0开始算的,    
        起始行数 = (当前页码-1)*每页显示的条数
        前提条件:每页显示条数, 

2.数据库的备份和还原

1.图形界面化工具
    备份:选中库名,右键----->BACKUP/Export 备份导出---->选中Sql脚本,存储到本地某个磁盘上
                ----->StructureAndData:表的结构和数据都需要备份
    还原:先在SqlYog将myee_2203删除了,新建库右键---->Import 导入
                ---->选中执行execute sql 脚本

2.dos命令框
    备份:以管理员身份进入dos,不需要登录mysql
        保存到指定路径上:mysqldump -uroot -p你的密码  库名 >  磁盘上的路径xx\xx\xx.sql
    还原: 进入dos控制台,登录mysql,先将库删除,新建一个库
        使用这个库 use库名;
            加载指定路径的sql脚本
              source 备份的sql脚本路径(D:\EE_2203\day9\code\mysql_01.sql)

3.数据库的约束

对表中的数据进行限制,保证数据的正确性、有效性和完整性
1.默认约束default:字段没有插入数据,默认就是null,空值(没有意义)
    通过sql语句删除默认约束
        alter table 表名 modify 字段名称 字段类型 ;
    通过sql语句添加默认约束
        alter table 表名 modify 字段名称 字段类型 default 值;
        
2.非空约束not null:约束的字段不能为null
    创建表时加入非空约束
        create table 表名(
            id int,
            字段名 字段类型 not null
        );
    通过sql语句删除非空约束
        alter table 表名 modify 字段名称 字段类型 ;
    通过sql语句添加非空约束
        alter table 表名 modify 字段名称 字段类型 not null;
        
3.唯一约束unique:约束字段不能出现重复的值
    创建表时加入唯一约束
        create table 表名(
            id int,
            字段名 字段类型 unique
        );
    通过sql语句删除唯一约束
        alter table 表名 modify 字段名称 字段类型 ;
         修改表的字段类型
    通过sql语句添加唯一约束       
        alter table 表名 modify 字段名称 字段类型 unique ;
    
4.主键约束primary key:非空且唯一,一般和auto_increment(自增长约束)通用
    创建表时设置在非业务字段上,一般为id
        create table 表名(
            id int primary key auto_increment,
            字段名 字段类型
        );
    通过sql语句删除主键约束
        alter table 表名 drop primary key;
    通过sql语句添加主键约束
        alter table 表名 add primary key(id);
    加入自增长约束之后,不需要给id赋值了,自己自增
    自增长约束可以自己插入新的id,然后在之前id上继续自增
    mysql可以获取最后一次自增长主键的id值
        select last_insert_id();
​
5.外键约束foreign key:保证一个或两个表之间的参照完整性,通过外键约束将两个表关联
主表:对于两个具有关联关系的表而言,相关联字段中的主键所在的那个表即是主表
从表:对于两个具有关联关系的表而言,相关联字段中的外键所在的那个表即是从表
    创建主表
        create table 主表名(
            id int primary key auto_increment,
            字段名1 字段类型1,
            字段名2 字段类型2
        );
    创建从表并添加外键约束,让它的主键作为外键关联到的主表的主键(如id)
    外键约束名:主表名_从表名_fk
        create table 从表名(
            id int primary key auto_increment,
            字段名1 字段类型1,
            字段名2 字段类型2,
            外键字段名 外键字段类型,
            constraint 外键约束名 foreign key (外键字段名) references 主表(主键字段名)   
        );
        
    通过sql语句删除外键约束
        alter table 从表 drop foreign key 外键名;
    通过sql语句添加外键约束
        alter table 从表 add constraint 外键约束名 foreign key (外键字段名) references 主表(主键字段名);
    已有表加入外键约束:需要先修改/删除从表数据,然后修改/删除主表数据
​

1

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值