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列表中的值:1、2、3任意一个

Like ‘张_’

Like ‘张%’

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

例子1:张三丰 like ‘张%’

例子2:张三 like ‘张_’

is null、is 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 平均值、max、min

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

分组 group by :

排序:order by 列名 asc | desc;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值