栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

数据库03

数据库03

准备:

先下载(以下相关操作)要用到的外部的数据库数据的(.psc备份压缩文件):

     还在审核中,过了会及时补上

以下相关操作,可在mysql软件中完成,也可以在Navicat  for mysql软件中的(命令列介面)完成。

打开mysql软件,开启mysql服务器;

再在Navicat  for mysql软件中连接...

上面这些相关具体操作可点击以下链接查看:数据库02https://blog.csdn.net/LVDYGFK/article/details/120587480

备份还原

一、备份还原外部的数据库数据(外部数据)到某一数据库中

01、右击(备份),选择(还原备份)

02、选择要备份还原的外部的数据库数据的(.psc备份压缩文件)

 

03、再点击(开始)

04、即成功将要备份还原的外部的数据库数据(外部数据)备份还原到某一数据库中

二、创建当前数据库备份,可点击(新建备份),将当前数据库中的数据存储到.psc文件里。

三、数据库之间有选择的进行数据传输(在Navicat  for mysql软中)

01、选择要传输的表

02、再右击(源)数据库名,选择(数据传输)

03、再点击(开始)

04、然后先点击(确定),再点击(开始)

即图中(源)数据库:gradem和(目标)数据库:cwgl之间成功进行有选择的数据传输

四、在Navicat  for mysql软件中,复制表

右击某一表的表名,选择(复制表),

即可在当前数据库中复制一个与原某一表记录数据一样的名称为(原某一表名_copy)的表

以下操作,可以加limit n/limit x,y;  以限制所要操作(复制、修改、查询)的数据记录条数

复制表

01、将某表的全部数据复制到另一个表中

        create  table  新表名   select  *  from  表名;

例如,复制student表的全部数据到stu1表中

create  table  stu1  select  *  from  student;

mysql> use  gradem;

Database changed

mysql> create table stul select * from student;

Query OK, 471 rows affected (0.03 sec)

Records: 471  Duplicates: 0  Warnings: 0

*号代表所有的字段

 

02、将某表的复制前n条记录{用:limit(限制数[即:n])}到另一个表中

create  table  新表名   select  *  from  表名  limit  n;

mysql> create table stu2

    -> select *

    -> from student limit 19;

Query OK, 19 rows affected

Records: 19  Duplicates: 0  Warnings: 0

03、有条件的复制(有选择复制)

create  table  新表名   select  要复制的字段名1,要复制的字段名2,要复制的字段名3  from  表名  ;

mysql> create table stu3

    -> select sno,sname,ssex

    -> from student ;

Query OK, 190rows affected

 

Records: 190  Duplicates: 0  Warnings: 0

 

04、有选择的复制前n条的记录

create  table  新表名   select  要复制的字段名1,要复制的字段名2,要复制的字段名3  from  表名  limit  n;

mysql> create table stu3

    -> select sno,sname,ssex

    -> from student  limit 19; 

Query OK, 19 rows affected

Records: 19  Duplicates: 0  Warnings: 0

05、复制前n的女学生记录(用where)

Use gradem;

Create  table  stu6  select  *  from  student 

where  ssex = ‘女'  limit  20;

修改表中的数据记录

01、修改表中的数据记录

update  stu1

 set  ssex='女'  // set修改为

where  sname='王洪利'; //where 条件表达式;一般条件应明确及为明显区别其他属性的

 

02、修改表中某个属性的全部数据记录(用where)

UPDATE sc1

SET degree=90

WHERe degree<90;

数据记录的删除

01、有选择的删除数据记录

delete from 表名  where 条件表达式;

delete from stu1

where sname='王洪利';

 

查询表中的数据记录

01、查询某表的所有数据记录

select * from  表名;

mysql> use gradem;

Database changed

mysql> select * from student;

02、有选择的查询前n条的记录

 select  要查询的字段名1,要查询的字段名2,要查询的字段名3  from  表名  limit  n;

select  sno,sname,ssex,sbirthday   from  student  limit 19;

 

03、Limit   5,20

 表示从第5条开始,查后20条

select  要查询的字段名1,要查询的字段名2,要查询的字段名3  from  表名  limit  x,y;

select  sno,sname,ssex,sbirthday   from  student  limit 5,19;

04、不重复查询

防止有多个重复的数据(用distinct)

select   distinct  要查询的字段名  from 表名  ;

select   distinct  sno

from  sc  ;

 而用select  *  from  sc  limit 20;

