zoukankan      html  css  js  c++  java
  • 17mysql2█▓

    一、数据库的查询用法

    1、 数据表记录的查询: 运算符、虑重、列运算、别名、排序、聚合函数、分组

    1.1数据准备

    create table exam(
      id int primary key auto_increment,
      name varchar(20) not null,
      chinese double,
      math double,
      english double
    );
    insert into exam values(null,'关羽',85,76,60);
    insert into exam values(null,'张飞',70,75,70);
    insert into exam values(null,'赵云',90,65,95);
    insert into exam values(null,'刘备',97,50,50);
    insert into exam values(null,'曹操',90,89,80);
    insert into exam values(null,'司马懿',90,67,65);
    insert into exam values(null,'刘阿斗');

    1.2 数据查询

    文件结构:
    名字:    
    语法:
    █▓     查询所有信息
           select * from 表名
    █▓    查询指定列的信息
            select 列名,列名... from 表名;
    █▓     条件查询
            select * from表名 where 条件
     
    █▓    运算符
            

     

     

    比较运算符

    >  <<=  >=  =<>

    大于、小于、大于/小于等于、不等于

    between 1 and 10

    显示某一区间的值:1—10之间

    in(1,2,3)

    显示在in列表中的值:123任意一个

    Like ‘_’

    Like ‘%’

    模糊查询:%表示零或任意多个字符,_表示一个字符.

    例子1:张三丰      like ‘%’

    例子2:张三        like ‘_’

    is nullis not null

    是否为空

     

    逻辑运算符

    and&&

    多个条件同时成立

    or||

    多个条件任意一个成立

    not!

    不成立,例如:where not(age>18)


    █▓       虑重
            查询排重:select distinct 列名 from 表名 where 条件;
     
    █▓       别名以及列运算
            select 列名 as 别名, 列名 as 别名 ... from 表名 where 条件;
     
    █▓     order by 排序 
            select * from 表名 order by 列名 asc desc;
    █▓     关于null 问题 
            通过 ifnull(values,default)解决 
     
    █▓    SQL中聚合 / 聚集函数
            聚集函数:多个数据进行运算,运算出一个结果。例如,求和,平均值,最大值,最小值。
            语法:select avg(列名) from 表名;都是位于 select 后
     
    █▓  █▓  █▓      group by 分组查询
                select  ... from ... group by 列名;
     
     
    █▓  █▓  █▓ █▓  █▓  █▓ █▓  █▓  █▓ █▓  █▓ 重点总结 select 语句执行顺序   █▓  █▓ █▓  █▓  █▓ █▓  █▓  █▓ █▓  █▓  █▓ 
     
    select …要显示的内容.. from …表名.. where 条件…. group by …分组的列 …having …分组后的条件… order by …排序
     
    select …4… from …1.. where …2.. group by ..3…having ..5… order by ...6.
     
     

    二、数据备份和恢复

    █▓  █▓  █▓      1.备份
        

    语法:mysqldump -u 用户名 -p 数据库名 > 磁盘SQL文件路径

     █▓  █▓ █▓        2.恢复

            恢复方式1:
                    1.创建数据库
                                备份的时候,没有备份创建数据库的语句,当需要恢复某个具体数据的时候需要手动创建
                      2. 导入数据
                        source D://mydb.sql
              恢复方式2:
                    1.创建数据库
                     2.语法:mysql -u 用户名 -p 导入库名 < 硬盘SQL文件绝对路径
                    

    三、外键约束

     

    添加外键需要注意的问题

    l  如果从表要去添加一个外键约束。要求主表被引用的字段是主键或者唯一的。通常使用主键。

    l  如果要删除主表中的数据。要求在从表中这个数据,要没有被引用,才可以去删除。

    l  如果要向从表中去添加数据。要求在主表中,要有对应的数据。才可以去添加。

    l  如果要删除表。要先删除从表。然后去删除主表。

    l  新建表的时候。需要先去创建主表,然后去创建从表。

     

    作用:保持数据的完整性,和有效性。

     
     
    1.添加外键约束的语法
                创建表之后添加外键
    █▓  █▓        alter table 从表名称    add foreign key (外键列的名称)references 主表名称(主键
     
                    创建表的时候添加外键

    /*创建部门表*/

    create table dept(

           id int primary key auto_increment,

           name varchar(20)

    );

    /*创建员工表*/

    create table employee(

           id int primary key auto_increment,

           name varchar(20),

           age int ,

           salary double,

           dept_id int,

           foreign key (dept_id) references dept(id)

    );

     
    总结:

    库的操作

    创建库:create database 库名 character set 编码表;

    删除库:drop database 库名;

    查询库:show databases;

    查看库的编码表:show create database 库名;

    更改库:use 库名;

    查看当前正在使用的库:select database();

    修改库的编码表:alter database 库名 character set 编码表;

     

    表本身的操作

    创建表:create table 表名( 列名 列的类型(长度)  类的约束 ,列名 列的类型(长度)  类的约束...... );

    删除表:drop table 表名;

    查询表:show tables;

    查看表的结构:desc 表名;

    查看表的编码表:show create table 表名;

    修改表:alter table 表名 // 列名 列的类型(长度) 约束;

    add/drop/change/modify

    修改表名:rename table 旧表名 to 新表名;

     

     

    表中数据的操作

    增:insert into 表名(列名) values();

    删:delete from 表名 where 条件;  truncate

    改:update 表名 set 列名= ,列名= where 条件

    查:select 列名 as 别名 ,列名 as 别名… from 表名  where 条件 group by 列名 having 条件 order by 排序.

    查询排重:select distinct 列名 from 表名 where 条件;

     

     

    聚合函数:

    count 统计个数、sum求和、avg 平均值、maxmin

    在使用这几个函数进行数据的统计分析时,有时需要对数据表中的列进行数据的分组处理。group by

     

    分组 group by :

     

     

    排序:order  by 列名  asc | desc

     
     
     
     
     
     
     
     
     

    <wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">





  • 相关阅读:
    makefile
    xcode
    centos
    debug
    服务器开发
    socket
    xcode
    调用cpp库更基本
    nodejs cpp动态库
    html5图片裁剪法--
  • 原文地址:https://www.cnblogs.com/zhengyuan/p/9443212.html
Copyright © 2011-2022 走看看