zoukankan      html  css  js  c++  java
  • 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班级中的姓名为'吴杰'的学生信息删除

     -- DELETE FROM student where name ="吴杰 and class =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. 查询出证成绩表中每个学科的平均成绩。

     

        

    年与时驰,意与日去,遂成枯落, 多不接世,悲守穷庐,将复何及。
  • 相关阅读:
    UOJ#48最大矩形面积
    webbench压力测试工具
    编写NPAPI plugin的命名问题
    搜狗浏览器查看合法插件的方法
    结构型模式之 享元模式
    结构型模式之 外观模式
    结构型模式之 装饰模式
    结构型模式之 桥接模式
    结构型模式之 适配器模式
    Codeforces Round #102 (Div. 2) 题解
  • 原文地址:https://www.cnblogs.com/baili-luoyun/p/10491710.html
Copyright © 2011-2022 走看看