会有多个重复的数据记录。

05、显示中文栏名:字段名    AS   字段的中文名/字段名  字段的中文名

select   字段名    AS   字段的中文名,字段名    AS   字段的中文名,字段名    AS   字段的中文名

from  student;

use  gradem;

select   sno   学号,sname   as  名字,ssex   性别,sbirthday  出生日期

from  student;

06、查询成绩为60~90的数据记录(用where)

select  *  from  sc1   where  degree<=90  and  degree>=60;

/select  *  from  sc1   where  degree  between  60  and  90; //从60到90的

07、有选择的查询数据记录

 select  * from  表名  where  要查询的字段名  in(指定的第一个数据记录,指定的第一个数据记录,...指定的第n个数据记录) ; //查询某表中 为指定数据记录 的相关所有数据记录

/ select  * from  表名  where  要查询的字段名  指定的第一个数据记录 or  指定的第二个数据记录or ...指定的第n个数据记录) ;

select * from  student  where cid in(3,5,7);

select * from  student  where cid 3 or 5 or 7;

08、模糊查询

select  *  from 表名 where  字段名  like  '值';

这里的值为模糊的,需用到通配符(%,-)

% 能匹配0或多个字符,对字符长度没有限制

-  只能匹配单个字符   常被用来限制值的字符长度

09、排序查询

select  *  from  表名  order  by  要排序查询的字段名  desc/asc;

desc 降序排序(从高到低)/asc  升序排序(从低到高)

若排序方式未写,则将使用默认排序方式:asc  升序排序(从低到高)

10、多条件查询

select  *  from  表名  where  条件表达式一  and  条件表达式二;

select * from  student where ssex='男' and classno='20070101';

11、查询所有学生的学号、姓名和年龄

(年龄=现在日期-出生日期。

出生日期值是:sbirthday

现在的日期是:curdate()

 年龄=year(curdate())-year(sbirthday) )


use  gradem;
select   sno   学号 ,  sname   姓名,  ssex  性别,year(curdate())-year(sbirthday)    年龄
from student;

统计

01、统计总分和平均分

(sum  ---合计       avg   ---平均
    分数的字段是:degree)

select   sum(degree)   总分,avg(degree) 平均分 from 表名;

use  greadm;
select   sum(degree)   总分,avg(degree) 平均分
from sc;

02、有选择的统计总分和平均分

select   sum(degree)   总分,avg(degree)  平均分 from  sc  where  条件表达式';

03、统计最高分和最低分 。

(max   ---最大
     min  ---最小

分数的字段是:degree)

 select  max(degree)   最高分,min(degree) 最低分  from  表名;

use  greadm;
 select  max(degree)   最高分,min(degree) 最低分
from sc;
 

   count ---  统计: count(字段名) 即用某一字段进行统计

04、select max(degree)   最高分, count(sno)   班级人数   from  sc;

如果把count(sno) 改成  sno,

select max(degree)   最高分, sno   班级人数

from  sc;

则结果会出错。

05、统计表中的人数

(用某一字段进行统计)


select  count(字段名)  人数  from 表名;

use  gradem;
select  count(sno)  人数
from student;

06、有条件的统计

select  count(字段名)  班级人数   from 表名 where 条件表达式;

select  count(sno)  班级人数

from student where classno='20070101';

select  count(sno)  班级人数

from  student  where  classno='20070101' and ssex='男';

07、有条件统计表中的人数(用模糊查询)

select  count(字段名)  人数  from 表名   where 字段名  like '值';

use  gradem;
select  count(Sno)  人数
from student
 where sno  like '2007%';


08、按照“班级”进行分组统计各班人数

(group by  classno  ---按不同班级统计

人数 )

use  gradem;

select  classno   班级编号,  count(sno)  班级人数

from student

group by classno;

09、分别统计各“班级”的男生(1)女生(0)人数

(加上一个性别ssex字段)

select  ssex  性别,classno   班级编号,  count(sno)  班级人数

from student

group by ssex,classno;

10、分别统计各“班级”的男生(1)女生(0)人数。

使用:having   指定(筛选)汇总 

select   ssex  性别,classno   班级编号,  count(sno)  班级人数

from student

group by ssex,classno  having  ssex='男';

也可以是:

select   ssex  性别,classno   班级编号, count(sno)  班级人数

from student

where  ssex='男'  group by ssex,classno ;

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/336027.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号