day 41 数据库初学习

前情提要:  

   数据库初识别

    一:数据库的介绍

https://github.com/Endless-Clould/homework/blob/master/student_system.sql  

数据再这

好处:

  • 持久化存储

  • 读写速度极高

  • 保证数据的有效性

  • 对程序支持性非常好,容易扩展

 

数据库就是一个由一批分门别类的数据构成的有序集合,这个集合通常被保存为一个或多个彼此相关的文件,

我们可以理解为,数据库就是一种特殊的文件,其中存储着需要的数据。

    二:数据库的类型

        1.1 关系型数据库(RDBMS)

关系型数据库(RDBMS)

RDBMS即关系数据库管理系统(Relational Database Management System)

oracle、mysql、ms sql server、sqlite

 

关系型数据库:数据库里面的数据全部存在数据表中,而这些表在存储的过程中,各自之间有内在联系。因为这种联系,我们称这样的数据库叫"关系型数据库"

 

优点:

容易理解,二维表结构

使用方便,通用的SQL语言使得操作关系型数据库非常方便,便于复杂的查询

支持事务等复杂的数据操作功能

      1.2 非关系型数据库(nosql)

NoSQL(NoSQL = Not Only SQL ),意即"不仅仅是SQL"。

MongoDB,Redis

优点:

数据之间无关系,容扩展

结构简单,具有非常高的读写性能,在大数据量下,同样表现优秀

无需事先建立字段,随时可以存储自定义的数据格式

 

    二.1:关系型数据库的核心元素

    三:mysql 的基本介绍

MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 旗下公司。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。

MySQL 软件采用了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般网站软件的开发都选择 MySQL 作为网站数据库。

 

MySQL是一种客户端/服务器端(C/S)的软件,我们要学会如何如何安装服务器端的MySQL,还需要学会如何利用客户端工具操作MySQL数据,常用的客服端工具有: 命令行、pycharm-database、Navicat等

 

官网:https://www.mysql.com/

下载:https://dev.mysql.com/downloads/windows

services.msc

 

    四:常用的入门操作命令

mysql -uroot -p密码 命令行链接 mysql

status; 查看数据状态信息

exit、quit 退出数据库连接

show databases; 显示所有的数据库

create database data charset=utf8; 新创建一个数据库

use 数据库名; 选择要编辑的数据库,例如是data,则语句就是 use data;

select database(); 查看当前在哪个数据库下

show tables; 展示数据库下所有的表

\c 当你输入有误,想重打的时候可以试试加个 \c 取消

source 数据库文件名.sql; 导入数据库到mysql中
可以把别人事先创建好的数据库文件导入到当前电脑的mysql中
desc `表名`; 查看表结构信息

     sql    

SQL,指结构化查询语言,全称是 Structured Query Language,是一种 ANSI(American National Standards Institute 美国国家标准化组织)标准的计算机语言,可以让我们可以处理数据库。

 

SQL语句主要分为:

  • DQL:数据查询语言,用于对数据进行查询,如select

  • DML:数据操作语言,对数据进行增加、修改、删除,如insert、udpate、delete

  • DDL:数据定义语言,进行数据库、表的管理等,如create、drop

  • TPL:事务处理语言,对事务进行处理,包括begin transaction、commit、rollback

  • DCL:数据控制语言,进行授权与权限回收,如grant、revoke

  • CCL:指针控制语言,通过控制指针完成表的操作,如declare cursor

       >基本书写规则

     DQl

       >查询

查询 SELECT

select 字段1,字段2 from 表名 从指定表中查询所有数据的字段1和字段2信息

按条件查询数据

select 字段1,字段2 from 表名 WHERE 字段名 = 字段值;

1、查找学生表的姓名跟年龄
SELECT name,age FROM student;
查找课程表中的id,课程名称和教室编号
select id,course,address from course;

2、查找学生表所有的信息
SELET * FROM student;

3、为字段名设置别名,简化字段名
SELECT name AS n,age AS a FROM student;

4、使用条件查询想要的数据,查学号为14的学生姓名
SELECT name FROM student WHERE id = 14;

使用条件查询名字叫'吴杰'的学生姓名和年龄
SELECT name,age FROM student WHERE name='吴杰';

注意:应该根据你的实际需求查询所要的字段值,而不是使用 * ,使用这个效率很低。

       >按照条件查询  

       >逻辑运算符

 

    

         >范围运算符

       >比较预算符

       >in 运算符(多条件查询)

       >模糊查询

       >聚合运算

       >分组查询

       >结果查询

       >结果限制

     DML

       >添加数据(INSERT)

       >更新数据(UPDATE)

       >删除数据(DELETE)

     DDL

      

    

   作业:   

    

学生表操作:

1. 查询出班级205有多少个男生

2. 查询出名字为4个字的所有学生信息(编号、姓名,年龄,班级)

3. 查询出所有姓王的学生信息(编号、姓名,年龄,班级)

4. 查询出班级编号为201,202,203的女生总人数

5. 查询出学号整十的所有女生信息(姓名、年龄、个人简介)

6. 删除301班级中年龄在23岁以上的学生信息

7. 把一个叫'卫然'的学生的姓别改成女的

8. 把401班级中的姓名为'吴杰'的学生信息删除

9. 计算305班中所有学生的平均年龄以及他们的最大年龄和最小年龄

10. 查询401,402,403,404,405中所有学生的年龄平均值

11. 查询出所有学生中"白"的学生信息,并对他们使用年龄进行升序排列

12. 添加以下学生记录到数据表中
姓名 年龄 性别 班级 个性签名
张三丰 22 1 301 我是武当老板
张翠山 21 1 302 我是武当老板的五弟子
张无忌 20 1 302 明教老板

13. 查询年龄在18-20之间的姓李的女生

14. 查询年龄在18-20之间的所有女生,并按照编号进行降序排序

15. 查询出301,302,303,304,305,306中每个班级总人数。

成绩表操作

16. 查询出学号为9的学生的总成绩

17. 查询出课程编号为4的课程平均成绩

18. 查询出学号为6的学生的所有成绩,并显示对应的课程编号。

19. 查询出课程编号为20的课程成绩,并进行分数的降序排列,显示10个成绩即可。

20. 查询出学号为1,2,3,4,5,6这几个学员的平均成绩。

21. 查询出证成绩表中每个学科的平均成绩。

    

猜你喜欢

转载自www.cnblogs.com/baili-luoyun/p/10491710.html
今日推荐