mysql第二个星期学习内容

第二个星期的学习内容有:

    数据操作:

        查询所有数据:select * from 表名

        插入数据:

        全列插入:insert into 表名 values(...)

        缺省插入:insert into 表名(列1,...) values(值1,...)

        同时插入多条数据:insert into 表名 values(...),(...)...;

        主键列是自动增长,但是在全列插入时需要占位,通常使用0,插入成功后以实际数据为准

        修改数据:

        update 表名 set 列1=值1,... where 条件

        删除数据:

        delete from 表名 where 条件

        数据备份:

        sudo -s;   cd /var/lib/mysql;  Mysqldump –        uroot –p 数据库名 > ~/Desktop/备份文件.sql;

        消除重复行:

        select distinct 字段名 from 表名;

        条件筛选:

        select * from 表名 where 条件;

        举例:select * from 表名 where id<=4;

        模糊查询;

        select * from 表名 where 字段名 like '黄_';(_代表一个字符,*代表所有字符,%代表多个字符)

        范围查询:

        select * from students where id in(1,3,8);   

        select * from students where id between 3 and 8;

        空判断:

        select * from students where hometown is null;

        五个聚合函数:

        max() min() count() sum()  avg()

        分组查询:

        select 列1,列2,聚合... from 表名 group by 列1,列2,列3...

        举例:select gender as 性别,count(*) from students group by gender;(显示男女学生总数)

        对结果集的数据筛选:

        select 列1,列2,聚合... from 表名group by 列1,列2,列3...having 列1,...聚合...

        举例:select gender as 性别,count(*)from students group by gender having gender=1;

        where与having的不同:where是对原始数据集的筛选,而having是对结果集进行筛选。

        查询排序:

        select * from 表名order by 列1 asc|desc,列2 asc|desc,...(desc是降序,asc是升序)

        举例:select * from students where gender=1 order by id desc;

        部分查询:

        select * from 表名 limit start,count

        对查询结果进行分页操作:

        select * from student where isdelete=0 limit (n-1)*m,m

        字段约束之外键:

        在表中添加外键:

         alter table 子表的数据表名add foreign key(子表的外键名称) references 父表的数据表名称(父表的主键名称);

        或者在创建表时添加外键:

        foreign key(外键名) references 父表名(父表中要链接的字段名),

        建好外键之后可以进行连接查询:

        inner join 父表名 on 字表名.外键名=父表名.链接字段名

你可能感兴趣的:(mysql第二个星期学习内容)